Skip to content

Playwright diagnostic retention imposes an unintended lifetime browser cutoff #772

Description

@kamilio

The native browser network still encounters an unintended lifetime cutoff in the safe-bash diagnostic observer.

In observePlaywrightCapabilities, monotonically increasing bytes and count charge request postData and response/console metadata against maxCommandBytes and 4,096 events. Navigation clears some displayed records but never restores this budget. Exceeding the diagnostic budget sets permanent state.failure; subsequent console flushes fail otherwise successful browser commands.

Concrete evidence from the consumer native conformance fixture:

  • Direct @cloudflare/playwright@1.3.6, without the safe-bash controller, successfully sends 33 printable 2 MiB requests to a local HTTP server: 69,206,016 bytes in about 6.1 seconds.
  • The same browser flow through the public safe-bash controller fails with Playwright event retention limit exceeded.
  • This is independent of the removed Worker request proxy and is not a Cloudflare traffic limit.

Required correction: bound retained diagnostic history through rolling eviction, retaining standard request/console behavior and per-command output limits. Recording history must not permanently poison the session or stop normal browser traffic. Cover navigation, oversized diagnostic entries, request/response pairs, closed pages and sustained event streams.

This task is implementing the fix in its existing isolated poe-code worktree. The previous release is already publishing, so this correction will require a follow-up verified public release before consumer delivery.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions