Repository navigation
fix: mobile dialogs and single-chain Frontier rendering - #7
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 797ee1abd2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const top = modalStack[modalStack.length - 1]; | ||
| for (const node of document.body.children) { | ||
| if (!inertState.has(node)) inertState.set(node, node.inert); | ||
| node.inert = top ? node !== top.backdrop : inertState.get(node); |
There was a problem hiding this comment.
Avoid inerting an open native save dialog
When a game’s save manager is open and the page is backgrounded and restored, cloud-save.js has an open native dialog.showModal() while the visibility handler in app.js opens the custom pause modal. This assignment makes that native dialog inert, but it remains in the browser top layer above the ordinary .modal-backdrop, leaving touch users unable to interact with either dialog and effectively requiring a reload. Preserve an open top-layer dialog or defer the pause modal until the save dialog closes.
Useful? React with 👍 / 👎.
|
Follow-up regression found and fixed: a completed no-op cloud pull could emit a progress-replacement event while a newer local play counter update was pending, returning Frontier to its menu. Added a deterministic failing-then-passing transaction regression and retained notification for actual remote replacement. Rapid resume now queues the next frame rather than rendering synchronously for every toggle. Static cache v4 refreshes the shared core for historical SW clients. Current local results: 82 frontend tests and 48 backend integration/runtime tests passed. Full browser checks are rerunning for the final commit. |
Scope
Verification
Boundaries
No production data edits, model calls, paid services or homepage redesign. Chromium emulation does not replace physical iOS Safari and VoiceOver acceptance.