Skip to content

GRE-222: Recover browser media and control independently - #20

Merged
HeadCase merged 1 commit into
developfrom
codex/gre-222-browser-transport-recovery
Aug 1, 2026
Merged

HeadCase merged 1 commit into
developfrom
codex/gre-222-browser-transport-recovery

Conversation

@HeadCase

@HeadCase HeadCase commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • recover WHEP media and control WebSocket transports independently
  • retry immediately, then with bounded jittered backoff that resets after stable recovery
  • preserve the last trustworthy frame while media reconnects without replaying camera intent

Changes

  • add generation-fenced reconnect loops with cancellation and online/foreground bypass
  • bound aggregate WHEP negotiation and make remote session cleanup best-effort and non-blocking
  • add retained-frame presentation and explicit reconnecting UI states
  • expand unit, HTTP-contract, and Playwright recovery coverage
  • record deployed acceptance evidence in docs/verification/gre-222-browser-recovery.md

Verification

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test --workspace --all-targets --all-features
  • cargo deny check
  • cargo machete
  • npm test
  • npm run typecheck:browser
  • deployed Mac Playwright acceptance against the real Rust, FFmpeg, MediaMTX, and ASI camera stack
  • Standards review: clean
  • Spec review: clean

Closes GRE-222

@HeadCase
HeadCase merged commit 14d751b into develop Aug 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant