@checkstack/healthcheck-backend 0.10.6 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # @checkstack/healthcheck-backend
2
2
 
3
+ ## 0.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1f191cf: Add SYSTEM_STATUS_CHANGED signal and dependency-driven notification improvements
8
+
9
+ **healthcheck-common:**
10
+
11
+ - New `SYSTEM_STATUS_CHANGED` signal that fires only on system-level health status transitions (healthy ↔ degraded ↔ unhealthy), providing a low-noise alternative to `HEALTH_CHECK_RUN_COMPLETED` for coarse-grained reactivity
12
+
13
+ **healthcheck-backend:**
14
+
15
+ - Broadcast `SYSTEM_STATUS_CHANGED` signal at both status transition code paths in the queue executor
16
+
17
+ **healthcheck-frontend:**
18
+
19
+ - Switch `SystemHealthBadge` from `HEALTH_CHECK_RUN_COMPLETED` to `SYSTEM_STATUS_CHANGED` to reduce unnecessary refetch noise
20
+
21
+ **dashboard-frontend:**
22
+
23
+ - Switch `SystemBadgeDataProvider` from `HEALTH_CHECK_RUN_COMPLETED` to `SYSTEM_STATUS_CHANGED` for more efficient badge updates
24
+
25
+ **maintenance-frontend:**
26
+
27
+ - Clarify that notification suppression toggle also applies to downstream dependency-driven notifications
28
+
29
+ **incident-frontend:**
30
+
31
+ - Clarify that notification suppression toggle also applies to downstream dependency-driven notifications
32
+
33
+ ### Patch Changes
34
+
35
+ - Updated dependencies [1f191cf]
36
+ - Updated dependencies [3f36a64]
37
+ - @checkstack/healthcheck-common@0.9.0
38
+ - @checkstack/catalog-common@1.3.0
39
+ - @checkstack/backend-api@0.10.1
40
+ - @checkstack/catalog-backend@0.2.21
41
+ - @checkstack/command-backend@0.1.16
42
+ - @checkstack/integration-backend@0.1.16
43
+ - @checkstack/queue-api@0.2.10
44
+
45
+ ## 0.10.7
46
+
47
+ ### Patch Changes
48
+
49
+ - Updated dependencies [23c80bc]
50
+ - @checkstack/backend-api@0.10.0
51
+ - @checkstack/catalog-backend@0.2.20
52
+ - @checkstack/command-backend@0.1.15
53
+ - @checkstack/integration-backend@0.1.15
54
+ - @checkstack/queue-api@0.2.9
55
+
3
56
  ## 0.10.6
4
57
 
5
58
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkstack/healthcheck-backend",
3
- "version": "0.10.6",
3
+ "version": "0.11.0",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "checkstack": {
@@ -13,16 +13,16 @@
13
13
  "lint:code": "eslint . --max-warnings 0"
14
14
  },
15
15
  "dependencies": {
16
- "@checkstack/backend-api": "0.8.2",
17
- "@checkstack/catalog-backend": "0.2.17",
18
- "@checkstack/catalog-common": "1.2.10",
19
- "@checkstack/command-backend": "0.1.13",
16
+ "@checkstack/backend-api": "0.10.0",
17
+ "@checkstack/catalog-backend": "0.2.20",
18
+ "@checkstack/catalog-common": "1.2.11",
19
+ "@checkstack/command-backend": "0.1.15",
20
20
  "@checkstack/common": "0.6.4",
21
21
  "@checkstack/healthcheck-common": "0.8.4",
22
22
  "@checkstack/incident-common": "0.4.6",
23
- "@checkstack/integration-backend": "0.1.13",
23
+ "@checkstack/integration-backend": "0.1.15",
24
24
  "@checkstack/maintenance-common": "0.4.8",
25
- "@checkstack/queue-api": "0.2.7",
25
+ "@checkstack/queue-api": "0.2.9",
26
26
  "@checkstack/signal-common": "0.1.8",
27
27
  "@hono/zod-validator": "^0.7.6",
28
28
  "drizzle-orm": "^0.45.0",
@@ -34,7 +34,7 @@
34
34
  "devDependencies": {
35
35
  "@checkstack/drizzle-helper": "0.0.4",
36
36
  "@checkstack/scripts": "0.1.2",
37
- "@checkstack/test-utils-backend": "0.1.13",
37
+ "@checkstack/test-utils-backend": "0.1.15",
38
38
  "@checkstack/tsconfig": "0.0.4",
39
39
  "@types/bun": "^1.0.0",
40
40
  "@types/tdigest": "^0.1.5",
@@ -20,6 +20,7 @@ import { eq, and, max } from "drizzle-orm";
20
20
  import { type SignalService } from "@checkstack/signal-common";
21
21
  import {
22
22
  HEALTH_CHECK_RUN_COMPLETED,
23
+ SYSTEM_STATUS_CHANGED,
23
24
  type HealthCheckStatus,
24
25
  stripEphemeralFields,
25
26
  } from "@checkstack/healthcheck-common";
@@ -600,6 +601,13 @@ async function executeHealthCheckJob(props: {
600
601
  logger,
601
602
  });
602
603
 
604
+ // Broadcast system-level status change signal for frontend reactivity
605
+ await signalService.broadcast(SYSTEM_STATUS_CHANGED, {
606
+ systemId,
607
+ previousStatus: previousStatus as HealthCheckStatus,
608
+ newStatus: newState.status,
609
+ });
610
+
603
611
  // Emit integration hooks for external integrations
604
612
  const emitHook = getEmitHook();
605
613
  if (emitHook) {
@@ -707,6 +715,13 @@ async function executeHealthCheckJob(props: {
707
715
  logger,
708
716
  });
709
717
 
718
+ // Broadcast system-level status change signal for frontend reactivity
719
+ await signalService.broadcast(SYSTEM_STATUS_CHANGED, {
720
+ systemId,
721
+ previousStatus: previousStatus as HealthCheckStatus,
722
+ newStatus: newState.status,
723
+ });
724
+
710
725
  // Emit integration hooks for external integrations
711
726
  const emitHook = getEmitHook();
712
727
  if (emitHook) {