Skip to content

Stabilize mobile realtime lifecycle handling - #83

Merged
ralyodio merged 2 commits into
profullstack:masterfrom
phucnguyen1707:stabilize-mobile-realtime-lifecycle
Aug 28, 2026
Merged

Stabilize mobile realtime lifecycle handling#83
ralyodio merged 2 commits into
profullstack:masterfrom
phucnguyen1707:stabilize-mobile-realtime-lifecycle

Conversation

@phucnguyen1707

@phucnguyen1707 phucnguyen1707 commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • suspend host, viewer, chat, screen-share, SSE, WebRTC, media, and stats resources safely when the mobile app backgrounds
  • reconnect exactly once on foreground and replace stalled SSE sessions with a heartbeat watchdog
  • guard asynchronous signaling and media callbacks by connection generation so retired peers cannot restore stale state
  • preserve microphone mute intent across reconnects and make screen-share publication and teardown serialized
  • document the foreground call-continuity behavior and native screen-share ownership

CI hygiene

  • apply the pinned Prettier formatter to two pre-existing unformatted web files that caused the repository-wide format check to fail
  • keep the formatting-only commit separate from the mobile lifecycle commit; it has no runtime or type-semantic changes

Validation

  • Node.js 24.9.0
  • pnpm --filter @pairux/mobile lint
  • pnpm --filter @pairux/mobile typecheck
  • pnpm --filter @pairux/mobile test (13 files, 110 tests)
  • pnpm --filter @pairux/shared-types build
  • pnpm --filter @pairux/mobile verify:bundle
  • Android production export completed and contained exactly one React 18.3.1 runtime
  • pnpm format:check
  • pnpm lint
  • pnpm typecheck
  • pnpm test
  • pnpm build

@ralyodio
ralyodio merged commit 818f836 into profullstack:master Aug 28, 2026
14 checks 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.

2 participants