docs(launcher): CMSC Charlotte task breakdown + doc date fix
- TODO__Agents: expand CMSC Charlotte launcher task into done/remaining sections; enumerate Svelte-side migration items (default templates, composable open flow, error fallback, slide control config, kill list config, Launcher config UI editor, end-to-end Mac test gate) - PROJECT__AE_Events_Launcher_Native_integration: update Last Updated to 2026-05-11
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Aether Events Launcher: Native Electron Integration
|
||||
|
||||
> **Status:** Operational / Phase 5 Implementation
|
||||
> **Last Updated:** 2026-03-11
|
||||
> **Last Updated:** 2026-05-11
|
||||
> **Primary Platform:** macOS (Darwin)
|
||||
> **Fallback Platform:** Linux / Windows
|
||||
|
||||
|
||||
@@ -6,10 +6,44 @@
|
||||
## 🔴 CMSC Charlotte — May 27 (Presentation Management)
|
||||
**Drive down:** May 25 | **Setup:** May 26 morning | **Show:** May 27+
|
||||
|
||||
- [ ] **[Electron/Launcher] Clean up presentation file launch scripts** — BGH show revealed
|
||||
issues with the scripts used to open/launch presentation files through the Electron Launcher.
|
||||
Audit and improve the launch/open flow (script reliability, error handling, file path resolution).
|
||||
Must be tested and ready before May 26 setup day.
|
||||
**[Electron/Launcher] Clean up presentation file launch scripts** — BGH show revealed issues
|
||||
with the scripts used to open/launch presentation files. Architecture decision: move launch
|
||||
logic to the Svelte side so it can be changed without an Electron rebuild. Electron becomes a
|
||||
thin OS primitive layer; all business logic lives in Svelte and device config.
|
||||
|
||||
**Electron groundwork (2026-05-11) — DONE:**
|
||||
- [x] `run_osascript` hardened — temp `.scpt` file approach; handles multi-line + special chars
|
||||
- [x] `native:copy-from-cache-to-temp` primitive added — copy to tmp, caller decides launch
|
||||
- [x] `native:launch-from-cache` accepts optional `script_template` — AppleScript or `shell:` prefix; falls back to hardcoded defaults when null
|
||||
- [x] `get_launch_script_template()` in `launcher_file_cont.svelte` reads from device config then event config; passes result to `launch_from_cache`
|
||||
|
||||
**Svelte-side migration — remaining before May 26:**
|
||||
- [ ] **[Launcher] Built-in Svelte default templates** — move the "known good" pptx/key/pdf
|
||||
AppleScript strings out of Electron hardcode and into a Svelte constants file (e.g.
|
||||
`ae_launcher__default_launch_scripts.ts`). Priority: `get_launch_script_template()` already
|
||||
checks device config and event config; add a 3rd fallback to these Svelte defaults before
|
||||
returning `null`. This means Electron's hardcoded defaults become the last-resort only.
|
||||
- [ ] **[Launcher] Composable open flow** — refactor `handle_open_file()` to use
|
||||
`copy_from_cache_to_temp` + `run_osascript` / `run_cmd` directly instead of the all-in-one
|
||||
`launch_from_cache`. Finer error handling at each step (verify copy succeeded before
|
||||
attempting script; surface failure clearly in UI).
|
||||
- [ ] **[Launcher] Error handling + fallback** — when the launch script fails, offer fallback
|
||||
to `open_local_file_v2` (OS default handler) rather than silently failing. Show error detail
|
||||
in the launcher file row so staff can diagnose onsite.
|
||||
- [ ] **[Launcher] Slide control scripts in Svelte config** — `control_presentation` AppleScript
|
||||
one-liners are hardcoded in Electron. Move to device config (`data_json.control_scripts`) or
|
||||
Svelte constants so slide nav behavior (e.g. keystroke vs. AppleScript command) can be adjusted
|
||||
without a rebuild. Wire through `run_osascript` directly.
|
||||
- [ ] **[Launcher] `kill_processes` target list in config** — process names to kill on cleanup
|
||||
are currently caller-hardcoded. Allow device config to specify the process name list per
|
||||
file type / app, so adding a new presentation app doesn't require a Svelte code change.
|
||||
- [ ] **[Launcher] Launcher config UI — launch_scripts editor** — add a Technical Mode panel
|
||||
in the Launcher config (tabbed settings) to view and edit `launch_scripts` entries on the
|
||||
active device record. PATCH via `event_device` V3 CRUD. Lets OSIT staff tune scripts onsite
|
||||
without needing phpMyAdmin or a code deploy.
|
||||
- [ ] **[Launcher] End-to-end test on macOS** — test pptx and key opens on a real podium Mac
|
||||
before May 26 setup day. Verify: file copies to tmp correctly, script fires, app opens in
|
||||
slideshow mode, error fallback works.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user