feat(social): show friend presence and require online listening
ci / api / api (push) Successful in 1m11s
ci / db / db (push) Failing after 23s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m29s
ci / ts / ts (packages + web) (push) Successful in 3m15s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m27s
ci / api / api (push) Successful in 1m11s
ci / db / db (push) Failing after 23s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m29s
ci / ts / ts (packages + web) (push) Successful in 3m15s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m27s
This commit is contained in:
1 parent
582c0dc3d4
commit
cd84ceecb2
26 files changed
+574
-400
No files matched your search
@@ -71,6 +71,15 @@ React Query; Android останавливает polling при уходе при
|
||||
|
||||
## Совместное прослушивание
|
||||
|
||||
Статус «В сети» виден только текущим друзьям и независим от видимости музыки.
|
||||
Клиент поддерживает его штатным опросом состояния прослушивания, даже на паузе;
|
||||
просмотр социального раздела также обновляет собственный heartbeat. Сервер объединяет
|
||||
частые обновления одного пользователя до одного за 10 секунд. Если ни одно устройство
|
||||
не отвечает 45 секунд, статус истекает; UI обновляется при следующем опросе друзей.
|
||||
«Слушать вместе» отключено для друга не в сети. Сервер проверяет присутствие обоих
|
||||
участников при создании и принятии запроса, поэтому устаревшая кнопка не обходит правило.
|
||||
Блокировки и ограничения аудитории проверяются до выдачи ошибки об офлайн-статусе.
|
||||
|
||||
«Подключиться» отправляет запрос хозяину и оставляет управление у него.
|
||||
«Пригласить на мой стрим» создаёт собственную комнату: приглашённый становится слушателем.
|
||||
Один пользователь состоит в одной комнате; несколько слушателей могут подключиться к хозяину.
|
||||
|
||||
Reference in new issue
Block a user