webhooksHealthcountURL now uses the common form /app/health_check?filter=<url-encoded JSON QQueryFilter> (new support/FilterLinks), not base64. Verified in qqq-frontend-next v1.0.0-RC.35 (src/lib/utils/filter-utils.tsdeserializeFilter): it accepts a JSON string (starts with {) or base64, so the old link did open the filter; this aligns it with every other qbit.
The audit's wider point holds for webhooksHome: all four KPI links went to the unfiltered Deliveries table. They now carry filters: Delivered (24 h), Failed attempts (24 h, attempts table, outcome not succeeded/rate-limited/in-flight), Dead letters, Waiting to send. Latency stays unlinked.
Rubric item moved
A3 (drill-through correctness) on Webhooks (webhooks): 1 -> 1 on its own (no point change; tiles still lack comparison and as-of). It removes a correctness defect, and counts the tiles now open the records they count.
WebhooksHealthWidgetTest decodes the URL and asserts the filter is component EQUALS webhooks; new WebhooksHomeTest.kpiDrillLinksAreFilteredJson decodes the KPI links. ./mvnw verify passes locally.
Screenshots
None: no layout change; link targets only. Full-page shots happen when kof22 pins the release.
Release
A qbit-webhooks release is needed (next RC); kof22 (Website-Backend) must bump its qbit-webhooks pin to it. No QQQ change.
## Summary
- `webhooksHealth` `countURL` now uses the common form `/app/health_check?filter=<url-encoded JSON QQueryFilter>` (new `support/FilterLinks`), not base64. Verified in qqq-frontend-next v1.0.0-RC.35 (`src/lib/utils/filter-utils.ts` `deserializeFilter`): it accepts a JSON string (starts with `{`) or base64, so the old link did open the filter; this aligns it with every other qbit.
- The audit's wider point holds for `webhooksHome`: all four KPI links went to the unfiltered Deliveries table. They now carry filters: Delivered (24 h), Failed attempts (24 h, attempts table, outcome not succeeded/rate-limited/in-flight), Dead letters, Waiting to send. Latency stays unlinked.
## Rubric item moved
A3 (drill-through correctness) on Webhooks (`webhooks`): 1 -> 1 on its own (no point change; tiles still lack comparison and as-of). It removes a correctness defect, and counts the tiles now open the records they count.
## Audit row fixed
Webhooks A3 / W0-14: "Webhooks `countURL` filter form".
## Tests
`WebhooksHealthWidgetTest` decodes the URL and asserts the filter is `component EQUALS webhooks`; new `WebhooksHomeTest.kpiDrillLinksAreFilteredJson` decodes the KPI links. `./mvnw verify` passes locally.
## Screenshots
None: no layout change; link targets only. Full-page shots happen when kof22 pins the release.
## Release
A qbit-webhooks release is needed (next RC); kof22 (Website-Backend) must bump its qbit-webhooks pin to it. No QQQ change.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
webhooksHealthcountURLnow uses the common form/app/health_check?filter=<url-encoded JSON QQueryFilter>(newsupport/FilterLinks), not base64. Verified in qqq-frontend-next v1.0.0-RC.35 (src/lib/utils/filter-utils.tsdeserializeFilter): it accepts a JSON string (starts with{) or base64, so the old link did open the filter; this aligns it with every other qbit.webhooksHome: all four KPI links went to the unfiltered Deliveries table. They now carry filters: Delivered (24 h), Failed attempts (24 h, attempts table, outcome not succeeded/rate-limited/in-flight), Dead letters, Waiting to send. Latency stays unlinked.Rubric item moved
A3 (drill-through correctness) on Webhooks (
webhooks): 1 -> 1 on its own (no point change; tiles still lack comparison and as-of). It removes a correctness defect, and counts the tiles now open the records they count.Audit row fixed
Webhooks A3 / W0-14: "Webhooks
countURLfilter form".Tests
WebhooksHealthWidgetTestdecodes the URL and asserts the filter iscomponent EQUALS webhooks; newWebhooksHomeTest.kpiDrillLinksAreFilteredJsondecodes the KPI links../mvnw verifypasses locally.Screenshots
None: no layout change; link targets only. Full-page shots happen when kof22 pins the release.
Release
A qbit-webhooks release is needed (next RC); kof22 (Website-Backend) must bump its qbit-webhooks pin to it. No QQQ change.
🤖 Generated with Claude Code