Files
OSIT-AE-App-Svelte/documentation/archive/TODO__Agents__ARCHIVE_2026-06.md

8.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] Hidden/deleted files still visible in Presenter file list — Fixed by API-to-Dexie stale-record pruning plus Launcher background refresh loops for file lists. ae_events__event_file.ts now prunes stale records after refresh, and launcher_background_sync.svelte refreshes/prunes selected session and presenter file lists. (fix(launcher): refresh file lists periodically to prune deleted/hidden files, 2026-05)
  • [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 Refactor — Bootstrap path is already on V3 in ae_core__site.ts via lookup_site_domain() using api.search_ae_obj with FQDN filter (used by src/routes/+layout.ts). Follow-up cleanup complete: retired legacy helper core__site_domain.ts. (2026-06-02)
  • [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. ⚠️ Never use .reverse() on a tmp_sort_*-sorted list — inverted priority makes it wrong. Documented in GUIDE__SvelteKit2_Svelte5_DexieJS.md (IDB Sort section).

  • 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 — migrated to build_tmp_sort with 8-char padding; BB comment list consumer updated for ASC tmp_sort ordering. (2026-06-02)
  • 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. Verified no remaining children={...} bindings on <Modal> and npx svelte-check is clean. (2026-06-02)

[Journals] Journal Entry Config follow-ups

  • [Journals] Entry passcode secondary auth — implement passcode_hash comparison.
  • [Journals] Summary AI shortcut — added Quick Actions button in entry config modal and wired it to close modal + scroll to AI tools panel in entry edit view. (2026-06-02)

[Cleanup] Migrate remaining lucide-svelte imports to @lucide/svelte

  • [Cleanup] Migrate remaining lucide-svelte imports to @lucide/svelte Migrated all 5 listed files to @lucide/svelte and uninstalled lucide-svelte from dependencies. (2026-06-02)

[Pres Mgmt] Sessions hide/show toggle

  • [Pres Mgmt] Hidden sessions blink on initial load — SCENARIO 2 fallback in pres_mgmt/+page.svelte now captures qry_hidden as a $derived.by dependency and applies the filter in the fallback path. No blink on page load. (2026-05-28)
  • [Pres Mgmt] API call uses live store instead of snapshot — changed pres_mgmt_loc.current.qry_hiddenparams.qry_hidden in handle_search_refresh API call to be consistent with fast path snapshot. (2026-05-28)
  • Note: hide_event_launcher is still active — used in menu_session_list.svelte (Launcher) to CSS-hide sessions from the list. Button to toggle it is in session_page_menu.svelte. Not used in Pres Mgmt (intentional — Pres Mgmt always shows all).
  • Note: Non-trusted users always have !item.hide applied at the component level in ae_comp__event_session_obj_li.svelte regardless of qry_hidden. Toggle is trusted-access-only in practice; direct session links still work for non-trusted users.

🧪 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