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:
13
GEMINI.md
13
GEMINI.md
@@ -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)
|
||||
8
TODO.md
8
TODO.md
@@ -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.
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user