Saving minor fix for IDAA and JItsi. Saving code clean up for the Launcher. Related to the device heartbeat loop.

This commit is contained in:
Scott Idem
2026-01-26 11:43:47 -05:00
parent 79917edffc
commit 0e4802f7de
4 changed files with 31 additions and 85 deletions

View File

@@ -126,6 +126,19 @@ This project is the frontend UI/UX for the Aether (AE) system, built with Svelte
---
## 🧠 Session Context (2026-01-23)
- **Status:** Phase 4 Implementation Complete (Telemetry/Heartbeat).
- **Recent Actions:**
- Standardized Electron bridge to `snake_case` across all methods.
- Implemented organized caching with mandatory 2-char subdirectories.
- Verified Phase 3 OS commands (`run_cmd`, `run_osascript`, `kill_processes`).
- Implemented exhaustive recursive room data fetching in `ae_events__event_location.ts`.
- Hardened bootstrap to preserve local overrides for sync timers.
- **Pending Tasks:**
- Verify heartbeat visibility in Launcher UI.
- Implement Phase 5 AppleScript handlers for PowerPoint/Keynote.
- Build Telemetry Dashboard in Launcher Config.
## 🔗 Resources
- **Reference Stubs:** `agents_sync/technical/references/` (Svelte 5, Dexie, FastAPI).
- **Official Docs:** [Svelte Runes](https://svelte.dev/blog/runes) | [Dexie Quick Ref](https://dexie.org/docs/API-Reference#quick-reference)

View File

@@ -49,3 +49,11 @@ This is a list of tasks to be completed before the next event/show/conference.
- [x] **Journal Stability:** Resolved display issues where entries failed to show on initial load.
- [x] **Filter Hardening:** Updated LiveQuery to handle NULL/undefined for Enabled/Hidden flags.
- [x] **Config Expansion:** Added dynamic Query Limits (10-1000) to Journal module settings.
## Native App Development (2026-01-23)
- [x] Phase 2: Organized caching with 2-char subdirectories.
- [x] Phase 3: Standardize snake_case bridge and OS command set.
- [x] Phase 4: Implement device heartbeat and telemetry loop.
- [ ] [BUG] Verify heartbeat visibility in Launcher UI (user reported not seeing it).
- [ ] Phase 5: Implement specialized AppleScript handlers for Office/Keynote.
- [ ] [REFINEMENT] Build Telemetry Dashboard in Launcher Config.

View File

@@ -5,21 +5,9 @@
}
let { data }: Props = $props();
let log_lvl: number = $state(0);
// Imports
// import { browser } from '$app/environment';
// import { onMount } from 'svelte';
// import type { key_val } from '$lib/ae_stores';
// import { ae_util } from '$lib/ae_utils/ae_utils';
// import { api } from '$lib/api';
// import Element_ae_crud from '$lib/element_ae_crud.svelte';
// import Element_data_store from '$lib/element_data_store_v2.svelte';
// import { liveQuery } from "dexie";
// import { core_func } from '$lib/ae_core_functions';
// import { db_core } from "$lib/db_core";
// import { db_events } from "$lib/ae_events/db_events";
import {
ae_snip,
ae_loc,
@@ -47,44 +35,26 @@
get_device_info
} from '$lib/electron/electron_relay';
// import LauncherBackgroundSync from '../../launcher_background_sync.svelte';
// import Event_launcher_menu from '../../launcher_menu.svelte';
// import Event_launcher_session_view from '../../launcher_session_view.svelte';
// import native_app from '$lib/electron_native.js';
// Exports
// Variables
// Quickly save the data passed from the parent(s) to the Svelte stores, localStorage, and other.
// $slct.account_id = data.account_id;
// console.log(`$slct.account_id = `, $slct.account_id);
let ae_acct = data[$slct.account_id];
// console.log(`ae_acct = `, ae_acct);
// $ae_loc.url_origin = data.url.origin;
console.log(`event_id: ${data.params.event_id}`);
log_lvl = 1;
if (log_lvl) {
console.log(`event_id: ${data.params.event_id}`);
console.log(`event_location_id: ${data.params.event_location_id}`);
}
$events_slct.event_id = data.params.event_id;
console.log(`event_location_id: ${data.params.event_location_id}`);
$events_slct.event_location_id = data.params.event_location_id;
// console.log(`ae_acct.slct.event_id:`, ae_acct.slct.event_id);
// $events_slct.event_id = ae_acct.slct.event_id;
// $events_slct.event_obj = ae_acct.slct.event_obj;
$events_slct.event_location_obj_li = ae_acct.slct.event_location_obj_li ?? [''];
$events_slct.id_li__event_location = ae_acct.slct.id_li__event_location ?? [''];
console.log(`$events_slct.event_location_obj_li:`, $events_slct.event_location_obj_li);
if (log_lvl) {
console.log(`$events_slct.event_location_obj_li:`, $events_slct.event_location_obj_li);
}
$events_slct.event_session_obj_li = ae_acct.slct.event_session_obj_li ?? [''];
// $events_slct.id_li__event_session = ae_acct.slct.id_li__event_session ?? [''];
// $events_trig = ae_acct.trig;
// $events_trig.event_location_li = true;
// $events_trig.event_session_li = true;
// $events_trigger = 'event_location_li';
// Set the local storage values
if (!$events_loc.launcher) {
@@ -106,26 +76,6 @@
};
}
// if (browser) {
// console.log(`data.url.searchParams.get('location_id') = `, data.url.searchParams.get('location_id'));
// }
// if (ae_acct.slct.event_id) {
// $events_loc.launcher.slct.event_id = ae_acct.slct.event_id;
// }
// if (ae_acct.slct.event_location_id) {
// $events_loc.launcher.slct.event_location_id = ae_acct.slct.event_location_id;
// }
// if (ae_acct.slct.event_session_id) {
// $events_loc.launcher.slct.event_session_id = ae_acct.slct.event_session_id;
// }
// if (ae_acct.slct.event_presentation_id) {
// $events_loc.launcher.slct.event_presentation_id = ae_acct.slct.event_presentation_id;
// }
// if (ae_acct.slct.event_presenter_id) {
// $events_loc.launcher.slct.event_presenter_id = ae_acct.slct.event_presenter_id;
// }
// Set the session storage values
if (!$events_sess.launcher) {
$events_sess.launcher = {};
@@ -135,17 +85,6 @@
$events_sess.launcher.show_content__presentation_code = true;
$events_sess.launcher.show_content__presenter_code = true;
// Process the location list to pull out just the IDs.
// let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
// let bi_id_li__event_location: string[] = [];
// for (let i = 0; i < $events_slct.event_location_obj_li.length; i++) {
// let event_location_obj = $events_slct.event_location_obj_li[i];
// let event_location_id = event_location_obj.event_location_id;
// tmp_li.push(event_location_id);
// }
// bi_id_li__event_location = tmp_li;
// console.log(`bi_id_li__event_location:`, bi_id_li__event_location);
// Variables that will be used with Svelte bind are prefixed with 'bi_'.
let bi_trig__event_location: any = null;
@@ -158,24 +97,10 @@
// if (browser) {
// console.log(`Browser: ${browser}`);
// bi_trig__event_location = 'event_location_li';
// bi_trig__event_session = 'event_session_li';
// // $events_slct.event_location_id = data.url.searchParams.get('location_id');
// // $events_slct.event_session_id = data.url.searchParams.get('session_id');
// }
// onMount(() => {
// console.log('Pres Mgmt Launcher [slug]: +page@(launcher).svelte');
// // if ($ae_event_launcher.app_mode == 'native') {
// // handle_get_device_info($slct.event_device_id);
// // }
// // const native_app = require('$lib./script');
// // let native_app_config = native_app.load_init_config();
// // console.log('Native App Initial Config:', native_app_config);
// });
async function handle_get_device_info(event_device_id: string) {

View File

@@ -612,7 +612,7 @@
{/if}
{#if show_jitsi_tools}
{#if show_jitsi_tools && $ae_loc.edit_mode}
<div
class:bg-gray-400={expand_jitsi_tools}
class="jitsi-tools text-sm max-w-xl">