Info
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
Comments
-- Please note: --
In case you get Code Expired error or images are not loading on the first page opening, just reload the page once and try again — this is a stupid last-minute bug, sorry :-)
Have a look at the fixed version at https://tgweb.ru/ (no other modifications there)
In case you get Code Expired error or images are not loading on the first page opening, just reload the page once and try again — this is a stupid last-minute bug, sorry :-)
Have a look at the fixed version at https://tgweb.ru/ (no other modifications there)
Features (1):
- Implemented MTProto from scratch (no tdlib/webogram/other implementations)
- layer 105 supported
- websockets & longpolling transport supported
- resistant again network problems, packet losses, timeouts and offline periods with automatic reconnecting/resending
- 2FA support
- TL-to-JS code generator for API bindings
- little to no external dependencies: sha1, sha256, AES implementations (using webcrypto when possible)
- Implemented MTProto from scratch (no tdlib/webogram/other implementations)
- layer 105 supported
- websockets & longpolling transport supported
- resistant again network problems, packet losses, timeouts and offline periods with automatic reconnecting/resending
- 2FA support
- TL-to-JS code generator for API bindings
- little to no external dependencies: sha1, sha256, AES implementations (using webcrypto when possible)
Features (2):
- Implemented UI from scratch with multiple optimizations
- No UI frameworks used
- own rendering system optimized for performance
- minimum critical code size for fast page load (37KB packed & gzipped; full app with code and assets = 239KB packed & gzipped)
- large lists virtualization in selected components (phone country selector, dialogs list)
- API negotiation and encryption/decryption running in a separate webworker to minimize UI lags
- using indexeddb to cache photos, avatars, stickers etc
- pixel-perfect design matching layout
- Implemented UI from scratch with multiple optimizations
- No UI frameworks used
- own rendering system optimized for performance
- minimum critical code size for fast page load (37KB packed & gzipped; full app with code and assets = 239KB packed & gzipped)
- large lists virtualization in selected components (phone country selector, dialogs list)
- API negotiation and encryption/decryption running in a separate webworker to minimize UI lags
- using indexeddb to cache photos, avatars, stickers etc
- pixel-perfect design matching layout
Features (3):
basic functionality supported:
- message list with major attachments supported:
- replies
- photos
- stickers
- video previews
- web page snippets
- pinned messages
- emojis
- dialogs list with optimized infinite scroll: looks like a list with true height, although it really renders only small part of it
- login with 2fa
- sign up (photo uploading not supported)
- small UI tweaks (grouping messages from one author within a short time interval)
- nice monkey animation on login page
basic functionality supported:
- message list with major attachments supported:
- replies
- photos
- stickers
- video previews
- web page snippets
- pinned messages
- emojis
- dialogs list with optimized infinite scroll: looks like a list with true height, although it really renders only small part of it
- login with 2fa
- sign up (photo uploading not supported)
- small UI tweaks (grouping messages from one author within a short time interval)
- nice monkey animation on login page
You have not added any comments yet...
by rating
Issues
Хорошо оптимизированная работа с собственной реализацией MTProto. Собственная имплементация и применение вебсокетов увеличили производительность работы приложения. Transferred size: 298KB. Приложение практически полностью соответствует дизайну предоставленных макетов, конкурсное задание выполнено практически до конца: поддержана регистрация (но без возможности редактировать фотографию), вход в аккаунты с двухэтапной авторизацией, просмотр чатов.
Из внеконкурсных фич отметим поддержку многих типов медиа, редактирование номера телефона, фильтры в полях ввода, прогрессы загрузки, бейджи непрочитанных, иконки беззвучных чатов и онлайн-индикаторы.
Некоторые недочёты работы, выявленные в процессе тестирования:
— анимации мартышки некорректные: ввод первой цифры кода запускает воспроизведение анимации целиком; на экране 2ФА смена видимости пароля приводит к рывкам в анимации.
— в приложении нет автоматического определения страны по префиксу и IP, входа в аккаунт без выбора страны, форматирования номера телефона.
— некоторые детали экранов чатов не соответствуют дизайну: например, отсутствует поля ввода сообщения, иконки в шапке открытого чата.
В приложении есть проблема с кодами для входа и загрузкой изображений (https://contest.com/javascript-web/entry1123#issue9349).
Из внеконкурсных фич отметим поддержку многих типов медиа, редактирование номера телефона, фильтры в полях ввода, прогрессы загрузки, бейджи непрочитанных, иконки беззвучных чатов и онлайн-индикаторы.
Некоторые недочёты работы, выявленные в процессе тестирования:
— анимации мартышки некорректные: ввод первой цифры кода запускает воспроизведение анимации целиком; на экране 2ФА смена видимости пароля приводит к рывкам в анимации.
— в приложении нет автоматического определения страны по префиксу и IP, входа в аккаунт без выбора страны, форматирования номера телефона.
— некоторые детали экранов чатов не соответствуют дизайну: например, отсутствует поля ввода сообщения, иконки в шапке открытого чата.
В приложении есть проблема с кодами для входа и загрузкой изображений (https://contest.com/javascript-web/entry1123#issue9349).
Google Chrome 78.0.3904, macOS 10.15.2
Phone number doesn't work as expected if you try to start typing with it before selecting the country.
Nobody added any issues yet...