diff --git a/neode-ui/src/views/Home.vue b/neode-ui/src/views/Home.vue index 78e3627d..01435faf 100644 --- a/neode-ui/src/views/Home.vue +++ b/neode-ui/src/views/Home.vue @@ -535,12 +535,11 @@ const cloudFolderDisplay = computed(() => cloudFolderCount.value !== null ? Stri // Web5.vue's own two resources (web5.networking-profits, web5.lnd-info) // were read and are NOT shared here: web5.networking-profits is an // unrelated dataset (routing/content-sale profit totals), and -// web5.lnd-info's default persist:true (Web5.vue is out of this plan's -// file scope to fix) would leak balance data to sessionStorage via its own -// independent refresh cycle regardless of what Home declares for the same -// key — sharing that key would either corrupt Web5.vue's differently-shaped +// web5.lnd-info now declares persist: false explicitly (fixed, CR-01) so its +// independent refresh cycle can never leak balance data to sessionStorage — +// sharing that key would still either corrupt Web5.vue's differently-shaped // entry.data (a real number here vs. its typed balance object there) or -// silently fail to close the sessionStorage gap this task exists to close. +// require Home to also opt into persist: false for no benefit. // Home's own wallet fetch is also a strictly broader 7-call composite // (lnd.getinfo + ecash/fedimint/ark balances + 3 histories), not the same // single-call dataset. See 02-06-SUMMARY.md for the full finding. diff --git a/neode-ui/src/views/web5/Web5.vue b/neode-ui/src/views/web5/Web5.vue index 3195f8d4..db004627 100644 --- a/neode-ui/src/views/web5/Web5.vue +++ b/neode-ui/src/views/web5/Web5.vue @@ -140,6 +140,7 @@ function showToast(text: string) { const profitsRes = useCachedResource({ key: 'web5.networking-profits', fetcher: (signal) => rpcClient.call({ method: 'wallet.networking-profits', signal, dedup: true, maxRetries: 1 }), + persist: false, // routing/content-sale profit totals — financial data (T-02-01) }) const profitsBreakdown = computed(() => profitsRes.data.value @@ -297,6 +298,7 @@ const lndInfoRes = useCachedResource<{ }>({ key: 'web5.lnd-info', fetcher: (signal) => rpcClient.call({ method: 'lnd.getinfo', signal, dedup: true, maxRetries: 1 }), + persist: false, // wallet balance — must never land in sessionStorage (T-02-01) }) // connectWallet() can still "disconnect" the (hidden) wallet card UI-side. const walletManuallyDisconnected = ref(false)