From 42c7c0da662ef53ef1ded5633ffe85208d962895 Mon Sep 17 00:00:00 2001 From: tommy0103 Date: Mon, 15 Jun 2026 02:07:13 +0800 Subject: [PATCH] fix(app): suppress empty-state flash by gating on data-loaded flag Add a flag set after initial data fetch completes so SessionList and RecapList don't briefly show their empty/onboarding states before content arrives. --- app/renderer/src/data.js | 1 + app/renderer/src/store.js | 3 ++- app/renderer/src/views/RecapList.vue | 4 +++- app/renderer/src/views/SessionList.vue | 4 ++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/renderer/src/data.js b/app/renderer/src/data.js index 484a938..7d0b607 100644 --- a/app/renderer/src/data.js +++ b/app/renderer/src/data.js @@ -38,6 +38,7 @@ export async function loadInitialData() { state.projects = projects || []; state.stats = stats || {}; + state.loaded = true; } /** diff --git a/app/renderer/src/store.js b/app/renderer/src/store.js index d828cb7..be2d5d9 100644 --- a/app/renderer/src/store.js +++ b/app/renderer/src/store.js @@ -25,7 +25,8 @@ export const state = reactive({ showSource: false, lastArchiveSnapshot: null, undoTimer: null, - undoExpires: 0 + undoExpires: 0, + loaded: false }); // Platform detection diff --git a/app/renderer/src/views/RecapList.vue b/app/renderer/src/views/RecapList.vue index bdc5a98..d7f09a3 100644 --- a/app/renderer/src/views/RecapList.vue +++ b/app/renderer/src/views/RecapList.vue @@ -9,6 +9,7 @@ defineOptions({ name: 'RecapList' }); const router = useRouter(); const route = useRoute(); const recaps = ref([]); +const recapsLoaded = ref(false); const kind = computed(() => route.query.kind || 'weekly'); const showGenerate = inject('recapGenerateOpen', ref(false)); @@ -79,6 +80,7 @@ async function loadRecaps() { if (data?.cards) results.push({ ...data, _filename: f }); } recaps.value = results; + recapsLoaded.value = true; } let unsub; @@ -134,7 +136,7 @@ onUnmounted(() => { unsub?.(); }); -
+
No {{ kind }} recaps yet diff --git a/app/renderer/src/views/SessionList.vue b/app/renderer/src/views/SessionList.vue index 8fb239c..2cc48f1 100644 --- a/app/renderer/src/views/SessionList.vue +++ b/app/renderer/src/views/SessionList.vue @@ -93,7 +93,7 @@ function obeliskStyle(session) {