From 74b7fb272c3f933319bdcc89891db0ce7e37f0e2 Mon Sep 17 00:00:00 2001 From: Pierre Le Fevre Date: Wed, 8 Apr 2026 21:34:37 +0200 Subject: [PATCH] Add build version info to settings page Shows commit hash and build timestamp in an About section. Co-Authored-By: Claude Opus 4.6 (1M context) --- web/src/env.d.ts | 2 ++ web/src/pages/SettingsPage.tsx | 23 +++++++++++++++++++++++ web/vite.config.ts | 8 ++++++++ 3 files changed, 33 insertions(+) create mode 100644 web/src/env.d.ts diff --git a/web/src/env.d.ts b/web/src/env.d.ts new file mode 100644 index 0000000..060dba8 --- /dev/null +++ b/web/src/env.d.ts @@ -0,0 +1,2 @@ +declare const __COMMIT_HASH__: string; +declare const __BUILD_TIME__: string; diff --git a/web/src/pages/SettingsPage.tsx b/web/src/pages/SettingsPage.tsx index a2ea995..e22f894 100644 --- a/web/src/pages/SettingsPage.tsx +++ b/web/src/pages/SettingsPage.tsx @@ -6,6 +6,7 @@ import TextField from '@mui/material/TextField'; import CircularProgress from '@mui/material/CircularProgress'; import Alert from '@mui/material/Alert'; import NotificationsActiveIcon from '@mui/icons-material/NotificationsActive'; +import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined'; import { usePushNotifications, localTimeToUtc, @@ -142,6 +143,28 @@ export function SettingsPage() { )} + + + + + + About + + + + Commit: {__COMMIT_HASH__} + + + Built: {new Date(__BUILD_TIME__).toLocaleString()} + + ); } diff --git a/web/vite.config.ts b/web/vite.config.ts index 956edea..6007ff7 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -2,9 +2,17 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import { VitePWA } from 'vite-plugin-pwa' import path from 'path' +import { execSync } from 'child_process' + +const commitHash = execSync('git rev-parse --short HEAD').toString().trim() +const buildTime = new Date().toISOString() // https://vite.dev/config/ export default defineConfig({ + define: { + __COMMIT_HASH__: JSON.stringify(commitHash), + __BUILD_TIME__: JSON.stringify(buildTime), + }, plugins: [ react(), VitePWA({ -- 2.51.2