perf(events): implement non-blocking SWR pattern and optimize library loaders
- Refactored 'event_session', 'event_presentation', 'event_file', 'event_location', and 'event_presenter' libraries to follow a Stale-While-Revalidate pattern. - Implemented non-blocking background refreshes to allow instant UI rendering from IndexedDB cache. - Parallelized nested collection loads (files, presentations) during background tasks to eliminate UI stalls. - Standardized ID lookups using specific indices (event_location_id, event_id) for reliable local data retrieval. - Resolved regression where aggressive ID overwriting caused relationship inconsistencies in background loads. - Fixed reactive access to live queries in 'session_view.svelte' using proper Svelte 5 prefixing.
This commit is contained in:
@@ -1038,7 +1038,7 @@
|
||||
{/if}
|
||||
|
||||
<!-- Using the loading__session_id_status is kind of a hacky way to determine if the session is still loading or not. -->
|
||||
{#if $events_slct.event_session_id && $lq__event_session_obj && !$events_sess.launcher.loading__session_id_status}
|
||||
{#if $events_slct.event_session_id && $lq__event_session_obj}
|
||||
<Launcher_session_view
|
||||
bind:slct__event_session_id={$events_slct.event_session_id}
|
||||
{lq__event_session_obj}
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
slct__event_presentation_li: null
|
||||
});
|
||||
|
||||
let hover_timer_wait = 2500;
|
||||
let hover_timer_wait = 750;
|
||||
let hover_timer: any = $state(null);
|
||||
|
||||
$effect(() => {
|
||||
|
||||
Reference in New Issue
Block a user