65 lines
No EOL
7 KiB
Markdown
65 lines
No EOL
7 KiB
Markdown
1. Звонки по аудиосвязи в чатах
|
||
|
||
2. Понятное сообщение при регистрации на сервере с забаненным ником
|
||
|
||
3. Хочу скинуть ник-диплинк и чтобы сразу открылся сразу чат с юзером в приложении
|
||
|
||
4. Разобраться с текущими доменами и навести там порядок. Сейчас caddy заведен неправильно, web тоже не совсем правильно. Предложение
|
||
Тогда структура:
|
||
vojo.chat — красивый лендинг с описанием проекта, скриншоты, кнопка "Попробовать"
|
||
app.vojo.chat — сам мессенджер (Cinny)
|
||
docs.vojo.chat — документация
|
||
matrix.vojo.chat — Matrix API (технический поддомен, пользователи туда не ходят)
|
||
matrix-rtc.vojo.chat — LiveKit (технический)
|
||
|
||
5. Связанное ограничение по федерации (сейчас в env lk-jwt-service):
|
||
`LIVEKIT_FULL_ACCESS_HOMESERVERS: "vojo.chat"` — инициировать звонки могут только
|
||
юзеры `@…:vojo.chat`, федеративные — только join к существующим. При первых
|
||
реальных кросс-homeserver кейсах ослабить до `"*"` или whitelist (правка в env,
|
||
клиент не меняется).
|
||
|
||
6. Миграция unstable-префикса MSC4143 → stable, когда спека финализируется.
|
||
Сейчас `.well-known/matrix/client` объявляет RTC-фокусы под ключом
|
||
`org.matrix.msc4143.rtc_foci` (unstable prefix). Когда MSC4143 примут, ключ
|
||
станет `m.rtc_foci`. Что понадобится:
|
||
- В `~/vojo/caddy/Caddyfile` блок `.well-known/matrix/client` — добавить
|
||
оба ключа на переходный период, потом выпилить старый.
|
||
- В клиенте [src/app/hooks/useLivekitSupport.ts](src/app/hooks/useLivekitSupport.ts)
|
||
сейчас читается только `org.matrix.msc4143.rtc_foci` — расширить на оба
|
||
ключа (или дождаться matrix-js-sdk апдейта, который сделает это сам).
|
||
- Этот же паттерн относится к о всем msc-событиям в RTC-стеке: MSC4075
|
||
(`org.matrix.msc4075.rtc.notification`), MSC4195, MSC4310
|
||
(`org.matrix.msc4310.rtc.decline`). При stable-переходе спек все
|
||
префиксы поменяются синхронно — миграцию делать вместе.
|
||
|
||
7. Пофиксить follow страницы с чатами 1-1. Потому что сейчас они не автоскролятся вниз. Происходит это на нативе когда открываешь клавиатуру (она не сдвигает ui вверх как это делают обычные приложения с клавиатурой, по ощущениям просто перекрывает часть страницы сдвигая просто форму с вводом)
|
||
|
||
8. **(из Phase 2 DM-звонков, 2026-04-19)** Верифицировать на сервере: шифрует ли
|
||
Element Call widget **сам** `m.rtc.notification` при отправке в encrypted room
|
||
(ring от A → B). Теоретически SDK шифрует любой `sendEvent` в encrypted room
|
||
прозрачно, и widget должен идти через тот же путь — но `sendRtcDecline`
|
||
(наш, не widget) делегирует в `client.sendEvent` и это проверено
|
||
([client.js:2457](../../node_modules/matrix-js-sdk/lib/client.js#L2457)),
|
||
а `m.rtc.notification` widget шлёт через свой postMessage канал — не
|
||
перепроверяли. Как проверить: в encrypted DM у A нажать startCall,
|
||
в DevTools Network tab смотреть PUT на `/rooms/{roomId}/send/...` — body
|
||
должно быть encrypted (ключи `algorithm`, `ciphertext`, `sender_key`,
|
||
`session_id`), не plain JSON с `"m.rtc.notification"`. Если plain —
|
||
widget игнорит encryption, нужен апстрим-фикс Element Call либо наша
|
||
обёртка. См. [docs/plans/dm_calls_techdebt.md](../plans/dm_calls_techdebt.md) 5.9.
|
||
|
||
9. Когда открываешь чат уведомления из пуш бара не исчезают
|
||
|
||
10. Пофиксить цвет полос снизу и сверху при разных бекграундах цветовых (Сейчас они не синхронны на темной теме)
|
||
|
||
11. Как то по умнее схлопывать переходы назад. Возможно уникальные переходы схлопывать. Контекст такой: приложение сохраняет все походы юзера по экрану и так можно навигироваться без конца. Особенно это странно работает при входящих уведомлениях из одного чата: можно положить в этот стеш очень много ивентов этого окна и сидеть жать кнопку назад очень долго
|
||
|
||
12. Не очень понятно что делать со звонками в пуше на андроиде. Если пришел пуш-звонок, надо показывать на экране чата внизу сам эвент со звонком как на вебе?
|
||
|
||
13. UI friendly боты (в т.ч. телеграм бот)
|
||
|
||
14. Убрать странное читат чат
|
||
|
||
15. ~~Баг с присоединться в комнату, перекидывает не в чат, а в комнаты. При чем у одного юзера отображается чат, а у другого комната. Из-за этого нельзя позовнить например~~ — пофикшено: глобальный `useAutoDirectSync` listener, прямая навигация в Invites, smart push routing, HomeRouteRoomProvider redirect.
|
||
|
||
16. **Тех-долг:** one-shot repair для исторически сломанных DM-комнат. После фикса #15 новые join-ы корректно обновляют `m.direct`, но комнаты у юзеров, которые уже приняли инвайт до фикса, остаются в "Комнатах". Нужна миграция или команда `/repairDMs`, которая пройдёт по joined rooms, проверит `getDMInviter()`, и добавит в `m.direct`. Осложнение: `prev_content.is_direct` не исчезает после `/converttoroom`, поэтому наивный sweep откатит ручную конвертацию — нужен tombstone-маркер или whitelist. |