feat(updatecheck): daily check cap, failure backoff, CI nudge suppression (Spec 079 US3)#911
Open
Dumbris wants to merge 4 commits into
Open
feat(updatecheck): daily check cap, failure backoff, CI nudge suppression (Spec 079 US3)#911Dumbris wants to merge 4 commits into
Dumbris wants to merge 4 commits into
Conversation
…ession (Spec 079 US3) FR-018: DefaultCheckInterval 4h -> 24h (at most a daily check against the rate-limited GitHub API); consecutive failures back the periodic loop off exponentially (2x/4x/8x the interval, capped). CheckNow (user refresh via /api/v1/info?refresh=true) bypasses the window — explicit intent. FR-019: CI=true/1 (same convention as the telemetry env-filter) marks the process non-interactive: the 'Update available' announcement drops to Debug (no per-run CI log nag) and every VersionInfo carries an additive nudges_suppressed field (FR-021-safe) that the Web UI banner honors while status/doctor/info keep reporting the facts.
Deploying mcpproxy-docs with
|
| Latest commit: |
97c6a34
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://94a2edcf.mcpproxy-docs.pages.dev |
| Branch Preview URL: | https://feat-079-upgrade-nudge-us3.mcpproxy-docs.pages.dev |
…guard backoff; soften refresh-failure toast (Codex round 1) - nudges_suppressed added to the generate-types template (contracts.ts is generated; the hand-edit would have been wiped and TestContractsInSync would fail) and regenerated. - Go tray decodes nudges_suppressed and hides the menu nudge / demotes the log when set; Web UI sidebar 'update' badge honors the shared updateNudgesSuppressed store computed (FR-019 covers every nudge surface, not just the banner). - Backoff mutations are generation-guarded and SetConfig clears the window on an effective change, so a pre-change failure cannot swallow the prompt re-enable/channel-switch check (new test). - Manual-refresh check failure toast demoted from error to info with non-alarming copy (FR-020).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes out the remaining task on the P0
upgrade-nudgeepic (roadmap:upgrade-nudge-quiet). Implements Spec 079 US3 — operator control and environment-appropriate quiet.Truth-sync first
Most of US3 was already shipped and the roadmap note was stale: FR-012 (
update_checkconfig group + hot-reload), FR-013 (channel semantics), FR-014 (env-var precedence), FR-016/017 (downgrade + dev-build guards) all exist with tests. The genuinely missing pieces were FR-018 and FR-019:FR-018 — rate limit + backoff
DefaultCheckInterval4h → 24h ("at most a daily check" against the rate-limited unauthenticated GitHub API).CheckNow(user-initiated/api/v1/info?refresh=true) bypasses the window — explicit intent.FR-019 — CI / non-interactive quiet
CI=true|1(the same convention the telemetry env-filter uses) marks the process non-interactive.VersionInfo//api/v1/infogain an additivenudges_suppressedfield (FR-021-compatible); the Web UI banner honors it whilestatus/doctor/infokeep reporting the facts.Verification
go test -race ./internal/updatecheckgreen; one pre-existing announce-dedupe test updated to step its clock past the new backoff window.nudges_suppressed); frontend suite green,vue-tscclean.make swaggerregenerated; strict golangci-lint v2 clean on both tag sets;./scripts/test-api-e2e.sh65/65.docs/configuration.mddocuments cadence, backoff, and CI quiet behavior.