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 1 contest.

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

Voting

36

Comments

Sacred Parrot Nov 18, 2019 at 19:16
I have implemented a super lightweight MTProto library in JS. It's optimized for the web and the MTProto part itself is ~150KB minified and less than 50KB gzipped. My code converts tl schema to typescript definitions which makes it super easy to develop apps and all serialization/deserialization is done in runtime based on an array generated from the schema.

Features:
- Full implementation of the monkey animation
- Full implementation of sign in/sign up flow (except for uploading profile pic)
- Listing recent dialogs
- Viewing chat history by clicking on a dialog
- Infinite loading of a chat history
- Downloading photos within chat
- Showing cached photo of stickers if available
- Sending messages
Chrome / Mac OS X
You have not added any comments yet...
by rating

Issues

Fair Quokka Jan 10 at 01:48
The speed of the app you submitted is slightly above average thanks to custom MTProto implementation and websockets. The size is the app's advantage as well. However, the monkey animations are sloppy. The contest task is not completed, since the signup flow is not implemented (missing the last stage). We faced with 'ERR_SOCKS_CONNECTION_FAILED' error during login, also the app doesn't work in Safari.

The design of the app does not fully comply with the guidelines provided in the competition.

The following deficiencies were identified during the testing:

Login screen:
– Missing phone number formatting;
– Search issues (not possible to find Koreas by 'Korea', Germany by 'man', etc.);
– Missing 'Keep me signed in';
– 'Next' button appears instantly once a single symbol is entered;
– Missing phone number editing during the login flow;

Chats screen:
– Sloppy on rendering profile pictures;
– Missing buttons in chats' headers;
– Missing profile pictures in groups;
– 'Channel' type for supegroups.
Google Chrome 78.0.3904, macOS 10.15.2
20
Sacred Parrot Jan 10 at 08:12
Thank you so much for the feedback.

About your point on Safari support, I actually did bring that up in the tg group but got no answer. I could easily fix that by including a polyfill for bigint.

I indeed spent a lot of time to avoid using tdweb to save on bundle size since to me, it sounded like it is the main objective. I agree with your points and don't want to make up an excuse but when I finished MTProto, I only had two days left for the UI which wasn't enough for getting so many things right and precise single-handedly. 😅
Agile Lizard Nov 18, 2019 at 18:52
Infinite spinner, nothing happens.
Chrome
Sacred Parrot Nov 18, 2019 at 18:55
It waits for the handshake on the first run. I should have probably made it show the login page anyways and do the handshake in the background. If you wait a few seconds it should finish the handshake.
Illia Lukisha Nov 18, 2019 at 18:55
Infinite spinner
iPhone XS / iOS 13.2 / Safari
Sacred Parrot Nov 18, 2019 at 18:57
Safari does not support bigint yet and bigint is required. I could have included jsbi (the polyfill for bigint). I asked if I should include polyfills and browser support on the contest group with no answer. So I decided not to include polyfills. If you try on chrome it should work.
Agile Lizard Nov 18, 2019 at 18:57
I wait several minutes, really. And nothing.
Chrome
Karim Karimov Nov 18, 2019 at 18:57
Couldn't get verification code to my phone number
Macbook Pro 15, macOS 10.15.1, Chrome
Sacred Parrot Nov 18, 2019 at 19:10
Did you see any errors on the screen? It won't redirect you to the "enter code" page unless it get back sentCode response from telegram. There must have been a glitch or something. Can you please try again?
Иннокентий Бест Nov 18, 2019 at 18:59
Why do I need a spinner?
Opera 64
Иннокентий Бест Nov 18, 2019 at 19:03
Where are the flags?
Opera 64
Sacred Parrot Nov 18, 2019 at 19:07
I used emojis for the flags. What OS are you using? Do you have emoji glyphs?
Иннокентий Бест Nov 18, 2019 at 19:19
Sacred Parrot, Emoji is cool but it should display on any device
Opera 64 / Windows 7 Proffesional
макc (девочка-волшебница) Nov 18, 2019 at 19:25
persistent ripple on menu button; cant send messages
Sacred Parrot Nov 18, 2019 at 19:27
Haven't implemented the menu button. Sending msg should work though
Nobody added any issues yet...