Repository navigation
fix(relay)!: keep the default stats interval when the CLI omits it - #6655
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review.
|
Keeps this branch's single stats interval field; per #6655, an unset interval keeps the producer's default. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
moq-relay --stats-enabledwithout--stats-intervalrefuses to start withstats.interval must be non-zero. #6472 madestats::Config::intervala#[usage(skip)]Duration, and the CLI parser fills a skipped field with its type's zero rather than the struct'sDefault, so a relay configured from flags alone builds stats with a zero interval. The oldinterval.max(1)used to hide that.intervalis now anOption<Duration>, the same aslinger:Nonekeeps the producer's 1s default, and an explicit zero is still refused.A staging edge on a pin carrying #6472 crash-looped on exactly this at startup.
Impact
moq_relay::stats::Config::intervalis anOption<Duration>, not aDuration. SetSome(d)where you setd;Nonepublishes every second.MIGRATE.md's refactor(stats): one name per stats track, reader, and CLI surface #6472 entry says so.Tests
config::tests::cli_stats_build_without_an_intervalparses--stats-enabledalone and builds the stats producer. Without the fix the parse yields a0nsinterval.just checkpasses.(Written by Claude Opus 5.5)
🤖 Generated with Claude Code