Skip to content

fix(mobile): recover from screen render failures - #768

Merged
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-24-mobile-render-recovery
Sep 25, 2026
Merged

rynfar merged 1 commit into
pylonfrom
upstream/2026-09-24-mobile-render-recovery

Conversation

@rynfar

@rynfar rynfar commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

A render exception in a mobile route, sidebar, conversation feed, or inspector could replace the whole view with an unrecoverable error. This adds bounded error views with Try again, Copy details, and route exit actions. Navigation identity and workspace changes reset a failed subtree; feed failure leaves the composer mounted. The New Task flow keeps its provider and draft selection mounted when a child screen fails, while an outer boundary can still catch provider-level errors.

Adapted from T3 commit 23c7ab901afa66dc8e791a3873b600726a6ba8c7 (#13197). Pylon-specific integration keeps its blur host, rollback props, and existing native button styling. RootStackLayout providers remain outside these per-screen boundaries; this PR covers route, sidebar, feed, and inspector render failures.

Validation: two React renderer regressions passed (retry preserves a sibling/draft host; route identity reset), mobile typecheck, scoped lint and format checks passed, and independent source review cleared the final patch. Lint reports existing warnings in affected large components. No device UI verification was performed because AGENTS.md requires explicit approval.

Model: GPT-6 Sol (low). Harness: Codex in Pylon, with GPT-6 root oversight and independent review.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@vercel

vercel Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pylon-marketing Ready Ready Preview Sep 24, 2026 8:53am UTC

@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 14.0 KiB 13.9 KiB −76 B (−0.5%) 15.1 KiB ✅
Codex Thread snapshot wire 7.2 KiB 7.2 KiB +9 B (+0.1%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.8 KiB 6.7 KiB −85 B (−1.2%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 58.0 KiB 58.0 KiB −88 B (−0.1%) 66.4 KiB ✅
Codex Live turn messages 10 8 −2 (−20.0%) 21 ✅
Claude Total thread wire 14.0 KiB 14.0 KiB 0 B (0.0%) 15.1 KiB ✅
Claude Thread snapshot wire 7.2 KiB 7.2 KiB −1 B (−0.0%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.7 KiB 6.7 KiB +1 B (+0.0%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.9 KiB 58.9 KiB −44 B (−0.1%) 66.4 KiB ✅
Claude Live turn messages 10 9 −1 (−10.0%) 21 ✅

Baseline: 7ed3f71 · PR result: 9a36871 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 115.6 KiB
  • Claude decoded thread snapshot: 116.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar merged commit c720b0f into pylon Sep 25, 2026
19 checks passed

This branch was successfully deployed

1 active deployment
Preview — 9a36871f Deployed Sep 24, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant