fixes
This commit is contained in:
46
CONTEXT.md
46
CONTEXT.md
@@ -1,6 +1,6 @@
|
||||
# Текущий контекст проекта
|
||||
|
||||
## Статус: Фаза 6 завершена — Полировка
|
||||
## Статус: Фаза 8 в процессе — Дополнительные фичи
|
||||
|
||||
### Что сделано
|
||||
|
||||
@@ -30,11 +30,23 @@
|
||||
- **Галочки прочтения** (✓ отправлено, ✓✓ прочитано) — обновляются в реальном времени
|
||||
- **Отметка сообщений как прочитанных**: при открытии чата счётчик непрочитанных сбрасывается
|
||||
- **Отправка текстовых сообщений**
|
||||
- **Редактирование сообщений**: ↑ при пустом инпуте → выбор → Enter → редактирование
|
||||
- **Удаление сообщений**: в режиме выбора нажать `d` / `в` / `Delete` → модалка подтверждения
|
||||
- **Индикатор редактирования**: ✎ рядом с временем для отредактированных сообщений
|
||||
- **Новые сообщения в реальном времени** при открытом чате
|
||||
- **Поиск по чатам** (Ctrl+S): фильтрация по названию и @username
|
||||
- **Кеширование имён пользователей**: имена загружаются асинхронно и обновляются в UI
|
||||
- **Папки Telegram**: загрузка и переключение между папками (1-9)
|
||||
- **Медиа-заглушки**: [Фото], [Видео], [Голосовое], [Стикер], [GIF] и др.
|
||||
- **Markdown форматирование в сообщениях**:
|
||||
- **Жирный** (bold)
|
||||
- *Курсив* (italic)
|
||||
- __Подчёркнутый__ (underline)
|
||||
- ~~Зачёркнутый~~ (strikethrough)
|
||||
- `Код` (inline code, Pre, PreCode) — cyan на тёмном фоне
|
||||
- Спойлеры — скрытый текст (серый на сером)
|
||||
- Ссылки (URL, TextUrl, Email, Phone) — синий с подчёркиванием
|
||||
- @Упоминания — синий с подчёркиванием
|
||||
|
||||
#### Состояние сети
|
||||
- **Индикатор в футере**: показывает текущее состояние подключения
|
||||
@@ -54,6 +66,7 @@
|
||||
#### Динамический инпут
|
||||
- **Автоматическое расширение**: поле ввода увеличивается при длинном тексте (до 10 строк)
|
||||
- **Перенос текста**: длинные сообщения переносятся на новые строки
|
||||
- **Блочный курсор**: vim-style курсор █ с возможностью перемещения по тексту
|
||||
|
||||
#### Управление
|
||||
- `↑/↓` стрелки — навигация по списку чатов
|
||||
@@ -63,8 +76,19 @@
|
||||
- `Ctrl+R` — обновить список чатов
|
||||
- `Ctrl+C` — выход (graceful shutdown)
|
||||
- `↑/↓` в открытом чате — скролл сообщений (с подгрузкой старых)
|
||||
- `↑` при пустом инпуте — выбор сообщения для редактирования
|
||||
- `Enter` в режиме выбора — начать редактирование
|
||||
- `d` / `в` / `Delete` в режиме выбора — удалить сообщение (с подтверждением)
|
||||
- `y` / `н` / `Enter` — подтвердить удаление в модалке
|
||||
- `n` / `т` / `Esc` — отменить удаление в модалке
|
||||
- `Esc` — отменить выбор/редактирование
|
||||
- `1-9` — переключение папок (в списке чатов)
|
||||
- Ввод текста в поле сообщения
|
||||
- **Редактирование текста в инпуте:**
|
||||
- `←` / `→` — перемещение курсора
|
||||
- `Home` — курсор в начало
|
||||
- `End` — курсор в конец
|
||||
- `Backspace` — удалить символ слева
|
||||
- `Delete` — удалить символ справа
|
||||
|
||||
### Структура проекта
|
||||
|
||||
@@ -132,14 +156,18 @@ API_ID=your_api_id
|
||||
API_HASH=your_api_hash
|
||||
```
|
||||
|
||||
## Что НЕ сделано / TODO (Фаза 7)
|
||||
## Что НЕ сделано / TODO (Фаза 8)
|
||||
|
||||
- [ ] Удалить дублирование current_messages между App и TdClient
|
||||
- [ ] Использовать единый источник данных для сообщений
|
||||
- [ ] Реализовать LRU-кэш для user_names/user_statuses вместо простого лимита
|
||||
- [ ] Lazy loading для имён пользователей (загружать только видимых)
|
||||
- [ ] Профилирование памяти и устранение утечек
|
||||
- [ ] Markdown форматирование в сообщениях
|
||||
- [x] Удалить дублирование current_messages между App и TdClient
|
||||
- [x] Использовать единый источник данных для сообщений (td_client.current_chat_messages)
|
||||
- [x] Реализовать LRU-кэш для user_names/user_statuses/user_usernames
|
||||
- [x] Lazy loading для имён пользователей (батчевая загрузка последних 5 за цикл, лимит очереди 50)
|
||||
- [x] Лимиты памяти: сообщения (500), чаты (200), chat_user_ids (500)
|
||||
- [x] Markdown форматирование в сообщениях
|
||||
- [x] Редактирование сообщений
|
||||
- [x] Удаление сообщений
|
||||
- [ ] Reply на сообщения
|
||||
- [ ] Forward сообщений
|
||||
|
||||
## Известные проблемы
|
||||
|
||||
|
||||
Reference in New Issue
Block a user