This commit is contained in:
Mikhail Kilin
2026-01-24 02:22:47 +03:00
parent c18f43664e
commit 22c4e17377
9 changed files with 1199 additions and 226 deletions

View File

@@ -67,18 +67,39 @@
- Автоматический wrap на несколько строк
- Правильное выравнивание для исходящих/входящих
## Фаза 7: Глубокий рефакторинг памяти [TODO]
## Фаза 7: Глубокий рефакторинг памяти [DONE]
- [ ] Удалить дублирование current_messages между App и TdClient
- [ ] Использовать единый источник данных для сообщений
- [ ] Реализовать LRU-кэш для user_names/user_statuses вместо простого лимита
- [ ] Lazy loading для имён пользователей (загружать только видимых)
- [ ] Профилирование памяти и устранение утечек
- [x] Удалить дублирование current_messages между App и TdClient
- [x] Использовать единый источник данных для сообщений
- [x] Реализовать LRU-кэш для user_names/user_statuses вместо простого лимита
- [x] Lazy loading для имён пользователей (батчевая загрузка последних 5 за цикл)
- [x] Лимиты памяти:
- MAX_MESSAGES_IN_CHAT = 500
- MAX_CHATS = 200
- MAX_CHAT_USER_IDS = 500
- MAX_USER_CACHE_SIZE = 500 (LRU)
## Фаза 8: Дополнительные фичи [TODO]
## Фаза 8: Дополнительные фичи [IN PROGRESS]
- [ ] Markdown форматирование в сообщениях
- [ ] Редактирование сообщений
- [ ] Удаление сообщений
- [x] Markdown форматирование в сообщениях
- Bold, Italic, Underline, Strikethrough
- Code (inline, Pre, PreCode)
- Spoiler (скрытый текст)
- URLs, упоминания (@)
- [x] Редактирование сообщений
- ↑ при пустом инпуте → выбор сообщения
- Enter для начала редактирования
- Подсветка выбранного сообщения (▶)
- Esc для отмены
- [x] Удаление сообщений
- d / в / Delete в режиме выбора
- Модалка подтверждения (y/n)
- Удаление для всех если возможно
- [x] Индикатор редактирования (✎)
- Отображается рядом с временем для отредактированных сообщений
- [x] Блочный курсор в поле ввода
- Vim-style курсор █
- Перемещение ←/→, Home/End
- Редактирование в любой позиции
- [ ] Reply на сообщения
- [ ] Forward сообщений