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

3.2 KiB
Raw Blame History

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