fixes
This commit is contained in:
59
CONTEXT.md
59
CONTEXT.md
@@ -130,9 +130,13 @@ src/
|
||||
├── lib.rs # Библиотечный интерфейс (для тестов)
|
||||
├── types.rs # Типобезопасные обёртки (ChatId, MessageId, UserId)
|
||||
├── config.rs # Конфигурация (TOML), загрузка credentials
|
||||
├── error.rs # TeletuiError enum, Result<T> type alias
|
||||
├── constants.rs # Константы проекта (MAX_MESSAGES_IN_CHAT, POLL_TIMEOUT_MS, etc.)
|
||||
├── formatting.rs # Markdown форматирование (CharStyle, format_text_with_entities)
|
||||
├── app/
|
||||
│ ├── mod.rs # App структура и состояние (needs_redraw флаг)
|
||||
│ └── state.rs # AppScreen enum
|
||||
│ ├── state.rs # AppScreen enum
|
||||
│ └── chat_state.rs # ChatState enum (Normal, MessageSelection, Editing, etc.)
|
||||
├── ui/
|
||||
│ ├── mod.rs # Роутинг UI по экранам, проверка минимального размера
|
||||
│ ├── loading.rs # Экран загрузки
|
||||
@@ -140,7 +144,15 @@ src/
|
||||
│ ├── main_screen.rs # Главный экран с папками
|
||||
│ ├── chat_list.rs # Список чатов (pin, mute, online, mentions)
|
||||
│ ├── messages.rs # Область сообщений (wrap, группировка, динамический инпут)
|
||||
│ └── footer.rs # Подвал с командами и статусом сети
|
||||
│ ├── footer.rs # Подвал с командами и статусом сети
|
||||
│ ├── profile.rs # Экран профиля пользователя/чата
|
||||
│ └── components/ # Переиспользуемые UI компоненты
|
||||
│ ├── mod.rs
|
||||
│ ├── modal.rs
|
||||
│ ├── input_field.rs
|
||||
│ ├── message_bubble.rs
|
||||
│ ├── chat_list_item.rs
|
||||
│ └── emoji_picker.rs
|
||||
├── input/
|
||||
│ ├── mod.rs # Роутинг ввода
|
||||
│ ├── auth.rs # Обработка ввода на экране авторизации
|
||||
@@ -154,7 +166,7 @@ src/
|
||||
├── messages.rs # MessageManager для сообщений
|
||||
├── users.rs # UserCache с LRU кэшем
|
||||
├── reactions.rs # ReactionManager
|
||||
└── types.rs # Общие типы данных (ChatInfo, MessageInfo, etc.)
|
||||
└── types.rs # Общие типы данных (ChatInfo, MessageInfo, MessageBuilder, etc.)
|
||||
|
||||
tests/
|
||||
├── helpers/
|
||||
@@ -299,6 +311,35 @@ reaction_other = "gray"
|
||||
|
||||
## Последние обновления (2026-01-31)
|
||||
|
||||
### P3.8 — Извлечение форматирования ✅ ЗАВЕРШЕНО!
|
||||
|
||||
**Что сделано**:
|
||||
- ✅ Создан `src/formatting.rs` с логикой markdown форматирования (262 строки)
|
||||
- ✅ Перенесены функции из `messages.rs`:
|
||||
- `CharStyle` — структура для стилей символов (bold, italic, code, spoiler, url, mention)
|
||||
- `format_text_with_entities()` — преобразование текста с entities в стилизованные Span
|
||||
- `styles_equal()` — сравнение стилей
|
||||
- `adjust_entities_for_substring()` — корректировка entities при переносе текста
|
||||
- ✅ Добавлено 5 unit тестов для форматирования
|
||||
- ✅ Обновлены `src/lib.rs` и `src/main.rs` для экспорта модуля
|
||||
- ✅ `src/ui/messages.rs` сокращён на ~143 строки
|
||||
- ✅ Все lib тесты проходят (17 passed)
|
||||
- ✅ Бинарник компилируется успешно
|
||||
|
||||
**Преимущества**:
|
||||
- 📦 Логика форматирования изолирована в отдельном модуле
|
||||
- ✅ Можно тестировать независимо
|
||||
- 🔄 Легко переиспользовать в других компонентах UI
|
||||
- 📖 Улучшена читаемость кода
|
||||
|
||||
**Статус Priority 3**: 25% (2/8 задач) ✅
|
||||
- ✅ P3.7 — UI компоненты
|
||||
- ✅ P3.8 — Форматирование ← ТОЛЬКО ЧТО!
|
||||
- ⏳ P3.9 — Группировка сообщений
|
||||
- ⏳ P3.10 — Hotkey mapping
|
||||
|
||||
---
|
||||
|
||||
### 🎉🎊 PRIORITY 2 ЗАВЕРШЁН НА 100%! 🎊🎉
|
||||
|
||||
**P2.7 — MessageBuilder pattern** ✅ ФИНАЛЬНАЯ ЗАДАЧА ЗАВЕРШЕНА!
|
||||
@@ -548,12 +589,14 @@ let message = MessageBuilder::new(MessageId::new(123))
|
||||
4. ~~**MessageInfo реструктуризация**~~ ✅ — группировка полей в логические структуры (2026-01-31)
|
||||
5. ~~**MessageBuilder pattern**~~ ✅ — fluent API для создания сообщений (2026-01-31)
|
||||
|
||||
**Завершено** (Priority 3): ✅ 1/4 (25%)
|
||||
1. ~~**P3.7 — UI компоненты**~~ ✅ — выделение переиспользуемых компонентов (2026-01-31)
|
||||
2. ~~**P3.8 — Форматирование**~~ ✅ — вынесено markdown форматирование в src/formatting.rs (2026-01-31)
|
||||
|
||||
**В работе** (Priority 3-5):
|
||||
1. **UI компоненты** — выделение переиспользуемых компонентов
|
||||
2. **MessageBuilder** — упрощение создания сообщений
|
||||
3. **UI компоненты** — выделить переиспользуемые компоненты
|
||||
4. **Форматирование** — вынести markdown форматирование в отдельный модуль
|
||||
5. **Юнит-тесты** — добавить для utils и других модулей
|
||||
1. **P3.9 — Группировка сообщений** — вынести логику группировки в отдельный модуль
|
||||
2. **P3.10 — Hotkey mapping** — добавить настройку хоткеев в конфиг
|
||||
3. **Юнит-тесты** — добавить для utils и других модулей
|
||||
|
||||
## Известные проблемы
|
||||
|
||||
|
||||
Reference in New Issue
Block a user