# 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`