Skip to content

fix(desktop-browser): add recoverable page failure states - #7142

Merged
waleedlatif1 merged 3 commits into
stagingfrom
codex/desktop-browser-errors
Aug 27, 2026
Merged

fix(desktop-browser): add recoverable page failure states#7142
waleedlatif1 merged 3 commits into
stagingfrom
codex/desktop-browser-errors

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

  • render EMCN recovery pages for network, certificate, crash, and unresponsive browser failures
  • preserve failed-navigation Back/Forward behavior, retries, focus handoff, and tab metadata
  • align omnibox pointer selection with Chromium and add comprehensive regression coverage

Type of Change

  • Bug fix

Testing

  • bun run lint
  • bun run apps/sim/scripts/check-block-registry.ts origin/staging
  • bun run check:audits
  • bun run --cwd apps/desktop test (1,190 tests)
  • desktop and app TypeScript checks

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Aug 27, 2026 12:57am

Request Review

@greptile-apps

greptile-apps Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR adds recoverable browser failure states while preserving navigation, focus, and tab metadata.

  • Represents load failures, renderer crashes, and unresponsive pages through the shared browser protocol.
  • Routes panel and agent Back, Forward, and Reload actions through recovery-aware session helpers.
  • Adds an accessible recovery view and aligns omnibox pointer selection with Chromium behavior.
  • Extends desktop, store, protocol, and UI regression coverage.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
apps/desktop/src/main/browser-agent/session.ts Adds per-tab recovery state and recovery-aware navigation helpers; the previous synthetic Forward issue is addressed by consuming preservation on every main-frame navigation start.
apps/desktop/src/main/browser-agent/driver.ts Publishes main-frame load failures and routes both panel and agent navigation through the session recovery path.
apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-page-issue.tsx Adds the documented, accessible recovery component and sanitized failure-specific copy.
apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-session.tsx Integrates recovery rendering, focus handoff, panel visibility, and Chromium-style omnibox pointer selection.
apps/sim/stores/browser-session/store.ts Propagates recoverable page issue state through the browser session store.
packages/browser-protocol/src/index.ts Extends shared page and tab state contracts with recoverable browser issue metadata.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  Failure[Main-frame failure or renderer issue] --> Session[Record tab page issue]
  Session --> State[Publish page and tab state]
  State --> Recovery[Render recovery view]
  Recovery --> Reload[Reload or retry failed URL]
  Recovery --> Back[Back dismisses failed entry]
  Back --> Synthetic[Preserve failed URL as synthetic Forward]
  Synthetic --> Forward[Forward retries failed URL]
  Reload --> Navigation[Chromium navigation]
  Forward --> Navigation
  Navigation --> Clear[Clear transient recovery state]
Loading

Reviews (3): Last reviewed commit: "fix(desktop-browser): expire stale recov..." | Re-trigger Greptile

Comment thread apps/desktop/src/main/browser-agent/session.ts

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 14 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread apps/desktop/src/main/browser-agent/session.ts
@waleedlatif1
waleedlatif1 force-pushed the codex/desktop-browser-errors branch from 5d5dbd2 to fd89cb3 Compare August 27, 2026 00:47
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

Comment thread apps/desktop/src/main/browser-agent/session.ts Outdated
@waleedlatif1
waleedlatif1 force-pushed the codex/desktop-browser-errors branch from fd89cb3 to 2eb0950 Compare August 27, 2026 00:57
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
waleedlatif1 merged commit ea93f6b into staging Aug 27, 2026
24 checks passed
@waleedlatif1
waleedlatif1 deleted the codex/desktop-browser-errors branch August 27, 2026 01:00
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