Info
Source on GitHub
Testing and Issues
You can test this app and submit issues during the testing period of the November 2021 Android Contest 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
Выполнено все 3 задания
Обратить внимание:
1. Если во время просмотра сообщений в превью календаря - юзер получит сообщение, то оно не будет удалено(при удалении из превью), так как считается что оно еще не было прочитано. Также не будут удалены сообщения пришедшие после открытия календаря(но если превью не было открыто). Сохранена логика плавающих дат - первое нажатие скролит чат к первому сообщению в этот день, второе открывает календарь.
Обратить внимание:
1. Если во время просмотра сообщений в превью календаря - юзер получит сообщение, то оно не будет удалено(при удалении из превью), так как считается что оно еще не было прочитано. Также не будут удалены сообщения пришедшие после открытия календаря(но если превью не было открыто). Сохранена логика плавающих дат - первое нажатие скролит чат к первому сообщению в этот день, второе открывает календарь.
2. При открытие селектора скрывается кнопка “прокрутки к последнему” сообщению, также продуман показ в альбомном режиме с открытой клавиатурой(селектор не скрывается под меню выбора). Также встроена подсказка над селектором, которая имеет ту же логику что и другие подсказки.
3. Запрещенная пересылка, запрет на скрин и тд обновляются без перезагрузки чата.
3. Запрещенная пересылка, запрет на скрин и тд обновляются без перезагрузки чата.
Замечания:
1. В меню переключения группы private-public баг, как серверный(иногда нет ответа), так и клиентский(не ждет ответа от сервера и меняет данные) - Я исправил клиент, чтобы он дожидался ответа или показывал ошибку, если ожидание превышено, и устранил рассинхрон данных..
2. Также отпадает функционал revoke при достигнутом лимите публичных групп, ссылка просто не отзывается.
1. В меню переключения группы private-public баг, как серверный(иногда нет ответа), так и клиентский(не ждет ответа от сервера и меняет данные) - Я исправил клиент, чтобы он дожидался ответа или показывал ошибку, если ожидание превышено, и устранил рассинхрон данных..
2. Также отпадает функционал revoke при достигнутом лимите публичных групп, ссылка просто не отзывается.
3. Переключение private-public уведомляет другие клиенты только в первый раз, больше от сервера никаких оповещений(тут возможно я ошибаюсь).
4. Баг с календарем, изображения не всегда отображается в нужный день. Я пробовал исправить, но это тоже сервер.
По вышеперечисленным причинам(которые присутствуют в текущей релизной версии) не удалось добиться нормального апдейта интерфейса при переключении типа группы/канала
4. Баг с календарем, изображения не всегда отображается в нужный день. Я пробовал исправить, но это тоже сервер.
По вышеперечисленным причинам(которые присутствуют в текущей релизной версии) не удалось добиться нормального апдейта интерфейса при переключении типа группы/канала
You have not added any comments yet...
by rating
Issues
Выполнено задач: 3/3
В ходе тестирования приложения были выявлены недоработки, включая падения приложения, количество которых помешало продвижению работы на более высокое призовое место.
1. Запрет на пересылку и сохранение медиафайлов:
1.1 Пользователь может обойти запрет на пересылку и копирование в следующих ситуациях:
– В музыкальном плеере отображаются функциональные кнопки Share/Save to music – позволяющие поделиться или сохранить файл.
– Приложение отрисовывает активную кнопку Share при переходе между несколькими видео в просмотрщике, позволяя поделиться файлом.
1.2 Пользователь может обойти запрет на скриншоты через переход в раздел закрепленных или запланированных сообщений с последующим возвращением на экран чата.
1.3 Пользователь может пересылать посты из каналов по нажатию на кнопку Forward рядом с каждым из них. При этом открывается интерфейс с возможностью выбрать сущность и отправить пересланное сообщение (ограничение будет обработано сервером).
1.4 Расстояние между плашкой с подсказкой об активном запрете на пересылку сообщений и контекстным меню не соответствует предоставленному дизайну.
1.5 Описание пункта Group / Channel Type может не меняется при включении запрета на пересылку сообщений.
1.6 Приложение отображает подсказку о запрете на пересылку для сервисных сообщений (Alex added you to this group и так далее).
1.7 Подсказка о запрете на пересылку сообщений отображается в разделе запланированных сообщений.
1.8 Кнопка ⋮ всё ещё выводится в просмотрщике GIF.
В ходе тестирования приложения были выявлены недоработки, включая падения приложения, количество которых помешало продвижению работы на более высокое призовое место.
1. Запрет на пересылку и сохранение медиафайлов:
1.1 Пользователь может обойти запрет на пересылку и копирование в следующих ситуациях:
– В музыкальном плеере отображаются функциональные кнопки Share/Save to music – позволяющие поделиться или сохранить файл.
– Приложение отрисовывает активную кнопку Share при переходе между несколькими видео в просмотрщике, позволяя поделиться файлом.
1.2 Пользователь может обойти запрет на скриншоты через переход в раздел закрепленных или запланированных сообщений с последующим возвращением на экран чата.
1.3 Пользователь может пересылать посты из каналов по нажатию на кнопку Forward рядом с каждым из них. При этом открывается интерфейс с возможностью выбрать сущность и отправить пересланное сообщение (ограничение будет обработано сервером).
1.4 Расстояние между плашкой с подсказкой об активном запрете на пересылку сообщений и контекстным меню не соответствует предоставленному дизайну.
1.5 Описание пункта Group / Channel Type может не меняется при включении запрета на пересылку сообщений.
1.6 Приложение отображает подсказку о запрете на пересылку для сервисных сообщений (Alex added you to this group и так далее).
1.7 Подсказка о запрете на пересылку сообщений отображается в разделе запланированных сообщений.
1.8 Кнопка ⋮ всё ещё выводится в просмотрщике GIF.
Samsung Galaxy A51 (Android 11); Xiaomi Redmi Note 8 Pro (Android 10); Samsung Galaxy S10 (Android 11).
2. Отправка сообщений от имени канала в публичных группах:
2.1 Размер окна выбора публичного канала не соответствует дизайну предоставленных макетов.
2.2 Приложение не оптимизировано для выбора сущности из списка каналов в альбомной ориентации.
2.3 Цвет автора в отправленном сообщении от имени канала некорректен.
2.4 Приложение может вылететь при развернутом слое со списком публичных каналов, если в этот момент у пользователя отзываются права администратора в открытой группе.
2.5 Приложение отображает некорректную иконку при отправке сообщений от своего имени.
2.6 Отметим начатую работу над анимацией списка каналов. Однако при выборе канала не хватает эффекта Ripple, а анимация сворачивания списка может проигрываться быстрее.
3. Удаление сообщений в выбранном диапазоне:
3.1 Кнопки Select Days и Clear History не соответствует дизайну предоставленных макетов.
3.2 В предпросмотре дня смаргивает счетчик сообщений.
3.3 В предпросмотре дня сообщения появляются со смаргиванием.
2.1 Размер окна выбора публичного канала не соответствует дизайну предоставленных макетов.
2.2 Приложение не оптимизировано для выбора сущности из списка каналов в альбомной ориентации.
2.3 Цвет автора в отправленном сообщении от имени канала некорректен.
2.4 Приложение может вылететь при развернутом слое со списком публичных каналов, если в этот момент у пользователя отзываются права администратора в открытой группе.
2.5 Приложение отображает некорректную иконку при отправке сообщений от своего имени.
2.6 Отметим начатую работу над анимацией списка каналов. Однако при выборе канала не хватает эффекта Ripple, а анимация сворачивания списка может проигрываться быстрее.
3. Удаление сообщений в выбранном диапазоне:
3.1 Кнопки Select Days и Clear History не соответствует дизайну предоставленных макетов.
3.2 В предпросмотре дня смаргивает счетчик сообщений.
3.3 В предпросмотре дня сообщения появляются со смаргиванием.
Samsung Galaxy A51 (Android 11); Xiaomi Redmi Note 8 Pro (Android 10); Samsung Galaxy S10 (Android 11).
4) Краш. Воспроизводится стабильно. Открываем приложение без интернета. Заходим в чат где есть возможность отправить сообщение от канала. Кликаем на иконку в левом нижнем углу. Крутится троббер. Отменяем запрос на сервер. Кликакем еще раз эту иконку(почему-то она с крестиком уже) и будет краш.
Samsung A51/Android 11
3) Если в чате нажать на системное сообщение. Например "Anton Stafeev created this group" То я увижу надпись в попапе "Forwards from this group are restricted". Не очень понимаю смысла писать эту надпись там, ведь там никогда не было кнопок связанных с форвардингом/копированием.
Samsung A51/Android 11
5) Канал у которого запрещен форвардинг. У него рядом с каждым сообщением есть кнопочка "поделиться". Ее быть не должно.
6) Также если открыть гиф в канале где запрещен форвардинг гостевым юзером, то в правом верхнем углу будут три точки. По нажатию на них ничего не происходит. Тут нужно было убрать эти три точки.
6) Также если открыть гиф в канале где запрещен форвардинг гостевым юзером, то в правом верхнем углу будут три точки. По нажатию на них ничего не происходит. Тут нужно было убрать эти три точки.
Samsung A51/Android 11
8) Вытеснение активности и последующее восстановление. Не корректно отображается ui. Смотри на тулбар и кнопку внизу.
Samsung A51/Android 11
Про пункт 8 проще всего этот баг воспроизвести включив настройку в разделе для разработчиков "вытеснение активности"(что я и сделал) или просто свернуть приложение телеграмма и открыть например тяжелую игру и потом вернуться обратно в телеграм.
Samsung A51/Android 11
Уточнение по пункту 8. Совершенно верно именно ОС андроид решает что делать когда не хватает памяти. Варианты:
1) Убить только активность
2) Убить полностью приложение(то что говоришь ты)
Алгоритм выбора того что сделать у каждого производителя оболочки свой.
Но оба этих сценария ты стопроцентов можешь воспроизвести через настройки для разработчика.
Для первого это "Вытеснение Фоновых Activity"
Для второго это Лимит фоновых процессов
1) Убить только активность
2) Убить полностью приложение(то что говоришь ты)
Алгоритм выбора того что сделать у каждого производителя оболочки свой.
Но оба этих сценария ты стопроцентов можешь воспроизвести через настройки для разработчика.
Для первого это "Вытеснение Фоновых Activity"
Для второго это Лимит фоновых процессов
Samsung A51/Android 11
В превью при промотке, видимо, каждый раз происходит подгрузка из сети, даже для свежего чата. Быстрее и экономнее проверить кэш
SGS S9
Удаляются не все сообщения, а только часть первых. По документации нужно повторять вызовы до определенного момента
SGS S9
"В кеш может быть не все. Подгруздка согласно предложенному в группе методу getHistory"
Организаторы предложили в случае отсутствия сообщений в кэше начать уже подгрузку из сети
Организаторы предложили в случае отсутствия сообщений в кэше начать уже подгрузку из сети
SGS S9
Анимация выбора отправителя интересная, но поломанная.
1 После выбора нового отправителя, крестик пропадает, а под ним видно старого, хотя крест намекает, что старого уже нет
2 лендскейп ломает анимацию
3 попап после возврата в портрет ломает анимацию
1 После выбора нового отправителя, крестик пропадает, а под ним видно старого, хотя крест намекает, что старого уже нет
2 лендскейп ломает анимацию
3 попап после возврата в портрет ломает анимацию
SGS S9
Nobody added any issues yet...