Repository navigation
fix(status-pages): close a grouped check's entry when it recovers - #615
Merged
Merged
Conversation
A status-page entry for a grouped check stayed open after recovery whenever any other member of the group was down. One member down for weeks with no entry of its own kept every other member's entry open: 12 of them sat on a page whose checks were all up. - An entry now waits only for the members it covers: its own incident, or a member that failed after it and has no entry of its own. - Deleting a check still finds its group, so the entries waiting on it close. - Check deletions from background jobs (demo cleanup, private-location monitors) now close status-page entries too. - The stale-entry banner links each entry when there are several, instead of linking to the status page, which has no list of them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #615 +/- ##
==========================================
+ Coverage 83.32% 83.37% +0.05%
==========================================
Files 1238 1238
Lines 127041 127064 +23
==========================================
+ Hits 105854 105945 +91
+ Misses 21178 21110 -68
Partials 9 9
🚀 New features to boost your workflow:
|
fclairamb
enabled auto-merge (squash)
October 19, 2026 22:28
…up entry open Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…to fix/stale-group-publications
Owner
Author
|
Added 🤖 Addressed by Claude Code |
This was referenced Oct 19, 2026
Merged
fclairamb
added a commit
that referenced
this pull request
Oct 20, 2026
Specs for the open findings of the daily security scan. Specs only, no code change. ## Specs | Spec | Severity | Finding | Summary | |---|---|---|---| | `specs/todos/2026-10-20-01-sender-response-body-caps.md` | medium | K1 (2026-10-20) | The Google Chat, Gotify, Matrix, Mattermost, MS Teams, ntfy, Slack webhook and Zulip senders, and the RabbitMQ checker, read response bodies from a host the user chooses with no size cap. Only the timeout bounds them. A member pointing one at their own server can exhaust the server's memory, through the integration test endpoint, the notification jobs or the check workers. Same class as J1 (A2A), fixed in #608. Fix: one capped-read helper. | Scan of 2026-10-20 covered: - the grouped-check status-page fix (#615): the sibling lookups stay within the org; - the rate-limit borrowing (#609): the debt is bounded and cannot be triggered by a tenant or an agent; - the dash0 chart changes and the dependency bumps. It also verified the A2A response cap of #608 (J1). No other new finding. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
fclairamb
added a commit
that referenced
this pull request
Oct 22, 2026
🤖 I have created a release *beep* *boop* --- ## [0.41.0](v0.40.1...v0.41.0) (2026-10-22) ### Features * **email:** calmer emails that say why a check is down ([#623](#623)) ([8dd68d3](8dd68d3)) * run crawl and discovery as worker tasks from private locations ([#633](#633)) ([062fd99](062fd99)) ### Bug Fixes * **aichecks:** hold AI runs with real secrets to a runtime host allowlist ([#631](#631)) ([c09fdd1](c09fdd1)) * **checkdns:** stub the resolver in TestDNSChecker_Execute ([#630](#630)) ([cca1d88](cca1d88)) * **dash0:** drag-to-zoom on the Timing chart ([#617](#617)) ([931816c](931816c)) * **deps:** update github.com/dop251/goja digest to 07c4b9d ([#637](#637)) ([0170643](0170643)) * **deps:** update github.com/dop251/goja digest to 64adc8b ([#626](#626)) ([1efd502](1efd502)) * **deps:** update github.com/dop251/goja digest to 7b1a022 ([#619](#619)) ([d3adde9](d3adde9)) * **deps:** update go dependencies (non-major) ([#622](#622)) ([adb622c](adb622c)) * **deps:** update go dependencies (non-major) ([#627](#627)) ([dee2fd0](dee2fd0)) * **deps:** update go dependencies (non-major) ([#635](#635)) ([da717a5](da717a5)) * **deps:** update module github.com/a2aproject/a2a-go/v2 to v2.7.0 ([#625](#625)) ([bb8c7ae](bb8c7ae)) * **deps:** update module github.com/anthropics/anthropic-sdk-go to v2 ([#628](#628)) ([90f70c2](90f70c2)) * **deps:** update module github.com/fergusstrange/embedded-postgres to v2 ([#614](#614)) ([913ece9](913ece9)) * **email:** usage-cap email links to the platform upgrade page, not billing ([#632](#632)) ([abf3a68](abf3a68)) * **status-pages:** close a grouped check's entry when it recovers ([#615](#615)) ([d4d9b21](d4d9b21)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Problem
The checks list said "12 status-page incidents are open on Live demo status while every linked check is up". Clicking "Review it" opened the status page, which has nothing to review.
Two bugs:
OnIncidentResolvedkept its entry open if any other group member was down. A member had been down since 2026-09-07 with no entry of its own, so for six weeks no other member's entry could close. Deleting that member did not help either: the delete resolves the incident after the soft delete,GetCheckno longer found the check, and the group lookup came back empty.Fix
incidentGroupUIDreads the check withGetCheckIncludingDeleted.Tests
TestLongDownSiblingDoesNotHoldAnotherMembersEntryOpenTestDeletingTheLastMemberClosesTheConsolidatedEntrystale-publications-banner.test.tsx: one link when there is one entry, one link per entry when there are several.go test -short ./..., golangci-lint, tsc and the vitest suites pass locally.The 12 entries already open in prod will not close on their own after deploy, because their resolve already ran. They need to be closed once by hand.
🤖 Generated with Claude Code