- 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
3.2 KiB
3.2 KiB
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, но означает, что рестарт не предназначен для ретро-обработки уже существующих исторических сообщений.