Source on GitHub
Testing and Issues
You can test this app and submit issues during the testing period of the Android Contest 2021 contest.
Entries with serious issues will not be able to win the contest, but even minor issues might be important for overall results.
1. “In reply to” preview isn't updated when the message is edited
2. mobile notifications when active on desktop
3. Not possible to copy part of text with keyboard open
4. Visual issue when opening profiles
6. Self-Destruct timer freezes in Secret Chats, Photos don’t disappear
7. Chat does not get removed from folder's exceptions list after leaving or deleting the chat
8. Voice Messages become jerky when an Animated Emoji with sound is pressed
10. 'Undo' is missing when deleting multiple chats
11. Remove option should not be visible on Voice Chats without ban permission
12. pop-up notification error with 2 dialogs or more
14. Not possible to search member's messages without Send Message permission
15. Visual issue with polls
16. Not possible to answer or decline a call with TalkBack
18. Reply preview not automatically deleted
19. "Delete" option should not be visible on "invited to voice chats" service messages if you are not admin
20. Pencil icon is visible for files
22. Remove the Manage Voice Chats permission shows "+ Manage voice chats" in recent actions
commit:[same as above] https://github.com/DrKLO/Telegram/commit/e9156e1c5fb05802756214bbb677180753b6c982
23. "Message doesn't exist" error is shown when pressing the link of a message outside the current thread
24. Incorrect order for tracks across several playlists
26. "Delete" option should not be visible on "added you" service messages if you are not admin
27. "Permissions" option is missing for an admin of a basic group
28. Possible to share files with blocked users
30. Profile photo's counter is replaced with a non-functional search icon after removing one if there are exactly 21 profile pictures when you're in expanded view
31. Message composer displays external text formatting but does not send it
32. Greeting sticker can be sent to a user whom you blocked
34. Setting group type to public without setting a link does not show an error
35. Unpinned/Deleted/Left chats stay in folders, and take up space to the 100 limit 📁
commit:[same as #7] https://github.com/DrKLO/Telegram/commit/cdb0db3469c1904aa2bd99cf7b21941837191153
Also I fixed an issue that had a big impact on users with a slow connection specially when VPNs are involved: When auto download is stopped after user has pressed the cancel on the loading, as soon as a scroll happens, the download resumes.
The strategy I used is to find out the condition that the server considers current user as online but they have not been active on the app recently enough to be considered online on the app. So this will tell me that the user is active on some other client and so the notifications are silenced to prevent annoying the user. To do this I realized that the max value for `user.status.expires` returned by the server is equal to 1200 seconds. So I took it and used it as a **constant** for in-app online recognition. The final result is that if the user has not opened the app in the past 15 minutes AND they are online on some other client, their notifications are silenced.
Live location tracking now is active when the user taps on a live location pin and it has a blinker animation somewhat similar to the iOS app. By moving the map or clicking on other pins, auto tracking turns off or if another live location pin is tapped, the new one will be followed.
Correct fixes: 22
An overall large amount of fixes were implemented. However, a third of them cannot be considered valid due to implementation issues:
#1: "In reply to" preview isn't updated when the message is edited." The chosen approach when the app consequently performs the check of all the messages is non-optimal.
#2: "Notifications receiveng when using a Desktop app simultaneously" – the fix won't work for cases when FCM notifications are used.
#3: "Not possible to copy part of text with the keyboard open" – the interface covers the chat screen while interacting with the text.
#6: "Self-Destruct timer freezes in Secret Chats, Photos don't disappear." – Extending the timer value cannot be considered as a correct solution.
#8: "Voice Messages become jerky when an Animated Emoji with sound is pressed" – this is an ExoPlayer bug and should be fixed on their side.
#9: "The group name should not be in the mention list." – the implemented solution breaks the existing feature of searching anonymous admins' messages in groups.
#12: "Pop-up notification error with several different chats." – A delay of 100ms cannot be considered as a good solution.
#13: "Not possible to see replies of an album if you open the context menu from the right side." – The app hides the button after opening the context menu for the first time.
#14: "Not possible to search members' messages without the Send Message permission." – If a user gets blocked in the group, he may see the mention list above the faded input field.
#17: "Voice chats filter in recent actions of channels should not be visible." – The implemented solution could break the layout or cause the app crash.
#18: "Reply preview not getting deleted automatically." – The chosen approach when the app consequently performs the check of all the messages is non-optimal.
#23: "Message doesn't exist" error is shown when pressing the link of a message outside the current thread." – The proper approach would be to perform a check if those messages exist in the current thread.
#26: "Delete" option should not be visible on "added you" service messages if you are not admin." – Nobody can delete service messages in basic groups now.
#33: "Search Filters with most chats archived." This is the intended behavior that cannot be considered to be a bug.