Files
OSIT-AE-App-Svelte/documentation/TODO__Agents.md
Scott Idem 3d6f9035c8 docs(todo): track build_tmp_sort rollout progress
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 20:59:30 -04:00

6.1 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.

[IDB Sort] build_tmp_sort rollout

Shared utility in src/lib/ae_core/core__idb_sort.ts — fixes priority direction (inverted, true→'0' sorts first ASC) and zero-pads sort field (8 chars). No .reverse() needed. Sort chain: group → priority DESC → sort ASC → [module-specific fields] → name.

  • ae_events__event_presentation — group + priority + sort + start_datetime + code + name
  • ae_journals__journal + ae_journals__journal_entry — group + priority + sort + name + updated_on
  • ae_events__event_session — roll out when sort behavior is reviewed
  • ae_events__event_presenter — roll out when sort behavior is reviewed
  • ae_events__event_location — roll out when sort behavior is reviewed
  • ae_posts__post + ae_posts__post_comment — note: currently use 3-char padding; align to 8
  • ae_core__person + ae_core__account — roll out when sort behavior is reviewed

[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