Skip to content

fix: preserve observer setup failure at readiness timeout#47

Merged
abrichr merged 2 commits into
mainfrom
fix/macos-observer-start-race
Jul 25, 2026
Merged

fix: preserve observer setup failure at readiness timeout#47
abrichr merged 2 commits into
mainfrom
fix/macos-observer-start-race

Conversation

@abrichr

@abrichr abrichr commented Jul 25, 2026

Copy link
Copy Markdown
Member

Fixes the macOS main-branch failure in Tests run 30144317642, job 89643176438.

When readiness timed out while the observer thread was concurrently completing setup with an error, start() always surfaced the generic timeout. The transactional abort now joins first and prefers the concrete first observer failure recorded during that abort. A genuinely never-ready observer still returns the readiness timeout.

Validation:

  • 34/34 tests in tests/test_input_observer.py pass locally
  • synchronized regression covers timeout-before-setup-failure ordering
  • original failed-start and clean never-ready cases pass
  • Ruff check passes for openadapt_capture

No GUI or input injection, package metadata, Capture 1.1 contract, or distribution boundary changes.

@abrichr
abrichr merged commit 1b2cbd3 into main Jul 25, 2026
12 checks passed
@abrichr
abrichr deleted the fix/macos-observer-start-race branch July 25, 2026 06:10
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