Skip to content

fix: preserve the capture clock epoch - #102

Merged
abrichr merged 1 commit into
mainfrom
codex/capture-clock-once
Aug 27, 2026
Merged

fix: preserve the capture clock epoch#102
abrichr merged 1 commit into
mainfrom
codex/capture-clock-once

Conversation

@abrichr

@abrichr abrichr commented Aug 27, 2026

Copy link
Copy Markdown
Member

What changed

The first retained desktop frame used the recorder clock. When the screen thread started, it restarted that same clock. The next frame could then look older than the initial frame, and the Windows live seal was right to reject the capture.

The recorder process now initializes its clock once. Its screen, window, input, and processor threads keep that epoch. Child processes still initialize their own process-local clocks. This doesn't sort timestamps or relax video and seal validation.

Tests

  • Added a deterministic interleaving test that reproduces the old clock rewind.
  • Strengthened the no-action live test to require multiple retained frames with increasing capture times.
  • The complete local gate passed: 594 tests passed, 2 skipped, and 12 slow or browser tests were excluded by the repository gate.
  • Ruff and the diff check passed.
  • An independent exact-head review found no P0-P2 issue.

An optional interactive macOS run on a two-monitor host hit the existing 30-second video-writer startup limit before it reached the clock assertions. The hosted Windows live run remains the platform gate for this fix.

@abrichr
abrichr force-pushed the codex/capture-clock-once branch from 5cea646 to e47ced0 Compare August 27, 2026 19:29
@abrichr
abrichr marked this pull request as ready for review August 27, 2026 19:32
@abrichr
abrichr merged commit 97d7ca4 into main Aug 27, 2026
14 checks passed
@abrichr
abrichr deleted the codex/capture-clock-once branch August 27, 2026 19:32
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.

1 participant