From 51767579d7029039bd1b186377dc886ef57a8d76 Mon Sep 17 00:00:00 2001 From: Script Generator Date: Fri, 3 Jul 2026 16:54:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(product):=20=E9=80=8F=E4=BC=A0=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E6=A0=91AppData=E4=BF=9D=E5=AD=98=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/product-store-persistence-source.test.ts | 13 +++++++++++++ apps/web/stores/useProductStore.ts | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 apps/web/lib/product-store-persistence-source.test.ts diff --git a/apps/web/lib/product-store-persistence-source.test.ts b/apps/web/lib/product-store-persistence-source.test.ts new file mode 100644 index 0000000..4223b4c --- /dev/null +++ b/apps/web/lib/product-store-persistence-source.test.ts @@ -0,0 +1,13 @@ +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; +import { join } from 'node:path'; +import test from 'node:test'; + +test('product store save helper does not swallow AppData save failures', () => { + const source = readFileSync(join(process.cwd(), 'stores/useProductStore.ts'), 'utf8'); + + assert.match( + source, + /async function saveStoredOverview\(data: ProductOverview\[\]\) \{\s+await saveServerData\('products-overview', data\);\s+\}/, + ); +}); diff --git a/apps/web/stores/useProductStore.ts b/apps/web/stores/useProductStore.ts index fc2f086..3a2c075 100644 --- a/apps/web/stores/useProductStore.ts +++ b/apps/web/stores/useProductStore.ts @@ -110,7 +110,7 @@ export const useProductStore = create((set, get) => ({ const overview = await api.get('/products/overview'); set({ overview, loading: false, overviewLoaded: true }); if (shouldPersistRemoteOverview(overview)) { - saveStoredOverview(overview); + void saveStoredOverview(overview).catch(() => {}); } } catch { set({ overview: MOCK_OVERVIEW, error: null, loading: false, overviewLoaded: true }); @@ -328,7 +328,7 @@ export const useProductStore = create((set, get) => ({ })); async function saveStoredOverview(data: ProductOverview[]) { - await saveServerData('products-overview', data).catch(() => {}); + await saveServerData('products-overview', data); } async function loadStoredOverview(): Promise {