From 32f8a75373fce8aa7e825635517ddc2778b2bfff Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Thu, 26 Feb 2026 13:42:27 -0500 Subject: [PATCH] Refactor: Add microtask yields to journals module for consistency Added await Promise.resolve() yields after IndexedDB writes to ensure Dexie observers fire before function returns. Aligns with pattern established in event loaders fix. Journals module was already working correctly (preserved try_cache), but adding yields ensures consistent timing behavior across all nested data loading patterns. --- src/lib/ae_journals/ae_journals__journal.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/ae_journals/ae_journals__journal.ts b/src/lib/ae_journals/ae_journals__journal.ts index 716bbff4..f31400bc 100644 --- a/src/lib/ae_journals/ae_journals__journal.ts +++ b/src/lib/ae_journals/ae_journals__journal.ts @@ -152,6 +152,8 @@ async function _refresh_journal_id_background({ properties_to_save, log_lvl }); + // Yield to microtask queue so Dexie liveQuery observers fire before we return + await Promise.resolve(); } if (inc_entry_li) { result.journal_entry_li = await load_ae_obj_li__journal_entry({ @@ -338,6 +340,8 @@ async function _refresh_journal_li_background({ properties_to_save, log_lvl }); + // Yield to microtask queue so Dexie liveQuery observers fire before we return + await Promise.resolve(); } if (inc_entry_li) { for (const journal of results) {