@skyhook-io/radar-app 1.8.6 → 1.8.7

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.
Files changed (75) hide show
  1. package/README.md +7 -1
  2. package/package.json +11 -9
  3. package/src/App.tsx +221 -181
  4. package/src/RadarApp.tsx +91 -20
  5. package/src/api/client.delta.test.ts +89 -0
  6. package/src/api/client.deltaSync.test.ts +216 -0
  7. package/src/api/client.ts +262 -34
  8. package/src/api/diagnose.ts +288 -0
  9. package/src/api/timelineSource.test.ts +217 -0
  10. package/src/api/timelineSource.ts +580 -0
  11. package/src/components/ConnectionErrorView.tsx +174 -70
  12. package/src/components/ContextSwitcher.tsx +13 -5
  13. package/src/components/applications/ApplicationsView.tsx +327 -26
  14. package/src/components/audit/AuditSettingsDialog.tsx +2 -2
  15. package/src/components/curl/ServiceCurlButton.tsx +2 -2
  16. package/src/components/diagnose/AISettings.tsx +121 -0
  17. package/src/components/diagnose/DiagnoseContext.tsx +491 -0
  18. package/src/components/diagnose/DiagnoseSurface.tsx +385 -0
  19. package/src/components/diagnose/Home.tsx +163 -0
  20. package/src/components/diagnose/InvestigationView.tsx +604 -0
  21. package/src/components/diagnose/LocalDiagnoseAction.tsx +150 -0
  22. package/src/components/diagnose/launch.ts +65 -0
  23. package/src/components/diagnose/parts.tsx +1689 -0
  24. package/src/components/dock/BottomDock.tsx +2 -3
  25. package/src/components/dock/WorkloadLogsTab.tsx +21 -5
  26. package/src/components/execution/BatchExecutionView.test.ts +170 -0
  27. package/src/components/execution/BatchExecutionView.tsx +1329 -0
  28. package/src/components/execution/batch-run-actions.test.ts +48 -0
  29. package/src/components/execution/batch-run-actions.ts +24 -0
  30. package/src/components/execution/batch-timeline.test.ts +57 -0
  31. package/src/components/execution/batch-timeline.ts +46 -0
  32. package/src/components/execution/execution-definition.test.ts +208 -0
  33. package/src/components/execution/execution-definition.ts +245 -0
  34. package/src/components/helm/ChartBrowser.tsx +2 -3
  35. package/src/components/helm/HelmReleaseDrawer.test.ts +17 -0
  36. package/src/components/helm/HelmReleaseDrawer.tsx +376 -43
  37. package/src/components/helm/HelmView.tsx +2 -3
  38. package/src/components/helm/InstallWizard.tsx +3 -5
  39. package/src/components/helm/TrackChartSourceDialog.tsx +48 -4
  40. package/src/components/helm/ValuesDiffPreview.tsx +15 -4
  41. package/src/components/home/HomeView.tsx +17 -15
  42. package/src/components/home/MCPSetupDialog.tsx +1 -1
  43. package/src/components/home/mcpToolCatalog.ts +2 -2
  44. package/src/components/issues/IssuesPane.tsx +9 -1
  45. package/src/components/logs/ScheduledWorkloadLogsViewer.tsx +135 -0
  46. package/src/components/portforward/PortForwardButton.tsx +2 -2
  47. package/src/components/portforward/PortForwardManager.tsx +19 -14
  48. package/src/components/resource/PrometheusChartsGrid.tsx +6 -80
  49. package/src/components/resource/RightsizingStrip.tsx +0 -3
  50. package/src/components/resources/ImageFilesystemModal.tsx +2 -2
  51. package/src/components/resources/PodFilesystemModal.tsx +2 -3
  52. package/src/components/resources/ResourceDetailDrawer.tsx +2 -0
  53. package/src/components/resources/ResourcesView.tsx +13 -4
  54. package/src/components/resources/renderers/CronWorkflowRenderer.tsx +1 -0
  55. package/src/components/resources/renderers/index.ts +1 -0
  56. package/src/components/settings/SettingsDialog.tsx +80 -23
  57. package/src/components/shared/LargeClusterNamespacePicker.tsx +2 -2
  58. package/src/components/timeline/LocalTimelineScrubber.tsx +212 -0
  59. package/src/components/timeline/RetainedTimelineScrubber.tsx +311 -0
  60. package/src/components/timeline/TimelineList.tsx +51 -10
  61. package/src/components/timeline/TimelineView.tsx +701 -15
  62. package/src/components/timeline/TimelineView.urlparams.test.ts +294 -0
  63. package/src/components/traffic/TrafficFilterSidebar.tsx +2 -2
  64. package/src/components/traffic/TrafficView.tsx +8 -4
  65. package/src/components/ui/CommandPalette.tsx +2 -2
  66. package/src/components/workload/WorkloadView.tsx +319 -35
  67. package/src/context/ConnectionContext.tsx +109 -11
  68. package/src/context/DiagnoseCustomization.tsx +42 -0
  69. package/src/context/TimelineSource.tsx +50 -0
  70. package/src/hooks/useClusterLoadState.ts +73 -0
  71. package/src/hooks/useEventSource.ts +6 -0
  72. package/src/index.css +157 -0
  73. package/src/index.ts +12 -0
  74. package/src/types/clusterLoadState.ts +33 -0
  75. package/src/utils/navigation.ts +10 -0
