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