feat(launcher): implement force-sync and chronological download priority

Onsite operators can now manually trigger a full pre-sync of all location
materials via a "Force Sync Location" button in the Launcher config.
This ensures podium Macs have all content cached before an event starts.

- Added trigger__force_location_sync to launcher session store.
- Implemented force_location_sync() in background sync engine to perform
  recursive metadata fetches for all sessions in a location.
- Optimized download queue with a 4-tier chronological sort:
  1. Event/Location assets (Global)
  2. Sessions by start time (Earliest first)
  3. Presentations by start time (Sequential order)
  4. File creation date (First-in fairness for on-time uploads)
- Updated module and native integration documentation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-05-21 22:29:13 -04:00
parent 60e3fc539e
commit 86201f0fc1
6 changed files with 129 additions and 20 deletions

View File

@@ -119,6 +119,9 @@ export interface LauncherSessState {
trigger_reload__event_session_obj_li: string | null;
trigger_reload__event_location_obj_id: string | null;
trigger_reload__event_location_obj_li: string | null;
trigger__force_location_sync: any;
trigger__ws_connect: any;
trigger__ws_disconnect: any;
}
@@ -254,6 +257,8 @@ export const launcher_sess_defaults: LauncherSessState = {
trigger_reload__event_location_obj_id: null,
trigger_reload__event_location_obj_li: null,
trigger__force_location_sync: null,
trigger__ws_connect: null,
trigger__ws_disconnect: null
};