Skip to content

Fix standalone workspace-browser packaging for Playwright metadata #106

Description

@tongchen92

Source evidence

Two NotFair MCP feedback reports (nowork-studio/notfair-mcp #759 and #777) identify the same current source-repo failure: browser_open cannot launch from the packaged standalone install because Playwright cannot resolve its packaged browsers.json.

The live source owns this path:

  • notfair/src/server/mcp-server/browser-tools.ts calls getOrLaunchBrowser() before opening a tab.
  • notfair/package.json ships the standalone package and declares playwright-core.
  • notfair/scripts/copy-standalone-assets.mjs dereferences and copies standalone package assets, but has no Playwright metadata inclusion/self-check.

Scope

Make the standalone package include the Playwright metadata required by the workspace-browser runtime, and make the startup failure actionable when that package invariant is missing. Do not change browser account/session behavior, OAuth, or navigation semantics.

Acceptance checks

  • A packaged standalone artifact contains the Playwright browsers.json resolution target needed by the installed playwright-core runtime.
  • A focused regression proves the packaging/self-check behavior rather than relying on a developer node_modules tree.
  • browser_open reports a clear repair/package-integrity error if that invariant is absent; it must not claim the browser was launched.
  • Existing browser-tool tests and TypeScript typecheck pass.

Non-goals

  • No OAuth/profile-selection changes.
  • No browser tool namespace change.
  • No changes to external Chrome installation or customer credentials.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions