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

This commit is contained in:
mrleo1nid committed 2026-10-23 11:27:47 +03:00
1 parent 11a16cd023
commit 1a693848f2
23 files changed
+1145 -579

No files matched your search

+19 -2
View File
@@ -88,11 +88,28 @@ React Query; Android останавливает polling при уходе при
## Чат
Web и desktop используют выдвижную панель справа снизу, Android — общую нижнюю панель.
Web и desktop используют встроенный экран: список диалогов слева, переписка справа.
На узком экране список и переписка открываются последовательно; кнопка назад возвращает
к списку, а поле ввода остаётся над плеером. Android использует общую нижнюю панель.
Поддерживаются текст и музыка, ответы с цитатой, шесть реакций, редактирование своих
сообщений, удаление для всех, поиск по тексту, история, даты, прочтение и индикатор набора.
Удаление очищает исходный текст и музыкальное вложение. Черновики разделены по серверу,
пользователю и собеседнику. Скрытая панель не отмечает переписку прочитанной.
пользователю и собеседнику. Скрытая переписка не отмечает сообщения прочитанными.
Просмотр истории выше последних сообщений не вызывает принудительную прокрутку вниз.
Поиск открывается по кнопке. Длинные сообщения можно развернуть, HTTP(S)-ссылки
отображаются компактно без декодирования произвольного текста.
Список диалогов отсортирован по последнему сообщению; сервер отдаёт короткое превью
только для текущих друзей, с повторной проверкой блокировок. Удалённый текст очищен.
Вкладки «Друзья» и «Заявки» отделены от сообщений; приватность и настройки совместного
прослушивания открываются из компактного индикатора статуса. Удаление друга и блокировка
доступны через меню и требуют подтверждения.
Треки и плейлисты отображаются карточками с названием, обложкой и воспроизведением.
«Музыка из переписки» использует `getDirectMessages?music=true` с обычным `before`:
доступна вся история вложений, удалённые сообщения исключены, прочтение не подтверждается.
Недоступные треки и отозванные ссылки не запускаются; метаданные берутся из каталога
и публичной проекции плейлиста, а не из текста сообщения.
Анимации учитывают системное уменьшение движения. Фото, файлы и голосовые не входят в версию.
Миграции `00020`–`00022` добавляют активность, комнаты и возможности чата.