-
HOST.DISK
+
{hostLabel}.DISK
{diskPct ?? '—'}%
{isDemoMode ? '338G of 465G · high' : host ? `${fmtGB(host.storage.used)} of ${fmtGB(host.storage.total)}` : 'no telemetry'}
diff --git a/app/frontend/src/generated/api-types.ts b/app/frontend/src/generated/api-types.ts
index e2af875..53d0133 100644
--- a/app/frontend/src/generated/api-types.ts
+++ b/app/frontend/src/generated/api-types.ts
@@ -8299,7 +8299,13 @@ export interface components {
images?: number;
driver?: string;
server?: string;
+ os?: string;
};
+ /**
+ * @description What the telemetry measures — `host` for a native daemon, `docker-desktop-vm` when Docker runs inside a Desktop VM.
+ * @enum {string}
+ */
+ scope?: "host" | "docker-desktop-vm";
/** Format: date-time */
collected_at?: string;
};
diff --git a/app/frontend/src/lib/api-client.ts b/app/frontend/src/lib/api-client.ts
index fb1f06f..f98757e 100644
--- a/app/frontend/src/lib/api-client.ts
+++ b/app/frontend/src/lib/api-client.ts
@@ -225,7 +225,9 @@ export type HostMonitoring = {
images?: number;
driver?: string;
server?: string;
+ os?: string;
};
+ scope: 'host' | 'docker-desktop-vm';
collectedAt: string;
};
@@ -888,6 +890,7 @@ function normalizeHostMonitoring(payload: RawHostMonitoring): HostMonitoring {
uptimeSeconds: payload.uptime_seconds ?? 0,
dockerAvailable: Boolean(payload.docker_available),
docker: payload.docker,
+ scope: payload.scope === 'docker-desktop-vm' ? 'docker-desktop-vm' : 'host',
collectedAt: payload.collected_at ?? '',
};
}
diff --git a/app/frontend/vite.config.d.ts b/app/frontend/vite.config.d.ts
deleted file mode 100644
index 340562a..0000000
--- a/app/frontend/vite.config.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: import("vite").UserConfig;
-export default _default;
diff --git a/app/frontend/vite.config.js b/app/frontend/vite.config.js
deleted file mode 100644
index 51bc166..0000000
--- a/app/frontend/vite.config.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react';
-import path from 'path';
-// https://vite.dev/config/
-export default defineConfig({
- plugins: [react()],
- resolve: {
- alias: {
- "@": path.resolve(__dirname, "./src"),
- },
- },
- build: {
- // Enable code splitting and optimization
- rollupOptions: {
- output: {
- manualChunks: {
- // Split vendor libraries
- vendor: ['react', 'react-dom', '@tanstack/react-query'],
- ui: ['@radix-ui/react-dialog', '@radix-ui/react-dropdown-menu', 'lucide-react'],
- utils: ['date-fns', 'clsx', 'tailwind-merge']
- },
- // Optimize chunk naming for better caching
- chunkFileNames: 'assets/js/[name]-[hash].js',
- entryFileNames: 'assets/js/[name]-[hash].js',
- assetFileNames: 'assets/[ext]/[name]-[hash].[ext]'
- }
- },
- // Enable source maps for production debugging
- sourcemap: true,
- // Optimize bundle size
- minify: 'terser',
- // Set appropriate chunk size limit for better caching
- chunkSizeWarningLimit: 1000
- },
- // Optimize dependencies during build
- optimizeDeps: {
- include: ['react', 'react-dom', '@tanstack/react-query', 'date-fns']
- },
- // Development server optimization
- server: {
- fs: {
- // Allow serving files from project root
- allow: ['..']
- }
- },
- // Preview server optimization
- preview: {
- port: 4173,
- strictPort: true
- }
-});
diff --git a/app/frontend/vite.config.ts b/app/frontend/vite.config.ts
index a361aa8..60f2eb8 100644
--- a/app/frontend/vite.config.ts
+++ b/app/frontend/vite.config.ts
@@ -30,7 +30,9 @@ export default defineConfig({
// Split vendor libraries
vendor: ['react', 'react-dom', '@tanstack/react-query'],
ui: ['@radix-ui/react-dialog', '@radix-ui/react-dropdown-menu', 'lucide-react'],
- utils: ['date-fns', 'clsx', 'tailwind-merge']
+ utils: ['date-fns', 'clsx', 'tailwind-merge'],
+ canvas: ['@xyflow/react'],
+ charts: ['recharts']
},
// Optimize chunk naming for better caching
chunkFileNames: 'assets/js/[name]-[hash].js',
diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml
index c8a3929..e47cd1d 100644
--- a/docs/api/openapi.yaml
+++ b/docs/api/openapi.yaml
@@ -6052,6 +6052,12 @@ components:
type: string
server:
type: string
+ os:
+ type: string
+ scope:
+ type: string
+ description: What the telemetry measures — `host` for a native daemon, `docker-desktop-vm` when Docker runs inside a Desktop VM.
+ enum: [host, docker-desktop-vm]
collected_at:
type: string
format: date-time