From 1a9af8acb69e275871cd6f4a72a10d6b5ce55001 Mon Sep 17 00:00:00 2001 From: Luke Parker <10430890+Hona@users.noreply.github.com> Date: Sat, 7 Mar 2026 14:52:04 +1000 Subject: [PATCH] feat(desktop): show skill issue when snapshotting is off (#16432) --- packages/app/src/i18n/en.ts | 1 + packages/app/src/pages/session.tsx | 5 +++-- packages/app/src/pages/session/session-side-panel.tsx | 8 +++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index 8b672d437..c278d6270 100644 --- a/packages/app/src/i18n/en.ts +++ b/packages/app/src/i18n/en.ts @@ -512,6 +512,7 @@ export const dict = { "session.review.loadingChanges": "Loading changes...", "session.review.empty": "No changes in this session yet", "session.review.noVcs": "No Git Version Control System detected, changes not displayed", + "session.review.noSnapshot": "Snapshot tracking is disabled in config, so session changes are unavailable", "session.review.noChanges": "No changes", "session.files.selectToOpen": "Select a file to open", diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index f6f6576c4..82a581e68 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -495,8 +495,9 @@ export default function Page() { }) const reviewEmptyKey = createMemo(() => { const project = sync.project - if (!project || project.vcs) return "session.review.empty" - return "session.review.noVcs" + if (project && !project.vcs) return "session.review.noVcs" + if (sync.data.config.snapshot === false) return "session.review.noSnapshot" + return "session.review.empty" }) function upsert(next: Project) { diff --git a/packages/app/src/pages/session/session-side-panel.tsx b/packages/app/src/pages/session/session-side-panel.tsx index 927461a2a..ce8b35d04 100644 --- a/packages/app/src/pages/session/session-side-panel.tsx +++ b/packages/app/src/pages/session/session-side-panel.tsx @@ -60,6 +60,12 @@ export function SessionSidePanel(props: { return sync.data.session_diff[id] !== undefined }) + const reviewEmptyKey = createMemo(() => { + if (sync.project && !sync.project.vcs) return "session.review.noVcs" + if (sync.data.config.snapshot === false) return "session.review.noSnapshot" + return "session.review.noChanges" + }) + const diffFiles = createMemo(() => diffs().map((d) => d.file)) const kinds = createMemo(() => { const merge = (a: "add" | "del" | "mix" | undefined, b: "add" | "del" | "mix") => { @@ -387,7 +393,7 @@ export function SessionSidePanel(props: { /> - {empty(language.t("session.review.noChanges"))} + {empty(language.t(reviewEmptyKey()))}