|
| 1 | +# Desktop Release Regression Inventory |
| 2 | + |
| 3 | +This inventory records desktop regression coverage that is intentionally outside |
| 4 | +the deterministic PR gate. The release matrix validator keeps these entries |
| 5 | +visible so they are reviewed before a production desktop release. |
| 6 | + |
| 7 | +## Packaged and E2E Coverage |
| 8 | + |
| 9 | +- gameOpenWindow — full round-trip with openGameWindow mock (needs canvas mock update) |
| 10 | +- Abnormal window position (off-screen) is corrected to safe defaults (e2e) |
| 11 | +- Deep link received while app is closed causes app to launch (e2e) |
| 12 | +- Deep link received while app is open does not launch second instance (e2e) |
| 13 | +- Shortcuts survive window focus changes (e2e) |
| 14 | +- App launches automatically after system restart (e2e) |
| 15 | +- Auto-launch survives app updates (e2e) |
| 16 | +- Keyboard shortcut Cmd+Q triggers quit (e2e) |
| 17 | +- Keyboard shortcut Cmd+R triggers reload (e2e) |
| 18 | +- Keyboard shortcut Cmd+Option+I opens devtools (e2e) |
| 19 | +- Gateway discovery sends gatewayDiscovery push event to renderer (integration) |
| 20 | +- Canvas window is sandboxed — cannot access main app origin (integration) |
| 21 | +- Canvas navigate blocks external URLs (integration) |
| 22 | +- Agent port is reachable via HTTP after status reaches 'running' (integration) |
| 23 | +- Agent crash triggers automatic restart (integration) |
| 24 | +- Stopping agent while starting does not leave zombie process (integration) |
| 25 | +- Check for updates contacts the release server (network) |
| 26 | +- Applying update relaunches the app (e2e) |
| 27 | +- Update check works on both canary and stable channels (network) |
| 28 | +- Tray icon persists after main window is closed (e2e) |
| 29 | +- Main window has native vibrancy effect on macOS (e2e) |
| 30 | +- Context menu closes when clicking elsewhere (e2e) |
| 31 | + |
| 32 | +## Hardware and Manual Coverage |
| 33 | + |
| 34 | +- Microphone input works after permission is granted (hardware) |
| 35 | +- Swabble fires 'wakeWordDetected' event when wake word is spoken (hardware) |
| 36 | +- Audio transcription produces non-empty text for clear speech (hardware) |
| 37 | +- Camera preview renders in the UI when stream is started (hardware) |
| 38 | +- Switching between front/rear camera works (hardware) |
| 39 | +- takeScreenshot returns a non-empty base64 PNG (hardware) |
| 40 | +- Frame capture mode streams frames at configured interval (hardware) |
| 41 | +- Left-clicking the tray icon opens the companion window (visual) |
| 42 | +- Right-clicking the tray icon shows the tray context menu (visual) |
| 43 | +- Window can be dragged by clicking the header region (visual) |
| 44 | +- Photo quality is acceptable at default settings (hardware) |
| 45 | +- Requesting accessibility opens System Preferences (OS interaction) |
| 46 | +- Permission status reflects actual system state (OS interaction) |
| 47 | +- Context menu appears at cursor position (visual) |
| 48 | +- Power state reflects actual battery status (hardware) |
0 commit comments