Info

Open Website
WARNING! Clicking "Open Website" will launch a third-party app, use at your own risk. We do not recommend logging in with your main account.

Testing and Issues

You can test this app and submit issues during the testing period of the JavaScript Contest, Stage 3 contest.

Entries with serious issues will not be able to win the contest, but even minor issues might be important for overall results.

Voting

21

Comments

First of all, thanks to Telegram for a such great contest.
Between Stage 2 and Stage 3 were fixed all of imperfections.
My work was focused on full design-matching and user experience, creating application that can be used by myself, because in my opinion, this is the most important thing.
The work had been performed from first to third stages solo, without any additional assistance.
Here is a list of features that I've implemented:

1. Chat
1.1. Opening chats were fully refactored for excellent performance;
1.2. Albums layout algorithm is used from TDesktop's sources;
1.3. All colored animated emoji support;
1.4. Forwarding message that was mentioned in Stage 2;
1.5. History is now slicing for better performance;
1.6. History, that is not in viewport are hiding now for smooth open third column;
1.7. Mobile inner chat search with results list, like on Android's version;
1.8. Jump to date by clicking on date bubble;
1.9. Grouping messages by sender and 2-minute interval;
2. Stickers
2.1. Switched from slow lottie-web to rlottie (thanks to Preston's fork) compiled in Emscripten;
2.2. Fixed memory leak in Safari due to Transferable Objects (https://bugs.webkit.org/show_bug.cgi?id=204515);
2.3. Using 4 worker threads for better performance;
2.4. Different render and caching algorithms for several platforms (Apple's devices, mobiles and PC);
2.5. Caching rendered frames in memory for less CPU usage;
2.6. In Safari, static stickers are decoded and saving into memory;
2.7. Sticker panel is updating when set is added/removed, sent sticker;
All of that were required for enable smooth animated stickers everywhere, except of Stickers panel because of lack of time.
3. Voice messages
3.1. Recording and playback support in all browsers;
3.2. Generating waveform on opus side like Android's application does;
3.3. Displaying waveform like TDestkop does;

4. Audio
4.1. Implemented audio controller that controls playback on whole page;
4.2. Jumping by audio's message;
4.3. Next audio (by type) will be turned on after the end;

5. Folders and Archive
Only reordering were not implemented, pinned reorder updates are handled correctly
6. Polls
6.1. Polls of all types with beautiful animation from mockup;
6.2. Poll results;
6.3. Quiz explanations and timers;
6.4. Poll creation (only anonymous);

7. Left column
7.1. Global search;
7.2. Recent search;
7.3. Top peers;
7.4. Creating groups and channels;
7.5. Editing profile;
7.6. Contacts;
7.7. Chat context menu;
7.8. Slider animation from mockup;
8. Miscellaneous
8.1. QR-code login flow;
8.2. Switched from IndexedDB to CacheStorage due to Safari's WebKit bug;
8.3. Moved MTProto to worker for better performance;
8.4. Media viewer now opens with media aspect ratio;
8.5. Tails are now implemented, with media viewer works too;

9. Known issues
9.1. Media viewer opens with a big player in first time;
9.2. No audio streaming;
9.3. Animated emoji stickers appears with border;
You have not added any comments yet...
by rating

Issues

Fair Quokka Aug 18, 2020 at 06:27
Transferred size on startup: 308KB
Transferred size after logging in: 344KB

A nice, fast and smooth app. Unfortunately, the app has several critical issues which prevented the app from taking the first place, despite the fact that all the tasks were implemented well. The following issues have been identified during testing: 

1. Critical issues:
– 2FA is still broken;
– The context menu doesn't work in Archived Chats on iOS (Safari).

2. Medium to minor issues:
– Country selector, phone number field, code input field and 2FA input field are unavailable in landscape on Android (Chrome), the scroll doesn’t work;
– Drop down country selector is always extended upwards;
– Missing 2FA hint;
– Monkey is blurred on Android (Chrome);
– Album orientation: not possible to send photos on iOS (Safari);
– Album bubbles are distorted when browsing certain channels;
– Not possible to join groups and channels;
– Layout issue when opening media from Shared Media in landscape and switching back to portrait;
– GIFs panel is slow;
– Voice messages sending is laggy on iOS (Safari);
– GIFs search is missing.
– Links don’t work in gallery view;
– Changing scale with pinch-to-zoom causes a layout issue when the chat in the bottom of the screen is always cut off.

3. Task II issues:
– Explanations are not shown when a wrong answer is selected in a quiz;
– App needs more work in landscape view, the current 3-column mode is not convenient, especially when browsing profiles / Folders settings;
– Video and audio can be streamed simultaneously;
– Video streaming is laggy on iOS (Safari);
– Missing arrows and swipe navigation in Gallery;
– Not possible to download a song if you cancelled downloading earlier;
– Issues with opening folders on iOS (Safari);
– When searching by date, the app doesn't show the very first messages of the chat;
– Missing volume controls in video player.
Samsung Galaxy S9 (Android 10); iPhone XS (iOS 13.6); macOS 10.15.5; Chrome 84.0.4147 / Safari 13.1.2.
20
Ace Monkey Aug 18, 2020 at 07:21
Thank you for reply!
1.1. I'm disappointed of broken 2FA, just didn't know about it by all the stages, no one of judges hasn't issued that, for my account it is possible to login :(
1.2. I've forgot to add a few lines for it, I'm sorry that it came to critical

I'm confused about the GIFs search, I can't find the mockup for it
Fair Quokka Aug 24, 2020 at 15:44
– Album bubbles are distorted when browsing certain channels:

The issue can be reproduced in https://t.me/joinchat/AAAAAEq6Z3_5VfcEEQCEwA on Android (Chrome).

– Issues with opening folders on iOS (Safari):

The app fails to open a specific folder after logging into the account and switching between random folders.
20
The password is correct. Can't login.
PC/Chrome 83.0.4103.106 64 bits/GNU/Linux Fedora 32
Ace Monkey Jun 21, 2020 at 23:38
Deleted reply, can't attach video directly: http://f.shotnes.com/u/3091/0621/videostream29925.mp4

Thank you for report.
That's sick, still can't be reproduced by me:(
In the "Enter a password" page , when your are login in the app. If your press the hide/unhide buttton you lost the focus of the textbox.
FIREFOX 77.0.1 (64-bit) - WINDOWS 10
Ace Monkey Jun 24, 2020 at 06:53
Thank you for replies!
Didn't notice this
The creation of a new voice note doesnt work. I push the button but nothing happen. I check if my browser is blocking it but it's OK, it doesn't request audio permissions.
FIREFOX 77.0.1 (64-bit) - WINDOWS 10
Ace Monkey Jun 24, 2020 at 06:55
Please check your sound inputs, or make a screenshot with console output, it should work on all devices
There is no logout option or I cant see it :-(
FIREFOX 77.0.1 (64-bit) - WINDOWS 10
Ace Monkey Jun 24, 2020 at 06:57
You can see it here:
When I close the session from my phone, the session in the browser is
still open but without data. It doesn't redirect me to the login page.
FIREFOX 77.0.1 (64-bit) - WINDOWS 10
Ace Monkey Jun 24, 2020 at 06:59
What do you mean by close the session? Application doesn't support one-time session for now
Sorry I can´t answer you in the previous items so I'm gonna do all in this one.
1º About the " voice note" issue, I´m just stupid. I was trying with my PC witch doesn´t have microphone...
2º About the logout button, thanks, I was looking for it in the settings option (where is regularily)
3º About the session without data, I´m gonna explain better.
- I´m loggin with my number on my phone (official app) and on the browser in yours.
- On my phone >> Settings >> Devices >> Terminate All Other Sessions (all except for this one)
- On your application: you do not have access to chat, contacts ... but it does not redirect me to the login page, even though the session is closed.
Ace Monkey Jun 24, 2020 at 07:37
Oh, try to reload the page, that's a little overlook, because unregister handled by worker and he cannot use redirect
D
Deleted Account Jun 24, 2020 at 21:52
video streaming does not always work the first time
about video UI / audio streaming and emoji/stickers border you know.
if in the chat you click the play icon clearly on the video, the video does not open. that is, you can click anywhere except the icon. (recorded a video)
sometimes the unread message plate opens a little higher on the screen
in the emoji panel, some gifs for some reason do not turn on, a black background remains. when sent to chat, they work.
in the chat, if the gif is large, it’s better not to download it automatically, because it creates a queue for downloading content
Chrome 83.0.4103.106, Win10 64bit, res 2560x1440
Ace Monkey Jun 25, 2020 at 22:30
Thank you for report!
1 and 5. Sometimes it happens because of streaming on various videos, had no time to complete it:(
3. Bug
4. Bug
6. That could be an improvement
D
Deleted Account Jun 24, 2020 at 21:52
the application is well optimized, runs smoothly. memory on average 250-400 mb. sometimes it is possible to raise to 600-700 if you open about 50-60 stickers with animation on the screen, the memory is cleared when the stickers disappeared from the screen. (recorded a video)
+animations are beautiful and correspond to the mockups throughout the application, animations also support media tails, nice viewer algorithm in the right sidebar
a small part of cool things is visible on the video in the channel.
quality of implementation is impressive, I’ll check all the other devices soon

https://t.me/monkey1417 - videos/screens here
Chrome 83.0.4103.106, Win10 64bit, res 2560x1440
Oleg Illarionov Jul 23, 2020 at 11:59
no history api support
Xiaomi mi9t, default browser (same on iphone)
short messages in channel are broken
mac os chrome 84.0.4147.89
chat creation based on contacts book, so you cant inivite non-contacts users
mac os chrome 84.0.4147.89
filter does not work in folder search
mac os chrome 84.0.4147.89
archiving works incorrect
mac os chrome 84.0.4147.89
monkey is out of bounds
Google Pixel 4XL, Xiaomi Browser
keyboard is closing on each message send
Google Pixel 4XL, Xiaomi Browser
gifs are not playing
Google Pixel 4XL, Xiaomi Browser
not working on mobile safari, all ok with connection on my device
Iphone 8 , 11.4.1, safari
Nobody added any issues yet...