Files
Messenger/docs/android-checklist.md
Codex fd31e39fce
Some checks failed
Android CI / android (push) Has started running
Android Release / release (push) Has been cancelled
CI / test (push) Has been cancelled
android: add tablet adaptive layouts and fix voice release send
2026-03-09 16:49:17 +03:00

123 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Android Checklist (Telegram-подобный клиент)
## 1. Базовая архитектура
- [x] Kotlin + Jetpack Compose
- [x] Модульность: `core`, `data`, `feature-*`, `app`
- [x] DI (Hilt/Koin)
- [x] MVI/MVVM + единый state/presenter слой
- [x] Coroutines + Flow + structured concurrency
- [x] Логирование (Timber/Logcat policy)
- [x] Crash reporting (Firebase Crashlytics/Sentry)
## 2. Сеть и API
- [x] Retrofit/OkHttp + auth interceptor
- [x] Авто-refresh JWT
- [x] Единая обработка ошибок API
- [x] Realtime WebSocket слой (reconnect/backoff)
- [x] Маппинг DTO -> Domain -> UI models
- [x] Версионирование API и feature flags
## 3. Локальное хранение и sync
- [x] Room для чатов/сообщений/пользователей
- [x] DataStore для настроек
- [x] Кэш медиа (Coil/Exo cache)
- [x] Offline-first чтение истории
- [x] Очередь отложенных действий (send/edit/delete)
- [x] Конфликт-резолв и reconcile после reconnect
## 4. Авторизация и аккаунт
- [x] Login/Register flow (email-first)
- [x] Verify email экран/обработка deep link
- [x] Reset password flow
- [x] Sessions list + revoke one/all
- [x] 2FA TOTP + recovery codes
- [x] Logout с полным cleanup local state
## 5. Профиль и приватность
- [x] Просмотр/редактирование профиля
- [x] Avatar upload + crop 1:1
- [x] Username/name/bio editing
- [x] Privacy settings (PM/last seen/avatar/group invites)
- [x] Blocked users management
## 6. Список чатов
- [x] Tabs/фильтры (all/private/group/channel/archive)
- [x] Pinned chats
- [x] Unread badge + mention badge `@`
- [x] Muted badge
- [x] Last message preview по типам медиа
- [x] Online indicator в private чатах
## 7. Сообщения
- [x] Отправка текста
- [x] Reply/quote
- [x] Edit (<=7 дней)
- [x] Delete for me / for all (по правам)
- [x] Forward в 1+ чатов
- [x] Reactions
- [x] Delivery/read states
## 8. Медиа и вложения
- [x] Upload image/video/file/audio
- [x] Галерея в сообщении (multi media)
- [x] Media viewer (zoom/swipe/download)
- [x] Единое контекстное меню для медиа
- [x] Voice playback waveform + speed
- [x] Audio player UI (не как voice)
- [x] Circle video playback (view-only при необходимости)
## 9. Запись голосовых
- [x] Hold-to-record
- [x] Slide up to lock
- [x] Slide left to cancel
- [x] Минимальная длина записи (>=1s)
- [x] Единый global audio focus (1 источник звука)
## 10. Группы/каналы
- [x] Create group/channel
- [x] Join/leave
- [x] Invite link (create/regenerate/join)
- [x] Roles owner/admin/member
- [x] Admin actions: add/remove/ban/unban/promote/demote
- [x] Ограничения канала: писать только owner/admin
- [x] Member visibility rules (скрытие списков/действий)
## 11. Поиск
- [x] Глобальный поиск: users/chats/messages
- [x] Поиск внутри чата inline (не модалка)
- [x] Jump to message из результатов
## 12. Уведомления
- [x] FCM push setup
- [x] Локальные уведомления для foreground
- [x] Notification channels (Android)
- [x] Deep links: open chat/message
- [x] Mention override для muted чатов
- [x] DataStore настройки уведомлений (global + per-chat override)
## 13. UI/UX и темы
- [x] Светлая/темная тема (читаемая)
- [x] Адаптивность phone/tablet
- [x] Контекстные меню без конфликтов жестов
- [x] Bottom sheets/dialog behavior consistency
- [x] Accessibility (TalkBack, dynamic type)
## 14. Безопасность
- [x] Secure token storage (EncryptedSharedPrefs/Keystore)
- [ ] Certificate pinning (опционально)
- [ ] Root/emulator policy (опционально)
- [ ] Privacy-safe logging (без токенов/PII)
## 15. Качество
- [x] Unit tests (domain/data)
- [x] UI tests (Compose test)
- [x] Integration tests для auth/chat/realtime
- [x] Performance baseline (startup, scroll, media)
- [ ] ANR/crash budget + monitoring
## 16. Релиз
- [x] CI/CD (build, test, lint, detekt)
- [ ] Internal QA build channel
- [ ] Beta rollout
- [ ] Release checklist и runbook инцидентов