@checkstack/anomaly-frontend 0.6.15 → 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,128 @@
|
|
|
1
1
|
# @checkstack/anomaly-frontend
|
|
2
2
|
|
|
3
|
+
## 0.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 56e5375: Migrate the frontend from react-router-dom v7 to react-router v8
|
|
8
|
+
|
|
9
|
+
Resolves GHSA-qwww-vcr4-c8h2 (HIGH): React Router before 8.3.0 has an RSC-mode
|
|
10
|
+
CSRF bypass that lets an action execute before the 400 response. Checkstack runs
|
|
11
|
+
a client-side SPA (`<BrowserRouter>`) and does not use RSC mode, so the platform
|
|
12
|
+
was not exploitable through it - but the advisory kept the dependency-graph
|
|
13
|
+
security gate red on every pull request, and the fix is only available in the 8.x
|
|
14
|
+
line, which the auto-remediation deliberately will not reach (it refuses major
|
|
15
|
+
bumps).
|
|
16
|
+
|
|
17
|
+
`react-router-dom` has no v8: it was folded into `react-router` in v7 and v8
|
|
18
|
+
ships as `react-router` only. So this is a package swap rather than a range bump:
|
|
19
|
+
|
|
20
|
+
- 31 packages now depend on `react-router@^8.3.0` instead of
|
|
21
|
+
`react-router-dom@^7.16.0`, and 97 source files import from `react-router`.
|
|
22
|
+
- The Module Federation host share, `optimizeDeps` and `dedupe` entries move to
|
|
23
|
+
`react-router` (shared singleton `requiredVersion` `^8.0.0`). Remotes never
|
|
24
|
+
shared the router, so the remote contract is unchanged.
|
|
25
|
+
- The syncpack unified-range group tracks `react-router`, keeping the enforced
|
|
26
|
+
single-range guarantee that a past four-range regression motivated.
|
|
27
|
+
|
|
28
|
+
The API surface Checkstack uses is unchanged between v7 and v8 - `BrowserRouter`,
|
|
29
|
+
`MemoryRouter`, `Routes`, `Route`, `Link`, `NavLink`, `useLocation`,
|
|
30
|
+
`useNavigate`, `useParams` and `useSearchParams` are all exported by v8 with the
|
|
31
|
+
same signatures - so no routing code changed beyond the import specifier. v8
|
|
32
|
+
requires React >= 19.2.7, which the workspace already pins.
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- Updated dependencies [88f4333]
|
|
37
|
+
- Updated dependencies [1deaac5]
|
|
38
|
+
- Updated dependencies [88f4333]
|
|
39
|
+
- Updated dependencies [88f4333]
|
|
40
|
+
- Updated dependencies [88f4333]
|
|
41
|
+
- Updated dependencies [88f4333]
|
|
42
|
+
- Updated dependencies [88f4333]
|
|
43
|
+
- Updated dependencies [88f4333]
|
|
44
|
+
- Updated dependencies [88f4333]
|
|
45
|
+
- Updated dependencies [88f4333]
|
|
46
|
+
- Updated dependencies [1deaac5]
|
|
47
|
+
- Updated dependencies [56e5375]
|
|
48
|
+
- Updated dependencies [88f4333]
|
|
49
|
+
- Updated dependencies [88f4333]
|
|
50
|
+
- @checkstack/common@0.24.0
|
|
51
|
+
- @checkstack/healthcheck-common@1.19.1
|
|
52
|
+
- @checkstack/ui@1.31.0
|
|
53
|
+
- @checkstack/frontend-api@0.18.0
|
|
54
|
+
- @checkstack/healthcheck-frontend@0.39.0
|
|
55
|
+
- @checkstack/notification-common@1.9.0
|
|
56
|
+
- @checkstack/notification-frontend@0.10.0
|
|
57
|
+
- @checkstack/anomaly-common@1.8.4
|
|
58
|
+
- @checkstack/catalog-common@2.8.2
|
|
59
|
+
- @checkstack/signal-frontend@0.3.8
|
|
60
|
+
|
|
61
|
+
## 0.6.16
|
|
62
|
+
|
|
63
|
+
### Patch Changes
|
|
64
|
+
|
|
65
|
+
- be74b01: Source every status tone from the one shared table
|
|
66
|
+
|
|
67
|
+
Nineteen plugin modules each re-declared the tone-to-class table verbatim
|
|
68
|
+
(`pill: "bg-status-ok/10 text-status-ok"`, `dot: "bg-status-ok"`, ...), some
|
|
69
|
+
reproducing every field of the shared one. They now take those classes from
|
|
70
|
+
`pillToneStyles` in `@checkstack/ui` while keeping their own domain mapping -
|
|
71
|
+
which value means which tone - since that is real domain knowledge and is unit
|
|
72
|
+
tested. A repo-wide search for a hand-written triad row now returns only the
|
|
73
|
+
shared table.
|
|
74
|
+
|
|
75
|
+
Several hand-rolled pills went with them, onto the shared `StatusPill`: the
|
|
76
|
+
automation run pill, the satellite status badge, the notification channel pill,
|
|
77
|
+
the SLO objective pill and both AI tool-card pills.
|
|
78
|
+
|
|
79
|
+
Four rows are deliberately still local, each with a comment saying why, because
|
|
80
|
+
they are NOT the shared tone despite looking like it:
|
|
81
|
+
|
|
82
|
+
- The dashboard's `info` uses the `--info` token, a different hue from
|
|
83
|
+
`--status-info` (light: `217 91% 60%` vs `214 90% 45%`).
|
|
84
|
+
- Integrations' and notifications' `unknown`/`neutral` use the muted treatment -
|
|
85
|
+
the ABSENCE of a tone - not the shared grey.
|
|
86
|
+
- The queue's "processing" uses opacity-softened muted classes that match
|
|
87
|
+
neither the shared table nor the pill's neutral.
|
|
88
|
+
|
|
89
|
+
One genuine class divergence was found and NOT normalised: the system incident
|
|
90
|
+
panel draws its borders at `/30` where the shared table uses `/20`. It is now a
|
|
91
|
+
single documented map instead of a full private table.
|
|
92
|
+
|
|
93
|
+
Pills whose geometry has no shared equivalent (the dependency canvas node with
|
|
94
|
+
its animated halo, the incident panel's compact chips, the dashboard's
|
|
95
|
+
non-triad signal tone) keep their markup and now only share the classes.
|
|
96
|
+
|
|
97
|
+
- Updated dependencies [be74b01]
|
|
98
|
+
- Updated dependencies [be5c907]
|
|
99
|
+
- Updated dependencies [be74b01]
|
|
100
|
+
- Updated dependencies [be74b01]
|
|
101
|
+
- Updated dependencies [be74b01]
|
|
102
|
+
- Updated dependencies [be74b01]
|
|
103
|
+
- Updated dependencies [be74b01]
|
|
104
|
+
- Updated dependencies [be74b01]
|
|
105
|
+
- Updated dependencies [be74b01]
|
|
106
|
+
- Updated dependencies [be74b01]
|
|
107
|
+
- Updated dependencies [be74b01]
|
|
108
|
+
- Updated dependencies [be74b01]
|
|
109
|
+
- Updated dependencies [be74b01]
|
|
110
|
+
- Updated dependencies [be74b01]
|
|
111
|
+
- Updated dependencies [be74b01]
|
|
112
|
+
- Updated dependencies [be74b01]
|
|
113
|
+
- Updated dependencies [be74b01]
|
|
114
|
+
- Updated dependencies [be74b01]
|
|
115
|
+
- Updated dependencies [be74b01]
|
|
116
|
+
- Updated dependencies [be74b01]
|
|
117
|
+
- @checkstack/ui@1.30.0
|
|
118
|
+
- @checkstack/notification-frontend@0.9.7
|
|
119
|
+
- @checkstack/healthcheck-frontend@0.38.0
|
|
120
|
+
- @checkstack/notification-common@1.8.0
|
|
121
|
+
- @checkstack/healthcheck-common@1.19.0
|
|
122
|
+
- @checkstack/frontend-api@0.17.0
|
|
123
|
+
- @checkstack/anomaly-common@1.8.3
|
|
124
|
+
- @checkstack/catalog-common@2.8.1
|
|
125
|
+
|
|
3
126
|
## 0.6.15
|
|
4
127
|
|
|
5
128
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@checkstack/anomaly-frontend",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"license": "Elastic-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -16,24 +16,24 @@
|
|
|
16
16
|
"lint:code": "eslint . --max-warnings 0"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@checkstack/anomaly-common": "1.8.
|
|
20
|
-
"@checkstack/catalog-common": "2.8.
|
|
21
|
-
"@checkstack/common": "0.
|
|
22
|
-
"@checkstack/frontend-api": "0.
|
|
23
|
-
"@checkstack/healthcheck-common": "1.
|
|
24
|
-
"@checkstack/healthcheck-frontend": "0.
|
|
25
|
-
"@checkstack/notification-common": "1.
|
|
26
|
-
"@checkstack/notification-frontend": "0.
|
|
27
|
-
"@checkstack/signal-frontend": "0.3.
|
|
28
|
-
"@checkstack/ui": "1.
|
|
19
|
+
"@checkstack/anomaly-common": "1.8.4",
|
|
20
|
+
"@checkstack/catalog-common": "2.8.2",
|
|
21
|
+
"@checkstack/common": "0.24.0",
|
|
22
|
+
"@checkstack/frontend-api": "0.18.0",
|
|
23
|
+
"@checkstack/healthcheck-common": "1.19.1",
|
|
24
|
+
"@checkstack/healthcheck-frontend": "0.39.0",
|
|
25
|
+
"@checkstack/notification-common": "1.9.0",
|
|
26
|
+
"@checkstack/notification-frontend": "0.10.0",
|
|
27
|
+
"@checkstack/signal-frontend": "0.3.8",
|
|
28
|
+
"@checkstack/ui": "1.31.0",
|
|
29
29
|
"date-fns": "^4.4.0",
|
|
30
30
|
"lucide-react": "^1.17.0",
|
|
31
31
|
"react": "19.2.7",
|
|
32
|
-
"react-router
|
|
32
|
+
"react-router": "^8.3.0",
|
|
33
33
|
"zod": "^4.2.1"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@checkstack/scripts": "0.7.
|
|
36
|
+
"@checkstack/scripts": "0.7.7",
|
|
37
37
|
"@checkstack/tsconfig": "0.0.7",
|
|
38
38
|
"@types/react": "^19.0.0",
|
|
39
39
|
"typescript": "^5.0.0"
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Maps anomaly states to the colorblind-safe status triad used across the
|
|
3
3
|
* design system. Confirmed anomalies read as `warn`; suspicious (not yet
|
|
4
|
-
* confirmed) ones read as `unknown`.
|
|
5
|
-
*
|
|
4
|
+
* confirmed) ones read as `unknown`. The classes come from the shared
|
|
5
|
+
* `pillToneStyles` table rather than a private copy, so this surface cannot
|
|
6
|
+
* drift from the rest of the design system.
|
|
6
7
|
*/
|
|
8
|
+
|
|
9
|
+
import { pillToneStyles } from "@checkstack/ui";
|
|
10
|
+
|
|
7
11
|
export type AnomalyTone = "warn" | "unknown";
|
|
8
12
|
|
|
9
13
|
export interface AnomalyToneStyles {
|
|
@@ -14,18 +18,8 @@ export interface AnomalyToneStyles {
|
|
|
14
18
|
}
|
|
15
19
|
|
|
16
20
|
const TONE_STYLES: Record<AnomalyTone, AnomalyToneStyles> = {
|
|
17
|
-
warn:
|
|
18
|
-
|
|
19
|
-
dot: "bg-status-warn",
|
|
20
|
-
accent: "bg-status-warn",
|
|
21
|
-
text: "text-status-warn",
|
|
22
|
-
},
|
|
23
|
-
unknown: {
|
|
24
|
-
pill: "bg-status-unknown/10 text-status-unknown",
|
|
25
|
-
dot: "bg-status-unknown",
|
|
26
|
-
accent: "bg-status-unknown",
|
|
27
|
-
text: "text-status-unknown",
|
|
28
|
-
},
|
|
21
|
+
warn: pillToneStyles.warn,
|
|
22
|
+
unknown: pillToneStyles.unknown,
|
|
29
23
|
};
|
|
30
24
|
|
|
31
25
|
/** The tone for a single anomaly state string. */
|