Repository navigation
Start ephemeral hosted browsers from saved profiles (KES-736) - #6908
Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
Internal previewPreview URL: https://mcp-inspector-pr-6908.up.railway.app |
- Map BROWSER_PROFILE_NOT_DELIVERABLE in the launch-refusal table so a web eval launch shows the backend's message as a 400 instead of a 500. - Restore the local engine's Profiles row: local unattended runs still start without a profile; only hosted runs restore a saved copy. - Update the hosted comments that still said ephemeral means no profile. - Format the PR's new lines, move the hoisted Playwright mock to the top of its test file, and regenerate the browserd bundle. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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. |
Regenerated the browserd bundle to resolve the conflict. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
WalkthroughThe daemon now prepares saved-profile archives before browser launch. Imported profiles use persistent browser contexts in persistent and ephemeral modes, while unseeded ephemeral runs retain isolated in-memory contexts. The changes add tests for archive preparation and launch selection, an opt-in real-browser test for separate ephemeral runs, and a test that ephemeral profile export returns HTTP 501. The environment resolver maps browser-profile delivery refusals to HTTP 400. Documentation and a changeset describe saved-profile behavior. Priority: Merge Risk:
|
Task, spec and plan
User story
As a hosted eval or journey author,
I want the browser to load my client's saved profile,
so that the first observation starts signed in.
Acceptance criteria
BROWSER_PROFILE_NOT_DELIVERABLE(backend refactor(HomeTab): drop ensureOrgMetricFresh client effect #2399) answers 400 with the backend's message instead of a 500.What this does
Restores the archive before Chromium launch and reuses one profile-directory launch helper. The session remains ephemeral and never saves back. No mode/schema changes are needed. Both browserd distribution files are regenerated.
Do not merge or release yet: backend #2398 must ship first, and GDPR-85 / #6452 must merge before this change ships. Rebase and regenerate browserd after that dependency lands. This draft does not include or waive that privacy fix.
Documentation
Corrects existing technical tables in local-browser-engine.md and webmcp-inspector.md as requested by KES-736. These describe the implementation; they are not GA or release evidence. Publication scope still requires maintainer review.
Architecture
Screenshots and recordings
None: no UI change
Deleted
The persistent-only import guard and swallowed archive-unlink error. The duplicate profile-directory launch path becomes one helper.
Reused
Existing archive importer, singleton-lock handling, contextOptionsFor, context adapter, and persistent-only export wiring.
Production signal
Existing browserd startup failure reporting. Staging must still prove the first observation is signed in on eval and journey surfaces.
Automated decisions
None: no automated decision about users
Verification
Checklist