docs: update CONTEXT.md with refactoring progress
This commit is contained in:
67
CONTEXT.md
67
CONTEXT.md
@@ -5,7 +5,7 @@
|
||||
### Что сделано
|
||||
|
||||
#### TDLib интеграция
|
||||
- Подключена библиотека `tdlib-rs` v1.1 с автоматической загрузкой TDLib
|
||||
- Подключена библиотека `tdlib-rs` v1.2.0 с автоматической загрузкой TDLib
|
||||
- Реализована авторизация через телефон + код + 2FA пароль
|
||||
- Сессия сохраняется автоматически в папке `tdlib_data/`
|
||||
- Отключены логи TDLib через FFI вызов `td_execute` до создания клиента
|
||||
@@ -330,6 +330,71 @@ reaction_chosen = "yellow"
|
||||
reaction_other = "gray"
|
||||
```
|
||||
|
||||
## Последние обновления (2026-02-03)
|
||||
|
||||
### Рефакторинг — Упрощение main_input.rs (Фаза 1) ✅ (2026-02-03)
|
||||
|
||||
**Цель**: Упростить функцию `handle()` в `main_input.rs` путём извлечения обработчиков режимов в отдельные функции.
|
||||
|
||||
**Что сделано**:
|
||||
Извлечено 9 функций-обработчиков из основной функции `handle()`:
|
||||
|
||||
1. ✅ **`handle_profile_mode()`** (~114 строк)
|
||||
- Режим профиля пользователя/чата
|
||||
- Модалка подтверждения выхода из группы (двухшаговая)
|
||||
- Открытие в браузере, копирование ID
|
||||
|
||||
2. ✅ **`handle_message_search_mode()`** (~73 строки)
|
||||
- Поиск по сообщениям в открытом чате (Ctrl+F)
|
||||
- Навигация по результатам, переход к сообщению
|
||||
|
||||
3. ✅ **`handle_pinned_mode()`** (~34 строки)
|
||||
- Режим просмотра закреплённых сообщений
|
||||
- Навигация и переход к сообщению в истории
|
||||
|
||||
4. ✅ **`handle_reaction_picker_mode()`** (~79 строк)
|
||||
- Emoji picker для добавления реакций
|
||||
- Навигация по сетке 8x6, toggle реакции
|
||||
|
||||
5. ✅ **`handle_delete_confirmation()`** (~53 строки)
|
||||
- Модалка подтверждения удаления сообщения
|
||||
- Обработка yes/no, удаление для себя/всех
|
||||
|
||||
6. ✅ **`handle_forward_mode()`** (~48 строк)
|
||||
- Выбор чата для пересылки сообщения
|
||||
- Навигация по списку чатов, отправка
|
||||
|
||||
7. ✅ **`handle_chat_search_mode()`** (~32 строки)
|
||||
- Поиск по чатам (Ctrl+S)
|
||||
- Фильтрация списка, открытие чата
|
||||
|
||||
8. ✅ **`handle_escape_key()`** (~25 строк)
|
||||
- Обработка Esc: отмена действий или закрытие чата
|
||||
- Сохранение черновика при закрытии
|
||||
|
||||
9. ✅ **`handle_message_selection()`** (~85 строк)
|
||||
- Режим выбора сообщения в открытом чате
|
||||
- Действия: reply, forward, delete, copy, react
|
||||
|
||||
**Результат**:
|
||||
- ✅ Функция `handle()` сократилась с **891 до ~350 строк** (на 61%)
|
||||
- ✅ Извлечено **~543 строки** в отдельные функции
|
||||
- ✅ Каждый режим теперь изолирован и легко тестируется
|
||||
- ✅ Улучшена читаемость и maintainability кода
|
||||
- ✅ Все 196 тестов (188 tests + 8 benchmarks) проходят успешно
|
||||
|
||||
**Также**:
|
||||
- ✅ Обновлён `tdlib-rs` с версии 1.1 на 1.2.0
|
||||
|
||||
**Файлы изменены**:
|
||||
- `src/input/main_input.rs` — извлечено 9 функций-обработчиков
|
||||
- `Cargo.toml` — обновлена версия tdlib-rs
|
||||
- `CONTEXT.md` — обновлён контекст проекта
|
||||
|
||||
**Следующие шаги**: Продолжить рефакторинг оставшихся блоков (Enter обработка, обработка клавиш в открытом чате, режим списка чатов)
|
||||
|
||||
---
|
||||
|
||||
## Последние обновления (2026-02-02)
|
||||
|
||||
### Исправление критической ошибки — Stack Overflow при работе с сообщениями ✅ (2026-02-02)
|
||||
|
||||
Reference in New Issue
Block a user