From 8850db89c6c6f04cebbc08cfbd48d069123f2757 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 19 May 2026 11:17:24 -0400 Subject: [PATCH] fix(layouts): guard appshell header/footer data stores behind account_id element_data_store fires its load trigger as soon as api_ready is true, with no check for account_id. In the IDAA iframe flow, the outer layout mounts before Novi UUID verification completes, so the footer fetch fires with no x-account-id header and gets a 403. Wrap the IDAA outer layout footer in {#if $ae_loc.account_id} so it only loads once the member's identity is established. Apply the same guard to the events layout header and footer for consistency. Journals was already safe (data stores are inside the trusted_access gate). Co-Authored-By: Claude Sonnet 4.6 --- src/routes/events/+layout.svelte | 4 ++-- src/routes/idaa/+layout.svelte | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/routes/events/+layout.svelte b/src/routes/events/+layout.svelte index f35ab385..7858cc77 100644 --- a/src/routes/events/+layout.svelte +++ b/src/routes/events/+layout.svelte @@ -251,7 +251,7 @@ function clear_sess() { class="mx-1 inline-block text-gray-500 dark:text-gray-400" /> Æ Events - {#if !$ae_sess?.disable_sys_header} + {#if !$ae_sess?.disable_sys_header && $ae_loc.account_id} @@ -364,7 +364,7 @@ function clear_sess() { - {#if !$ae_sess?.disable_sys_footer} + {#if !$ae_sess?.disable_sys_footer && $ae_loc.account_id}