Skip to content

fix(web): recover preview recording after a failed settings read - #446

Merged
incognitojam merged 1 commit into
mainfrom
fix/recording-settings-read-failure
Sep 24, 2026
Merged

incognitojam merged 1 commit into
mainfrom
fix/recording-settings-read-failure

Conversation

@incognitojam

Copy link
Copy Markdown
Owner

When the client settings could not be read at the start of a preview recording, the tab stayed registered as recording. The recording indicator stayed on, and the next attempt on that tab was refused as a conflict until the page was reloaded.

Recording startup now clears the recording when the settings read or the first paint wait fails, as upstream does. This path was lost when styal's hidden-tab capture was combined with upstream's onboarding changes (pingdotgg/t3code#5362), which read the settings and wait for the paint at the same time.

The change adds upstream's regression test: a failed settings read leaves no active recording, no surface activity, and no screencast or media capture, and a second attempt records normally. The test does not assert that no paint frames ran, since styal starts the paint wait alongside the settings read.

Validation

  • The new test fails on main: the tab remains in the active recording set after the rejected settings read. With the change it passes.
  • vp test run apps/web/src/browser/: 121 tests passed. Web typecheck, lint, and format pass.
  • Not reproduced in a running app: forcing the client settings read to fail needs a broken settings store, so the failure path is covered by the unit test only.

Written by an agent (Claude Code, claude-opus-5-5).

When the client settings could not be read at the start of a preview recording, the tab stayed registered as recording, so the recording indicator stayed on and the next attempt was refused as a conflict. Clear the recording when the settings read or the first paint wait fails, as upstream does, and add upstream's regression test. The test does not assert that no paint frames ran, because styal waits for the settings and the paint at the same time.
@incognitojam
incognitojam enabled auto-merge (squash) September 24, 2026 23:14
@incognitojam
incognitojam merged commit 3e1f28b into main Sep 24, 2026
16 checks passed
@incognitojam
incognitojam deleted the fix/recording-settings-read-failure branch September 24, 2026 23:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant