fixes
This commit is contained in:
31
CONTEXT.md
31
CONTEXT.md
@@ -357,7 +357,23 @@ reaction_other = "gray"
|
||||
- Проще добавлять новые фичи
|
||||
- Лучше читаемость
|
||||
|
||||
**Следующие шаги**: Priority 2 (типобезопасность: Error enum, Newtype для ID)
|
||||
**Priority 2 (40% завершено - 2/5)**:
|
||||
- ✅ **P2.5 — Error enum** (завершено 2026-01-31)
|
||||
- Создан `src/error.rs` с типобезопасным enum `TeletuiError`
|
||||
- Добавлены варианты: TdLib, Config, Network, Auth, Chat, Message, User, InvalidTimezone, InvalidColor, Clipboard, Io, Toml, Json, Other
|
||||
- Type alias `Result<T>` для упрощения сигнатур
|
||||
- Использован `thiserror` для автоматического Display
|
||||
- Заменены все `Result<T, String>` на `Result<T>` в 7 модулях
|
||||
- Все 350 тестов проходят ✅
|
||||
|
||||
- ✅ **P2.3 — Config validation** (завершено 2026-01-31)
|
||||
- Добавлен метод `Config::validate()` для проверки конфигурации
|
||||
- Валидация timezone: проверка что начинается с + или -
|
||||
- Валидация цветов: проверка что цвет из списка допустимых (black, red, green, yellow, blue, magenta, cyan, gray, white, darkgray, lightred, lightgreen, lightyellow, lightblue, lightmagenta, lightcyan)
|
||||
- При загрузке невалидного конфига автоматически используется дефолтный
|
||||
- Все 350 тестов проходят ✅
|
||||
|
||||
**Следующие шаги**: Priority 2 (Newtype для ID, MessageBuilder, реструктуризация MessageInfo)
|
||||
|
||||
Подробности: [REFACTORING_ROADMAP.md](REFACTORING_ROADMAP.md)
|
||||
|
||||
@@ -374,11 +390,16 @@ reaction_other = "gray"
|
||||
2. ~~**Разделение TdClient**~~ ✅ — разделён на 7 модулей
|
||||
3. ~~**Константы**~~ ✅ — вынесены в отдельный модуль
|
||||
|
||||
**Завершено** (Priority 2):
|
||||
1. ~~**Error enum**~~ ✅ — типобезопасная обработка ошибок (2026-01-31)
|
||||
2. ~~**Config validation**~~ ✅ — валидация конфигурации при загрузке (2026-01-31)
|
||||
|
||||
**В работе** (Priority 2-5):
|
||||
1. **Типобезопасность** — newtype pattern для ID, error enum
|
||||
2. **UI компоненты** — выделить переиспользуемые компоненты
|
||||
3. **Форматирование** — вынести markdown форматирование в отдельный модуль
|
||||
4. **Юнит-тесты** — добавить для utils и других модулей
|
||||
1. **Типобезопасность** — newtype pattern для ID
|
||||
2. **MessageBuilder** — упрощение создания сообщений
|
||||
3. **UI компоненты** — выделить переиспользуемые компоненты
|
||||
4. **Форматирование** — вынести markdown форматирование в отдельный модуль
|
||||
5. **Юнит-тесты** — добавить для utils и других модулей
|
||||
|
||||
## Известные проблемы
|
||||
|
||||
|
||||
Reference in New Issue
Block a user