surfaces/docs/known-limitations.md
Mikhail Putilovskij 6ced154124 feat(matrix): land QA follow-ups and refresh docs
- harden Matrix onboarding/chat lifecycle after manual QA
- refresh README and Matrix docs to match current behavior
- add local ignores for runtime artifacts and include current planning/report docs

Closes #7
Closes #9
Closes #14
2026-04-05 19:08:58 +03:00

51 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Known Limitations
## Telegram — Threaded Mode (Bot API 9.3+)
Threaded Mode — относительно новая фича Bot API. Ряд ограничений связан с незрелостью клиентов Telegram, а не с нашим кодом.
### Telegram Mac клиент
- Новые топики, созданные ботом через `/new`, не появляются в сайдбаре сразу.
Топики существуют на сервере и доступны на мобильном клиенте — это баг Mac клиента.
### Bot API — управление топиками
- `closeForumTopic` и аналогичные методы работают только для supergroup-форумов.
В Threaded Mode личного чата эти вызовы возвращают `"the chat is not a supergroup forum"`.
- `deleteForumTopic` работает на мобильных клиентах, поведение на Mac непоследовательно.
- Топики, созданные ботом через API (`/new`), пользователь не может удалить через Mac UI
(только через мобильный клиент). Бот пытается удалить топик сам при `/archive`.
### После удаления топика
- Когда все топики удалены, Telegram показывает кнопку Start как при первом запуске.
Это стандартное поведение Telegram, не баг бота.
### История чатов
- При пересоздании базы данных (`lambda_bot.db`) старые топики в Telegram остаются.
История сообщений в Telegram не удаляется при сбросе БД бота.
---
*Все перечисленные ограничения — на стороне платформы Telegram. Решение: принято, движемся дальше.*
## Matrix
### Незашифрованные комнаты только
- Текущая Matrix-реализация в этом репозитории тестируется только в незашифрованных комнатах.
Encrypted DM и encrypted rooms пока не поддержаны.
### Зависимость от локального состояния
- Бот хранит локальный маппинг `chat_id ↔ room_id`.
Если удалить `lambda_matrix.db` или `matrix_store/`, старые комнаты в Matrix останутся,
но `!rename` и `!archive` для них больше не смогут отработать как для зарегистрированных чатов.
### Поведение после рестарта
- При старте бот делает bootstrap sync и продолжает `sync_forever()` с `since`.
Это снижает риск повторной обработки старой timeline, но означает, что рестарт не предназначен
для ретро-обработки уже существующих исторических сообщений.