@checkstack/healthcheck-frontend 0.6.0 → 0.7.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,88 @@
1
1
  # @checkstack/healthcheck-frontend
2
2
 
3
+ ## 0.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1f81b60: ### Clickable Run History with Deep Linking
8
+
9
+ **Backend (`healthcheck-backend`):**
10
+
11
+ - Added `getRunById` service method to fetch a single health check run by ID
12
+
13
+ **Schema (`healthcheck-common`):**
14
+
15
+ - Added `getRunById` RPC procedure for fetching individual runs
16
+ - Added `historyRun` route for deep linking to specific runs (`/history/:systemId/:configurationId/:runId`)
17
+
18
+ **Frontend (`healthcheck-frontend`):**
19
+
20
+ - Table rows in Recent Runs and Run History now navigate to detailed view instead of expanding inline
21
+ - Added "Selected Run" card that displays when navigating to a specific run
22
+ - Extracted `ExpandedResultView` into reusable component
23
+ - Fixed layout shift during table pagination by preserving previous data while loading
24
+ - Removed accordion expansion in favor of consistent navigation UX
25
+
26
+ ### Patch Changes
27
+
28
+ - 7a4c70e: Improved chart ordering consistency and status timeline readability
29
+
30
+ - **Chart ordering**: All charts now display data from left (oldest) to right (newest) for consistency
31
+ - Fixed `HealthCheckSparkline` to reverse status dots order
32
+ - Fixed `AutoChartGrid` `getAllValues()` to return values in chronological order
33
+ - Fixed `getLatestValue()` to return the newest run's value instead of the oldest
34
+ - **Status timeline redesign**: Replaced thin bar charts with readable equal-width segment strips
35
+ - Raw data: Each run gets equal visual space with 1px gaps between segments
36
+ - Aggregated data: Each bucket shows stacked proportional segments for healthy/degraded/unhealthy
37
+ - Added time span display in aggregated tooltips (e.g., "Jan 20, 09:00 - 10:00")
38
+ - Removed Recharts dependency for timeline, now uses pure CSS flexbox
39
+ - **Label update**: Renamed "Response Latency" chart to "Execution Duration" for accuracy
40
+ - **UI polish**: Added "~" prefix to duration formats in AggregatedDataBanner
41
+
42
+ - 090143b: ### Health Check Aggregation & UI Fixes
43
+
44
+ **Backend (`healthcheck-backend`):**
45
+
46
+ - Fixed tail-end bucket truncation where the last aggregated bucket was cut off at the interval boundary instead of extending to the query end date
47
+ - Added `rangeEnd` parameter to `reaggregateBuckets()` to properly extend the last bucket
48
+ - Fixed cross-tier merge logic (`mergeTieredBuckets`) to prevent hourly aggregates from blocking fresh raw data
49
+
50
+ **Schema (`healthcheck-common`):**
51
+
52
+ - Added `bucketEnd` field to `AggregatedBucketBaseSchema` so frontends know the actual end time of each bucket
53
+
54
+ **Frontend (`healthcheck-frontend`):**
55
+
56
+ - Updated all components to use `bucket.bucketEnd` instead of calculating from `bucketIntervalSeconds`
57
+ - Fixed aggregation mode detection: changed `>` to `>=` so 7-day queries use aggregated data when `rawRetentionDays` is 7
58
+ - Added ref-based memoization in `useHealthCheckData` to prevent layout shift during signal-triggered refetches
59
+ - Exposed `isFetching` state to show loading spinner during background refetches
60
+ - Added debounced custom date range with Apply button to prevent fetching on every field change
61
+ - Added validation preventing start date >= end date in custom ranges
62
+ - Added sparkline downsampling: when there are 60+ data points, they are aggregated into buckets with informative tooltips
63
+
64
+ **UI (`ui`):**
65
+
66
+ - Fixed `DateRangeFilter` presets to use true sliding windows (removed `startOfDay` from 7-day and 30-day ranges)
67
+ - Added `disabled` prop to `DateRangeFilter` and `DateTimePicker` components
68
+ - Added `onCustomChange` prop to `DateRangeFilter` for debounced custom date handling
69
+ - Improved layout: custom date pickers now inline with preset buttons on desktop
70
+ - Added responsive mobile layout: date pickers stack vertically with down arrow
71
+ - Added validation error display for invalid date ranges
72
+
73
+ - bc58c3f: ### Fix layout shift in paginated tables
74
+
75
+ - Preserve previous table data during loading to prevent layout shift
76
+ - Add inline loading spinner in table headers without affecting layout
77
+ - Add opacity to table rows during loading to indicate data refresh
78
+
79
+ - Updated dependencies [1f81b60]
80
+ - Updated dependencies [090143b]
81
+ - @checkstack/healthcheck-common@0.7.0
82
+ - @checkstack/ui@0.5.1
83
+ - @checkstack/dashboard-frontend@0.3.11
84
+ - @checkstack/auth-frontend@0.5.6
85
+
3
86
  ## 0.6.0
4
87
 
5
88
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkstack/healthcheck-frontend",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "main": "src/index.tsx",
6
6
  "scripts": {