Skip to content

x shot --island / ui.island: intermittent "did not finish mounting inside the settle window" after other browsers ran in the same process #474

Description

@ivndev001

What

An island state intermittently fails X_SHOT_ISLAND_UNPHOTOGRAPHABLE — "did not finish mounting inside the settle window" — when the capture runs after other browser sessions in the same process. Standalone, the same island is clean every time.

Data (20.1.6, ivndev001/dz-showcase, raw Chrome, quiet box)

  • x shot --island new-link --json standalone: clean 3/3, and clean with --settle 8000.
  • ui.island new-link as the ONLY call in an x mcp serve session: clean. ui.island then ui.shot: clean. ui.shot then ui.island: clean.
  • ui.shot /dashboard (phone, dark) → ui.shot /links/dzdocs (desktop, light) → ui.island new-link: 1 of 3 sessions fails, on a different state each time (refused-url light, then dark).
  • The same symptom was recorded independently on examples/dummy while building fix(cli): x shot --island gives a live socket an inert stand-in #449, and once on a full --all-islands sweep right after a fresh install.

So: not the island, not the harness alone — the third browser session in one process sometimes misses the settle window. Suspects: a per-viewport browser memo holding two Chrome instances while a third launches (memory/CPU on the first paint), or the island harness page being served by the memoised scratch server while it is still busy with the previous capture. Not reduced further.

Why it matters

An agent using ui.island after ui.shot sees a false negative about one state in three sessions and goes looking for a component bug.


Found by dogfooding ui.shot/ui.island, 2026-09-18. Filed by an agent on the repository owner's instruction.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions