This commit is contained in:
Mikhail Kilin
2026-01-20 14:54:30 +03:00
parent 699f50a59c
commit 9912ac11bd
8 changed files with 232 additions and 48 deletions

View File

@@ -18,15 +18,16 @@
- Загрузка истории сообщений при открытии чата
- Отображение сообщений с именем отправителя и временем
- **Отправка текстовых сообщений**
- **Поиск по чатам** (Ctrl+S): фильтрация списка по названию
#### Управление
- `j/k` или стрелки — навигация по списку чатов
- `д/л` — русская раскладка для j/k
- `↑/↓` стрелки — навигация по списку чатов
- `Enter` — открыть чат / отправить сообщение
- `Esc` — закрыть открытый чат
- `Ctrl+k` — перейти к первому чату
- `Esc` — закрыть открытый чат / отменить поиск
- `Ctrl+S` — поиск по чатам (фильтрация по названию)
- `Ctrl+R` — обновить список чатов
- `Ctrl+C` — выход
- `Cmd+↑/Cmd+↓` — скролл сообщений в открытом чате
- Ввод текста в поле сообщения
### Структура проекта
@@ -63,7 +64,7 @@ src/
3. **Синхронизация чатов**: Чаты загружаются асинхронно через updates. Main loop периодически синхронизирует `app.chats` с `td_client.chats`.
4. **Фильтрация чатов по ChatList::Main**: Показываем только чаты с позицией в Main списке и ненулевым order. Архивные чаты и связанные группы не отображаются.
4. **Фильтрация чатов**: Все чаты добавляются в список при получении `NewChat` update. Позиции обновляются через `ChatPosition` update.
5. **Сортировка по TDLib order**: Используем `position.order` для сортировки чатов (учитывает pinned и время).
@@ -88,7 +89,6 @@ API_HASH=your_api_hash
## Что НЕ сделано / TODO
- [ ] Поиск по чатам
- [ ] Папки телеграма (сейчас только "All")
- [ ] Отображение онлайн-статуса пользователя
- [ ] Markdown форматирование в сообщениях