Redesign social conversations and shared music
ci / api / api (push) Successful in 19m12s
ci / ts / ts (packages + web) (push) Successful in 2m44s
ci / module boundaries / boundaries (push) Successful in 18m23s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 59s
ci / db / db (push) Failing after 18s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m18s
ci / api / api (push) Successful in 19m12s
ci / ts / ts (packages + web) (push) Successful in 2m44s
ci / module boundaries / boundaries (push) Successful in 18m23s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 59s
ci / db / db (push) Failing after 18s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m18s
This commit is contained in:
1 parent
11a16cd023
commit
1a693848f2
23 files changed
+1145
-579
No files matched your search
+19
-2
@@ -88,11 +88,28 @@ React Query; Android останавливает polling при уходе при
|
||||
|
||||
## Чат
|
||||
|
||||
Web и desktop используют выдвижную панель справа снизу, Android — общую нижнюю панель.
|
||||
Web и desktop используют встроенный экран: список диалогов слева, переписка справа.
|
||||
На узком экране список и переписка открываются последовательно; кнопка назад возвращает
|
||||
к списку, а поле ввода остаётся над плеером. Android использует общую нижнюю панель.
|
||||
Поддерживаются текст и музыка, ответы с цитатой, шесть реакций, редактирование своих
|
||||
сообщений, удаление для всех, поиск по тексту, история, даты, прочтение и индикатор набора.
|
||||
Удаление очищает исходный текст и музыкальное вложение. Черновики разделены по серверу,
|
||||
пользователю и собеседнику. Скрытая панель не отмечает переписку прочитанной.
|
||||
пользователю и собеседнику. Скрытая переписка не отмечает сообщения прочитанными.
|
||||
Просмотр истории выше последних сообщений не вызывает принудительную прокрутку вниз.
|
||||
Поиск открывается по кнопке. Длинные сообщения можно развернуть, HTTP(S)-ссылки
|
||||
отображаются компактно без декодирования произвольного текста.
|
||||
|
||||
Список диалогов отсортирован по последнему сообщению; сервер отдаёт короткое превью
|
||||
только для текущих друзей, с повторной проверкой блокировок. Удалённый текст очищен.
|
||||
Вкладки «Друзья» и «Заявки» отделены от сообщений; приватность и настройки совместного
|
||||
прослушивания открываются из компактного индикатора статуса. Удаление друга и блокировка
|
||||
доступны через меню и требуют подтверждения.
|
||||
|
||||
Треки и плейлисты отображаются карточками с названием, обложкой и воспроизведением.
|
||||
«Музыка из переписки» использует `getDirectMessages?music=true` с обычным `before`:
|
||||
доступна вся история вложений, удалённые сообщения исключены, прочтение не подтверждается.
|
||||
Недоступные треки и отозванные ссылки не запускаются; метаданные берутся из каталога
|
||||
и публичной проекции плейлиста, а не из текста сообщения.
|
||||
Анимации учитывают системное уменьшение движения. Фото, файлы и голосовые не входят в версию.
|
||||
|
||||
Миграции `00020`–`00022` добавляют активность, комнаты и возможности чата.
|
||||
|
||||
Reference in new issue
Block a user