From a79ff81be020b8878214c302aecad9bcdc1ac56a Mon Sep 17 00:00:00 2001 From: Alfred Tang Date: Sat, 14 Mar 2026 17:17:10 +0800 Subject: [PATCH 1/2] fix: resolve chat messages not loading due to Nuxt auto-import bug and WCDB timeout - Move frontend/utils/ to frontend/lib/ to avoid Nuxt unimport scanner incorrectly extracting function parameter names (value, fallback) as module-level exports, which injected phantom imports that broke all client-side JavaScript execution - Update all import paths across 13 files from ~/utils/ to ~/lib/ - Add timeout (5s) and negative cache (60s TTL) to WCDB realtime ensure_connected() to prevent open_account() from hanging indefinitely when the WeChat database is locked - Reorder selectContact() to fire loadMessages() before navigateTo() so the message fetch starts before route navigation triggers Suspense - Add watch: false to SSR useAsyncData calls to prevent unnecessary re-fetching on client-side route changes --- frontend/components/SettingsDialog.vue | 8 +- .../wrapped/cards/Card04EmojiUniverse.vue | 2 +- .../wrapped/cards/Card06KeywordsWordCloud.vue | 2 +- .../visualizations/AnnualCalendarHeatmap.vue | 2 +- .../visualizations/KeywordWordCloud.vue | 2 +- .../visualizations/WeekdayHourHeatmap.vue | 2 +- frontend/composables/useApi.js | 2 +- frontend/composables/useApiBase.js | 32 +- frontend/{utils => lib}/api-settings.js | 0 frontend/{utils => lib}/desktop-settings.js | 0 frontend/{utils => lib}/privacy-mode.js | 0 .../{utils => lib}/server-error-logging.js | 0 frontend/{utils => lib}/wechat-emojis.ts | 0 frontend/{utils => lib}/wrapped/heatmap.js | 0 frontend/{utils => lib}/wrapped/types.js | 0 frontend/package-lock.json | 7610 ++++++----------- frontend/pages/chat/[[username]].vue | 206 +- frontend/pages/index.vue | 2 +- frontend/pages/sns.vue | 6 +- frontend/stores/chatAccounts.js | 8 +- frontend/stores/privacy.js | 2 +- src/wechat_decrypt_tool/wcdb_realtime.py | 62 +- 22 files changed, 3022 insertions(+), 4926 deletions(-) rename frontend/{utils => lib}/api-settings.js (100%) rename frontend/{utils => lib}/desktop-settings.js (100%) rename frontend/{utils => lib}/privacy-mode.js (100%) rename frontend/{utils => lib}/server-error-logging.js (100%) rename frontend/{utils => lib}/wechat-emojis.ts (100%) rename frontend/{utils => lib}/wrapped/heatmap.js (100%) rename frontend/{utils => lib}/wrapped/types.js (100%) diff --git a/frontend/components/SettingsDialog.vue b/frontend/components/SettingsDialog.vue index 7dcc1a0..fe69abd 100644 --- a/frontend/components/SettingsDialog.vue +++ b/frontend/components/SettingsDialog.vue @@ -289,9 +289,10 @@