Skip to content

A failed record press no longer blocks the next one (#315) - #326

Merged
Skeyelab merged 1 commit into
mainfrom
issue-315-failed-press
Oct 11, 2026
Merged

Skeyelab merged 1 commit into
mainfrom
issue-315-failed-press

Conversation

@Skeyelab

Copy link
Copy Markdown
Member

Closes #315 (blocker from the whole-app review).

Before: startTake created the next Take folder on a copy of the Show and stored the Show only at the end. If anything after the folder failed (TakeSession, a Stem, the metadata), the next press got the same Take number, found the folder, and threw "file exists" until a relaunch or End Show. A Drive that failed at the press blocked recording outright, and a failure after the Drive was opened never let it go.

Now (Recorder.openTake, one attempt that undoes itself):

  • A failed press removes only the Take folders it created (never one that was already there) and doesn't use up the Take number. The next press records Take 01.
  • A Show created by that press stays open, so a retry doesn't make "… Show 2".
  • If a Drive was in the press and it fails, the press retries on the Device alone; the Drive chip shows the problem. A Device that fails too throws its own error.
  • The Drive access is let go exactly once on every path.

Tests, written first (FailedPressTests):

  • a failed press (a Stem that can't be made) and then a working one records Take 01, with no leftover folder;
  • a Drive whose folder can't be created still records to the Device;
  • a failed press never deletes a Take folder that was already on disk. This test caught a bug in my first version, which removed the folder by name.

./scripts/verify.sh passes (431 tests). Not checked on a device (a full Device or a read-only Drive at the press).

https://claude.ai/code/session_01S6amVoNeB4GahnMMe79dZ6

…ls at the press falls back to the Device (#315)

Assisted-by: Claude Code:claude-opus-5-5

Claude-Session: https://claude.ai/code/session_01S6amVoNeB4GahnMMe79dZ6
@Skeyelab
Skeyelab enabled auto-merge (squash) October 11, 2026 05:04
@Skeyelab
Skeyelab merged commit de99d66 into main Oct 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A failed record press blocks every later press in that Show

1 participant