Skip to content

Enforce passive update check deadline#55

Merged
codesoda merged 3 commits into
mainfrom
issue-group/update-passive-check-blocking
Jul 8, 2026
Merged

Enforce passive update check deadline#55
codesoda merged 3 commits into
mainfrom
issue-group/update-passive-check-blocking

Conversation

@codesoda

@codesoda codesoda commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Wrap the entire passive update check in a hard 3-second Tokio timeout before process exit.
  • Keep the public passive check entrypoint as a thin wrapper while adding a private deadline helper.
  • Add paused-time async tests covering both hung and fast futures.
  • Add Tokio test-util as a dev-only feature for deterministic deadline tests.

Verification

  • RUSTFLAGS="-D warnings" cargo test — passes
  • cargo test --lib update — passes
  • cargo clippy --all-targets -- -D warnings — passes
  • cargo fmt --check — passes

Closes #36

codesoda and others added 3 commits July 8, 2026 16:01
…dline in test

The outer run_passive_check deadline equals the inner HTTP timeout, so a
hung network could cancel passive_version_check before the timestamp write,
defeating the retry-storm guard and re-paying the full deadline every run.
Write the timestamp before the attempt so cancellation cannot skip it, and
strengthen the paused-clock test to assert the deadline's exact value.
@codesoda codesoda merged commit 5b21cbf into main Jul 8, 2026
1 check passed
@codesoda codesoda deleted the issue-group/update-passive-check-blocking branch July 8, 2026 07:33
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.

spawn_passive_check blocks main thread despite claiming background execution

1 participant