package/README.md CHANGED
@@ -38,6 +38,12 @@ export function ClusterPage({ clusterId }: { clusterId: string }) {
38
38
 
39
39
  See `RadarAppProps` + `NavCustomization` in the type declarations for the full surface.
40
40
 
41
+ ## Embedding notes
42
+
43
+ When `navSlots.embedded` is true, Radar sizes itself to the host container (`height: 100%`) instead of owning the browser viewport. Mount it inside a container with a definite height so the host chrome owns the page scrollbar.
44
+
45
+ Chromeless hosts (`navSlots.chrome = 'none'`) can pass `onClusterLoadStateChange` and render `state.message` in their own topbar while Radar finishes loading deferred cluster resources.
46
+
41
47
  ## Tailwind
42
48
 
43
49
  Radar uses Tailwind v4 classes throughout. Your app's Tailwind config must scan Radar's source:
@@ -64,4 +70,4 @@ Call these before mounting `<RadarApp>`.
64
70
 
65
71
  ## Backwards compatibility
66
72
 
67
- The `RadarApp` props (`apiBase`, `basename`, `router`, `navSlots`, `queryClient`) and the runtime-config setters are the stable surface. Adding to them is fine; removing or renaming is a breaking change.
73
+ The `RadarApp` props (`apiBase`, `basename`, `router`, `navSlots`, `queryClient`, `manageDocumentTitle`, `documentTitleSuffix`, `initialPath`, `onClusterLoadStateChange`) and the runtime-config setters are the stable surface. Adding to them is fine; removing or renaming is a breaking change.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyhook-io/radar-app",
3
- "version": "1.8.6",
3
+ "version": "1.8.7",
4
4
  "description": "Radar's full web UI as a reusable React component. Used by Radar's own binary and by external consumers like Radar Cloud.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,9 +20,11 @@
20
20
  ],
21
21
  "scripts": {
22
22
  "dev": "vite",
23
- "build": "tsc && vite build",
23
+ "build": "npm run tsc && vite build",
24
24
  "preview": "vite preview",
25
- "tsc": "tsc --noEmit",
25
+ "tsc": "node ../node_modules/typescript-7/bin/tsc --noEmit",
26
+ "tsc:ts6": "tsc --noEmit",
27
+ "test": "vitest run src",
26
28
  "format": "prettier --write \"src/**/*.{ts,tsx}\"",
27
29
  "lint": "eslint src && node scripts/check-no-native-title.mjs"
28
30
  },
@@ -33,13 +35,13 @@
33
35
  "diff": "^9.0.0",
34
36
  "monaco-editor": "^0.55.1",
35
37
  "react-markdown": "^10.1.0",
36
- "react-virtuoso": "^4.18.7",
38
+ "react-virtuoso": "^4.18.10",
37
39
  "remark-gfm": "^4.0.1",
38
40
  "shiki": "^4.2.0",
39
41
  "yaml": "^2.9.0"
40
42
  },
41
43
  "peerDependencies": {
42
- "@skyhook-io/k8s-ui": ">=1.7.3",
44
+ "@skyhook-io/k8s-ui": ">=1.8.11",
43
45
  "@tanstack/react-query": ">=5",
44
46
  "@xyflow/react": ">=12.0.0",
45
47
  "clsx": ">=2",
@@ -64,16 +66,16 @@
64
66
  "@xyflow/react": "^12.10.2",
65
67
  "clsx": "^2.1.1",
66
68
  "elkjs": "^0.11.1",
67
- "eslint": "^10.5.0",
69
+ "eslint": "^10.6.0",
68
70
  "eslint-plugin-react-hooks": "^7.1.1",
69
71
  "eslint-plugin-react-refresh": "^0.5.3",
70
72
  "globals": "^17.7.0",
71
- "lucide-react": "^1.22.0",
73
+ "lucide-react": "^1.23.0",
72
74
  "postcss": "^8.5.16",
73
- "prettier": "^3.8.1",
75
+ "prettier": "^3.9.4",
74
76
  "react": "^19.2.7",
75
77
  "react-dom": "^19.2.7",
76
- "react-router-dom": "^7.17.0",
78
+ "react-router-dom": "^7.18.1",
77
79
  "tailwind-merge": "^3.6.0",
78
80
  "tailwindcss": "^4.3.1",
79
81
  "typescript": "^6.0.2",