fix: account_name not showing on events page — stale Dexie cache + duplicate assignment
Two Svelte-side bugs causing account_name to always show 'Account Name Not Set':
1. ae_core__site.ts: background site_domain refresh only pushed cfg_json back
into $ae_loc after a stale cache hit. Now also pushes account_name and
account_code when the store holds a placeholder value.
2. +layout.ts: duplicate ae_loc_init['account_name'] assignment at line ~475
was overwriting the correct one at line ~385 with a different fallback string
('Account Name Not Set' vs 'Ghost Account'). Removed the duplicate.
Also includes user-intentional changes during testing:
- events/+page.svelte: typo fix ('You access' -> 'Your access'); Pres Mgmt /
Launcher / Badges / Leads buttons now gated on trusted_access && edit_mode
- events/+page.ts: event list limit 25 -> 7
- events/[event_id]/+page.svelte: user edit
This commit is contained in:
@@ -221,23 +221,37 @@ async function _refresh_site_domain_background({
|
||||
});
|
||||
|
||||
// WHY: The fast-path returns stale Dexie cache, then this background refresh
|
||||
// runs after the page renders. If cfg_json changed server-side (e.g. a Novi
|
||||
// API key was added), the stale cfg is already in $ae_loc. We push the fresh
|
||||
// cfg_json into the store here so any layout tracking it (e.g. IDAA Novi
|
||||
// verification) gets notified and can retry with the correct config.
|
||||
// runs after the page renders. Push any fields that may have been missing from
|
||||
// the stale cache (e.g. account_name, cfg_json) back into $ae_loc so the UI
|
||||
// reflects the correct values without requiring a second full page reload.
|
||||
const loc_patch: Record<string, unknown> = {};
|
||||
|
||||
if (result.cfg_json) {
|
||||
const current_cfg = get(ae_loc).site_cfg_json;
|
||||
if (
|
||||
JSON.stringify(current_cfg) !==
|
||||
JSON.stringify(result.cfg_json)
|
||||
) {
|
||||
ae_loc.update((loc) => ({
|
||||
...loc,
|
||||
site_cfg_json: result.cfg_json
|
||||
}));
|
||||
if (JSON.stringify(current_cfg) !== JSON.stringify(result.cfg_json)) {
|
||||
loc_patch.site_cfg_json = result.cfg_json;
|
||||
}
|
||||
}
|
||||
|
||||
if (result.account_name) {
|
||||
const current_name = get(ae_loc).account_name;
|
||||
// Only overwrite the default placeholder — don't stomp a real value.
|
||||
if (!current_name || current_name === 'Account Name Not Set' || current_name === 'Ghost Account') {
|
||||
loc_patch.account_name = result.account_name;
|
||||
}
|
||||
}
|
||||
|
||||
if (result.account_code) {
|
||||
const current_code = get(ae_loc).account_code;
|
||||
if (!current_code || current_code === 'not_set' || current_code === 'ghost') {
|
||||
loc_patch.account_code = result.account_code;
|
||||
}
|
||||
}
|
||||
|
||||
if (Object.keys(loc_patch).length > 0) {
|
||||
ae_loc.update((loc) => ({ ...loc, ...loc_patch }));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
} catch (error: any) {
|
||||
|
||||
Reference in New Issue
Block a user