diff options
| author | Adam Malczewski <[email protected]> | 2026-06-22 11:23:43 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-22 11:23:43 +0900 |
| commit | 54fc4f301cffa538ad30c8c157c73924a2b3955e (patch) | |
| tree | 4f72064eefe18cb4d2ad5bef75244538024e1ebe /src | |
| parent | 8c4abd54390dc3ad73b88e8b2349118aa61c4b44 (diff) | |
| download | dispatch-web-54fc4f301cffa538ad30c8c157c73924a2b3955e.tar.gz dispatch-web-54fc4f301cffa538ad30c8c157c73924a2b3955e.zip | |
feat: show 5-char git hash next to hamburger for cache-bust detection
Vite define bakes __APP_VERSION__ (git rev-parse --short=5 HEAD) at build
time — survives bundling into the arch package deploy. Falls back to 'dev'
when not in a git repo. Also fixes two noNonNullAssertion warnings in
place.ts.
Diffstat (limited to 'src')
| -rw-r--r-- | src/app/App.svelte | 6 | ||||
| -rw-r--r-- | src/core/metrics/place.ts | 14 | ||||
| -rw-r--r-- | src/vite-env.d.ts | 3 |
3 files changed, 19 insertions, 4 deletions
diff --git a/src/app/App.svelte b/src/app/App.svelte index 3024a44..41e68ef 100644 --- a/src/app/App.svelte +++ b/src/app/App.svelte @@ -301,6 +301,12 @@ onClose={(id) => store.closeTab(id)} onNewDraft={() => store.newDraft()} /> + <span + class="shrink-0 select-none px-1 font-mono text-[10px] leading-none text-base-content/30" + title="Build version (git short hash)" + > + {__APP_VERSION__} + </span> <button class="btn btn-square btn-ghost btn-sm mx-1 shrink-0" aria-label="Toggle sidebar" diff --git a/src/core/metrics/place.ts b/src/core/metrics/place.ts index 091fe8f..2402e3e 100644 --- a/src/core/metrics/place.ts +++ b/src/core/metrics/place.ts @@ -111,8 +111,11 @@ export function interleaveTurnMetrics( } if (bestEntry >= 0) { usedEntries.add(bestEntry); - segmentEntry.set(seg, entries[bestEntry]!); - segmentEntryIndex.set(seg, bestEntry); + const e = entries[bestEntry]; + if (e !== undefined) { + segmentEntry.set(seg, e); + segmentEntryIndex.set(seg, bestEntry); + } } } @@ -123,8 +126,11 @@ export function interleaveTurnMetrics( while (nextUnused < K && usedEntries.has(nextUnused)) nextUnused++; if (nextUnused < K) { usedEntries.add(nextUnused); - segmentEntry.set(seg, entries[nextUnused]!); - segmentEntryIndex.set(seg, nextUnused); + const e = entries[nextUnused]; + if (e !== undefined) { + segmentEntry.set(seg, e); + segmentEntryIndex.set(seg, nextUnused); + } nextUnused++; } } diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index 4078e74..2a2b515 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -1,2 +1,5 @@ /// <reference types="svelte" /> /// <reference types="vite/client" /> + +/** 5-char git short hash, baked at build time (vite.config.ts `define`). */ +declare const __APP_VERSION__: string; |
