24 lines
1.3 KiB
Markdown
24 lines
1.3 KiB
Markdown
# Android Smoke & Baseline
|
|
|
|
## Smoke run (before merge/release)
|
|
1. Auth: login with valid credentials, app relaunch auto-login, invalid password error.
|
|
2. Chat list: All/Archived tabs, local search, pull-to-refresh.
|
|
3. Realtime: new message appears without restart, reconnect after temporary network off/on.
|
|
4. Chat screen: send text, reply, edit, delete, forward, reaction toggle.
|
|
5. Media: send image/file/audio, image opens in viewer, audio play/pause works.
|
|
6. Invite flow: open invite deep link (`chat.daemonlord.ru/join...`) and verify joined chat auto-opens.
|
|
7. Session safety: expired access token refreshes transparently for API calls.
|
|
8. Notification deep link: tap push/local notification and verify chat opens via extras.
|
|
9. Foreground notification gate: incoming realtime message in non-active chat shows local notification; active chat does not.
|
|
|
|
## Baseline targets (initial)
|
|
- Cold start to first interactive screen: <= 2.5s on mid device.
|
|
- Chat list first render after app open: <= 1.2s with warm cache.
|
|
- Scroll in chat list/chat history: no visible jank in normal usage.
|
|
- Crash-free smoke run: 0 crashes / 0 ANRs.
|
|
|
|
## Commands
|
|
- Build: `./gradlew :app:assembleDebug`
|
|
- Unit tests: `./gradlew :app:testDebugUnitTest`
|
|
- Kotlin compile only: `./gradlew :app:compileDebugKotlin`
|