Files
OSIT-AE-App-Svelte/documentation/TODO__Agents.md
Scott Idem dddf4b6170 feat(launcher): restore Kill Apps button in Native OS config
Kills the standard conference presentation app set between sessions:
Microsoft PowerPoint, Keynote, Adobe Acrobat Reader DC, VLC, soffice.

- Calls native.kill_processes({ process_name_li }) via existing relay
- Process list overridable per device via event_device.other_json.launcher.kill_process_li
- Button lives in Native OS config > System Actions (edit mode only)
- Reuses system_status for feedback — shows which apps are being killed
- Original list recovered from git history of legacy architecture docs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 16:43:42 -04:00

5.2 KiB

Frontend Agent Task List

Use this file to track steps for complex features or bug fixes. Status: Stable — ongoing development.

🔴 CMSC Charlotte — May 27 (Presentation Management)

Drive down: May 25 | Setup: May 26 morning | Show: May 27+

  • [Launcher] Composable open flowhandle_open_file() uses copy_from_cache_to_temp + run_osascript / run_cmd directly with per-step error handling. Complete.
  • [Launcher] Slide control scripts in Svelte config — AppleScript post_scripts live in ae_launcher__default_launch_profiles.ts. VLC focus-stealing fix applied. Complete.
  • [Launcher] Kill Apps button — "Kill Apps" button added to Native OS config (System Actions, edit mode only). Kills PowerPoint, Keynote, Adobe Acrobat Reader DC, VLC, soffice. List overridable via event_device.other_json.launcher.kill_process_li. Auto-cleanup on file open (deferred — manual button sufficient for CMSC).
  • [Launcher] End-to-end test on macOS — test pptx and key opens on a real podium Mac.
  • [Launcher/Electron] Wallpaper stops applying after several changes (post-CMSC) — Append timestamp/random suffix to temp filename so macOS always sees a new path.
  • [Launcher/Electron] Wallpaper drift after display hotplug (post-CMSC) — Add resilient reconciliation loop or event-driven reapply on topology change.

🔴 Axonius DC — June 9 (Badge Printing)

Setup/Registration: June 8 | Show: June 9

  • [Badges] Epson C3500 fanfold badge layout — Create/configure a fanfold badge layout compatible with the Epson C3500 continuous stock format.

🚧 V3 CRUD Migration (Surgical Cleanup)

Finalizing the 100% adoption of V3 Standard endpoints and retirement of legacy wrappers.

  • [Badges] Presenter Agreement Form — migrated to update_ae_obj (2026-05-21)
  • [Core] Site Domain Bootstrap Refactorload_ae_obj_by_fqdn__site_domain in core__site_domain.ts still uses legacy ID-lookup-by-FQDN. Refactor to use V3 api.search_ae_obj with fqdn filter per integration guide.
  • [Core] Legacy Utility Helpers — Refactor ae_core_functions.ts to use V3 helpers.
  • [Cleanup] Delete Legacy Wrappers — Once all callsites are migrated, remove src/lib/ae_api/api_get__crud_obj_id.ts and the legacy exports from api.ts.

🚧 High Priority Workstreams

[Stores] Svelte 4 → Svelte 5 State Migration

The app uses svelte-persisted-store (coarse reactivity). Migration target: replace with Svelte 5 $state-based persistence for fine-grained updates.

  • Phase A — Project plan + wrapper decision: Write PROJECT__Stores_Svelte5_Migration.md.
  • Phase B — Core auth stores (highest impact): ae_loc, idaa_loc.
  • Phase C — Remaining persisted stores: ae_api, ae_events_stores.
  • Phase D — Non-persisted writable stores: ae_sess, slct, ae_snip, etc.

[Stores] IDB Content Version System

  • Write check_and_clear_idb_tables() helper.
  • Wire helper into db_journals.ts and IDAA layout.
  • Roll out to db_events.ts (module-wide: session, presenter, badge, etc.).
  • Roll out to db_core.ts (site_domain, person, user).

[TypeScript] svelte-check hidden errors

  • [flowbite-svelte] ModalProps.children — 31 errors across 26 files. Replace children prop binding with Svelte snippet syntax.

[Journals] Journal Entry Config follow-ups

  • [Journals] Entry passcode secondary auth — implement passcode_hash comparison.
  • [Journals] Summary AI shortcut — add button to modal.

🧪 Testing & Optimization

  • [IDAA] IDB fast-path contact search — parse contact_li_json in search__event().
  • [IDAA] Optimize Recovery Meetings SQL VIEW and indexes.
  • [IDAA / Events] Audit default_qry_str coverage in all other event search pages.
  • [Launcher/VLC] Linux playback investigation — fullscreen + pause-on-end flags.

⚙️ DevOps & Backend

  • [Backend] event_file — add cfg_json column (post-CMSC) — The per-file display override currently uses a localStorage workaround ($events_loc.launcher.file_display_overrides) because event_file has no JSON blob column. Proper fix: add cfg_json to the event_file DB table, expose it through the FastAPI model, then migrate the frontend back to reading/writing the backend field (restoring global/cross-device persistence). Frontend code is in launcher_file_cont.svelte — search for file_display_overrides.
  • [Backend] Re-add Access-Control-Allow-Private-Network: true CORS header.
  • [DevOps] Nginx caching — Investigate index.html cache-pickup issues.
  • [DevOps] Simplify Dockerfile env file selection — Use plain .env instead of BUILD_MODE.

Completed (archived)

See the full completed history in: documentation/archive/TODO__Agents__ARCHIVE_2026-03.md documentation/archive/TODO__Agents__ARCHIVE_2026-04.md documentation/archive/TODO__Agents__ARCHIVE_2026-05.md