# Alpha soak checklist (LAN demo)

<!-- doc-meta:start -->
| Field | Value |
|---|---|
| Author | Anton Afanasyeu |
| Revision | R1 |
| Creation date | 2026-05-23 |
| Last modification date | 2026-05-23 |
| Co-authored |  |
| Severity | medium |
| State | scheduled |
| Document type | draft |
<!-- doc-meta:end -->

\newpage
\newpage

---


Manual QA on **two devices** on the same Wi‑Fi. Goal: stable show path without experimental transports or stream protection.

---

---

---

---

---


---


---

---


---

## Table of contents

<!-- toc -->
- [Before you start](#before-you-start)
- [Happy path (~15 min)](#happy-path-15-min)
- [Stress (optional, ~10 min)](#stress-optional-10-min)
- [Pass criteria](#pass-criteria)
- [If something fails](#if-something-fails)
- [Not in alpha soak scope](#not-in-alpha-soak-scope)
<!-- /toc -->

**Documentation index:** [README.md](README.md)

---

## Before you start

| Setting | Sender | Receiver |
|---------|--------|----------|
| Transport | **UDP** | **UDP** (must match) |
| Stream protection | **None** | **None** |
| Video codec | **H.264 (AUTO)** | **H.264 (AUTO)** |
| Resolution (sender) | **720p** or **Auto** for first pass | — |
| Multi-receiver | **One** receiver selected | — |

PIN default: `1234` (change in settings if needed).

## Happy path (~15 min)

1. Install the same debug/release APK on both devices.
2. **Receiver:** Main → **Receive** → **Start listening** (notification shows *Listening*).
3. **Sender:** Main → **Send** → refresh discovery → pick receiver → enter PIN → approve screen capture.
4. Confirm sender notification: *Casting via UDP · WxH*.
5. Confirm video and audio on receiver for **≥ 5 minutes**.
6. Rotate sender once; confirm stream recovers or stop/restart cleanly.
7. Press **Stop** on sender notification; receiver returns to awaiting state.

## Stress (optional, ~10 min)

- Background sender app for 30s, return — stream continues or fails with clear status (no silent hang).
- Lock/unlock receiver once during cast.
- Second cast session without reinstall (stop → start again).

## Pass criteria

- No crash on either device during happy path.
- Video appears within **10s** of capture consent.
- Stop ends services and notifications on both sides.

## If something fails

| Symptom | Check |
|---------|--------|
| No video | Transport match; receiver listening first; open receiver UI once for surface attach |
| Auth failed | PIN; same Wi‑Fi; firewall on LAN |
| *Screen capture data missing* | Reinstall APK; Android 13+ consent intent |
| Choppy only on UDP | Retry with **TCP** on both sides (fallback test) |

## Not in alpha soak scope

- QUIC / WebRTC / USB-tether transports
- FEC / NACK stream protection
- 1:N multi-receiver (unless explicitly testing)
- OTA / crash upload (backend track) — except **RSSH remote access**, which is **full alpha essential** (separate checklist in [ALPHA.md](ALPHA.md) § F)
