Skip to content

feat(mobile-web): merge mobile stability PRs#933

Merged
bobleer merged 9 commits into
mainfrom
codex/mobile-prs-921-923-926
May 29, 2026
Merged

feat(mobile-web): merge mobile stability PRs#933
bobleer merged 9 commits into
mainfrom
codex/mobile-prs-921-923-926

Conversation

@bobleer
Copy link
Copy Markdown
Collaborator

@bobleer bobleer commented May 29, 2026

Summary

Integrates the mobile-web stability PRs:

Additional maintainer fixes included while resolving the combined merge:

Verification

  • pnpm --dir src/mobile-web exec tsc --noEmit
  • pnpm --dir src/mobile-web build

jarvis24young and others added 9 commits May 28, 2026 20:00
Wraps the app content in a React error boundary that catches uncaught
errors and shows a friendly fallback UI with a retry button, instead
of a blank white screen.
Wraps the app content in a React error boundary that catches uncaught
errors and shows a friendly fallback UI with a retry button, instead
of a blank white screen. Includes componentDidCatch for diagnostics.
Adds a disconnect (log-out icon) button in the session list header. Shows
a confirmation dialog before resetting all state and returning to the
pairing screen, allowing users to switch to a different desktop.
Adds a disconnect button in the session list header with confirmation
dialog. Clears localStorage user ID and fully resets store state to
prevent auto-reconnect. Includes keyboard accessibility (Escape/Enter)
and ARIA alertdialog role.
Periodically pings the relay every 15s after pairing. When the ping
fails, a yellow banner with a spinner appears at the top of the screen
to indicate the connection is lost.
Shows a yellow banner with spinner at the top of the screen when the
relay connection drops. Uses setTimeout-based non-overlapping polling
with 10s ping timeout, cancellation guard, safe-area-aware positioning,
and scoped CSS animation names.

## Verification Report

- TypeScript: zero errors
- Vite build: success (3.53s)
- Effect dependency: uses reactive `sessionMgr` state + `page` state
- Ping loop: cancellation guard prevents stale state updates
- CSS: `display: inline-block` on spinner, `env(safe-area-inset-top)`
  for notch support, scoped `reconnect-spin` keyframe
- i18n: `sessions.reconnecting` key present in en-US/zh-CN/zh-TW
@bobleer bobleer merged commit ab22b59 into main May 29, 2026
4 checks passed
@bobleer bobleer deleted the codex/mobile-prs-921-923-926 branch May 29, 2026 01:59
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