fixes
This commit is contained in:
25
.serena/memories/code_style.md
Normal file
25
.serena/memories/code_style.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Code Style and Conventions
|
||||
|
||||
## Rust Style
|
||||
- Следовать стандартному Rust стилю (rustfmt)
|
||||
- Snake_case для переменных и функций
|
||||
- PascalCase для типов и enum вариантов
|
||||
- SCREAMING_SNAKE_CASE для констант
|
||||
|
||||
## Project Conventions
|
||||
- Использовать `Result<T, String>` для ошибок (планируется заменить на `Result<T>` с кастомным enum)
|
||||
- Async/await для TDLib операций
|
||||
- Группировать imports: std → external crates → local modules
|
||||
- Константы вынесены в `src/constants.rs`
|
||||
|
||||
## Architecture Patterns
|
||||
- Модульная структура: app, ui, input, tdlib, utils
|
||||
- TdClient разделён на подмодули: auth, chats, messages, users, reactions
|
||||
- ChatState enum для состояний чата (type-safe)
|
||||
- Snapshot тесты для UI компонентов
|
||||
- Integration тесты для business logic
|
||||
|
||||
## Documentation
|
||||
- Комментарии на русском в коде (для логики)
|
||||
- Doc-комментарии на английском (для публичного API)
|
||||
- CLAUDE.md, CONTEXT.md, ROADMAP.md для документации проекта
|
||||
28
.serena/memories/project_overview.md
Normal file
28
.serena/memories/project_overview.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Telegram TUI - Project Overview
|
||||
|
||||
## Purpose
|
||||
TUI (Text User Interface) клиент для Telegram с vim-style навигацией.
|
||||
|
||||
## Tech Stack
|
||||
- **Language**: Rust
|
||||
- **TUI Framework**: ratatui 0.29 + crossterm 0.28
|
||||
- **Telegram**: tdlib-rs 1.1 (с автоматической загрузкой TDLib)
|
||||
- **Async Runtime**: tokio (full features)
|
||||
- **Config**: toml 0.8, dirs 5.0
|
||||
- **Other**: chrono 0.4, clipboard 0.5, serde/serde_json 1.0
|
||||
|
||||
## Current Status
|
||||
- Фаза 9 завершена (100%)
|
||||
- Все основные фичи реализованы
|
||||
- 148/151 тестов (98% покрытие)
|
||||
- Рефакторинг: Priority 1 завершён, Priority 2 на 40%
|
||||
|
||||
## Key Features
|
||||
- TDLib интеграция с авторизацией
|
||||
- Список чатов с папками, фильтрацией
|
||||
- Отправка/редактирование/удаление сообщений
|
||||
- Reply, Forward, Реакции
|
||||
- Markdown форматирование
|
||||
- Поиск по чатам и сообщениям
|
||||
- Typing indicator, online статусы
|
||||
- Конфигурационный файл с цветами и timezone
|
||||
37
.serena/memories/suggested_commands.md
Normal file
37
.serena/memories/suggested_commands.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Suggested Commands
|
||||
|
||||
## Building and Running
|
||||
**ВАЖНО**: НИКОГДА не запускать самостоятельно! Всегда просить пользователя!
|
||||
|
||||
```bash
|
||||
# Пользователь должен запустить:
|
||||
cargo run
|
||||
cargo build
|
||||
cargo build --release
|
||||
```
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
cargo test # Запустить все тесты
|
||||
cargo test --lib # Только библиотечные тесты
|
||||
cargo test <test_name> # Конкретный тест
|
||||
```
|
||||
|
||||
## Code Quality
|
||||
```bash
|
||||
cargo clippy # Линтер
|
||||
cargo fmt # Форматирование
|
||||
cargo check # Быстрая проверка компиляции
|
||||
```
|
||||
|
||||
## Development Workflow
|
||||
1. Сделать изменения
|
||||
2. `cargo check` - быстрая проверка
|
||||
3. `cargo test` - запустить тесты
|
||||
4. `cargo clippy` - проверить предупреждения
|
||||
5. `cargo fmt` - отформатировать код
|
||||
6. Попросить пользователя запустить `cargo run` для ручной проверки
|
||||
|
||||
## macOS Specific
|
||||
- Система: Darwin
|
||||
- Стандартные Unix команды работают (ls, grep, find, cd, etc.)
|
||||
39
.serena/memories/task_completion.md
Normal file
39
.serena/memories/task_completion.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Task Completion Checklist
|
||||
|
||||
## После завершения задачи:
|
||||
|
||||
### 1. Проверка кода
|
||||
- [ ] `cargo check` - компиляция без ошибок
|
||||
- [ ] `cargo clippy` - нет новых предупреждений
|
||||
- [ ] `cargo fmt` - код отформатирован
|
||||
- [ ] `cargo test` - все тесты проходят
|
||||
|
||||
### 2. Ручное тестирование
|
||||
- [ ] Описать сценарии для проверки
|
||||
- [ ] Попросить пользователя запустить `cargo run`
|
||||
- [ ] Дождаться фидбека от пользователя
|
||||
|
||||
### 3. Документация
|
||||
- [ ] Обновить CONTEXT.md (секция "Последние обновления")
|
||||
- [ ] Добавить в CONTEXT.md что сделано
|
||||
- [ ] Если нужно - обновить ROADMAP.md
|
||||
|
||||
### 4. Git (только по запросу пользователя)
|
||||
- [ ] НИКОГДА не добавлять себя в Co-Authored-By
|
||||
- [ ] Создавать коммит только если пользователь попросил
|
||||
|
||||
## Формат сообщения пользователю
|
||||
```
|
||||
Готово! Проверь, пожалуйста:
|
||||
|
||||
1. [Конкретный сценарий проверки]
|
||||
2. [Что должно произойти]
|
||||
3. [На что обратить внимание]
|
||||
|
||||
Напиши, если что-то не работает.
|
||||
```
|
||||
|
||||
## Важно
|
||||
- Работать поэтапно (один этап = одна логическая единица)
|
||||
- После каждого этапа давать сценарий проверки
|
||||
- Не делать сразу много изменений
|
||||
Reference in New Issue
Block a user