Repository navigation
feat: SLOs & uptime reports, status-page incident publications, PagerDuty (replaces Opsgenie), remote-CDP browser checks, SMTP send-mode - #240
Merged
Conversation
fclairamb
force-pushed
the
batch/2026-08-17
branch
from
August 18, 2026 21:11
0f353a5 to
200ee88
Compare
Line 37's 10-native-channels list already counted PagerDuty as shipped; line 65's gap list still called it missing, contradicting itself. Telegram and Microsoft Teams stay listed as the genuine remaining gaps.
Line 37's 10-native-channels list already counted PagerDuty as shipped; line 65's gap list still called it missing, contradicting itself. Telegram and Microsoft Teams stay listed as the genuine remaining gaps.
…rency, report a browser capability
…rency, report a browser capability
…capability payload
New top-level Comparisons docs section, seeded with an honest Checkmate comparison: stacks, check-type mapping, distribution models (first-party regions vs GlobalPing), and manual-migration guidance since no Checkmate importer exists yet. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…tate CTA The "Empty state: no rows at all" prose told every page to add a primary CTA button inside the empty card, duplicating the create action already in the page header. Rewrite the rule to icon + title + hint only, and drop the button from the live preview and importLine snippet to match.
…pages status-updates, escalation-policies, on-call, my-notifications, and slos each rendered a create/settings button inside the empty-state card that duplicated the action already in the page header. Drop the in-card button on all five, matching the Maintenance Windows empty-state structure (icon, title, hint, nothing else). me.notifications keeps its icon/title/hint stack, only the button is removed.
Sweep for the same duplicate-CTA pattern beyond the five pages named in the spec turned up status-pages.index.tsx, which also gained an in-card "New Status Page" button today. Remove it; the header already has one. Swept the rest of the *.index.tsx list routes (integrations, report-schedules, private-locations, jobs, dependencies, discovery, account.organizations, incidents) — none duplicate their header CTA inside the empty-state block.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ry call site Collapses the ProtocolBadge if-chain (checks.index.tsx) and the duplicated PROTOCOL_BADGE_TONES copy (design-reference.tsx) into CheckTypeBadge. Adds a leading tone-colored icon to the type picker and the check detail page.
… chrome StatusUpdateCard gains variant?: "card" | "plain" (default "card"). Plain drops the rounded/border/bg/p-4 chrome while keeping id/scroll anchor, header, badges, hardened Markdown body, "Read more" link, and all data-testid hooks. StatusUpdateThreadList threads the variant through and both nested call sites (active-incident card, "Incident thread" timeline section) now pass variant="plain" so updates no longer render as a card-inside-a-card. Standalone timeline updates keep the default "card".
Extends the existing "open publication renders..." E2E test to check the narrative update nested inside the active-incident card carries none of its own rounded/border/bg-card classes, confirming the plain variant is applied.
Replace the plain grey Badge on the discovery scan detail page with the registry-driven CheckTypeBadge, matching the checks list rendering.
- generic attachments and incident screenshots - status update edit changes not saved - organization breadcrumb missing tabs - test report send returns 202 with an empty body
fclairamb
enabled auto-merge (squash)
August 20, 2026 23:06
Merged
fclairamb
added a commit
that referenced
this pull request
Aug 20, 2026
🤖 I have created a release *beep* *boop* --- ## [0.17.0](v0.16.2...v0.17.0) (2026-08-20) ### Features * **analytics:** serve PostHog capture first-party through /ingest ([#235](#235)) ([b9f6858](b9f6858)) * SLOs & uptime reports, status-page incident publications, PagerDuty (replaces Opsgenie), remote-CDP browser checks, SMTP send-mode ([#240](#240)) ([749f108](749f108)) ### Bug Fixes * **deps:** update go dependencies (non-major) ([#243](#243)) ([29a25af](29a25af)) * **deps:** update module github.com/arran4/golang-ical to v0.3.6 ([#242](#242)) ([5d53ff8](5d53ff8)) * **deps:** update module github.com/rabbitmq/amqp091-go to v1.14.0 ([#241](#241)) ([7fd51a3](7fd51a3)) * **deps:** update module github.com/stretchr/testify to v1.12.0 ([#236](#236)) ([763543f](763543f)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
This was referenced Sep 8, 2026
Closed
Closed
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.
Summary
A large batch branch (
batch/2026-08-17) landing ~30 audited specs. Highlights, grouped:New capabilities
maxSlosentitlement, full dash0 list/detail/edit pages and an SLO coverage chip.List-Unsubscribeheaders and per-recipient links.checkers.browser.cdp_url/chrome_path, concurrency cap, a per-region browser capability reported by workers, a creation-time warning when a region has no headless Chrome, surfaced under the region picker.POST /api/v1/auth/change-passwordplus a Password card on the account security page.AgentResponseand flagged on drift; long-revoked agents are purged byagent_gcand a secondDELETEpurges immediately.Reliability & observability
workers.capabilitiesmissing).warnmode, a self-healing 014, and asolidping migrate repairCLI.db.slow_query_threshold(default 500ms).SP_SENTRY_TRACES_SAMPLE_RATEbound.Performance
errgroupinstead of a serial loop (~8s → parallel).with=members, the rest batched into ≤3 queries per page.Fixes
mail_fromSMTP/header-injection hole closed · auto-slug races on create/clone · JSONPath assertions with no body matcher · notification route/contact deletion + dangling-route cleanup · SQLite post-006 unique index across the 016 rebuild · results listwith=checkSlug,checkNamejoin · status0 availability-bar tooltip staleness · 2FA temp token as a Bearer header · blast-radius UUIDs/overflow · duplicate empty-state CTAs.BREAKING CHANGE: Opsgenie is removed — migration 015 hard-deletes existing Opsgenie integrations on upgrade; recreate them as PagerDuty integrations using an Events API v2 routing key.
BREAKING CHANGE: the results list endpoint no longer returns
pagination.total,nextCursororhasMore— they were never populated with real values.Test plan
make test— backend suite greenmake lint— backend + dash lint clean (no new errors in touched files)make test-dash— dash0 Playwright E2E green