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 flow —
handle_open_file()usescopy_from_cache_to_temp+run_osascript/run_cmddirectly 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.tsnow prunes stale records after refresh, andlauncher_background_sync.svelterefreshes/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.tsvialookup_site_domain()usingapi.search_ae_objwith FQDN filter (used bysrc/routes/+layout.ts). Follow-up cleanup complete: retired legacy helpercore__site_domain.ts. (2026-06-02) - [Core] Legacy Utility Helpers — Refactor
ae_core_functions.tsto use V3 helpers. - [Cleanup] Delete Legacy Wrappers — Once all callsites are migrated, remove
src/lib/ae_api/api_get__crud_obj_id.tsand the legacy exports fromapi.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 + nameae_journals__journal+ae_journals__journal_entry— group + priority + sort + name + updated_onae_events__event_session— roll out when sort behavior is reviewedae_events__event_presenter— roll out when sort behavior is reviewedae_events__event_location— roll out when sort behavior is reviewedae_posts__post+ae_posts__post_comment— migrated tobuild_tmp_sortwith 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.tsand 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 remainingchildren={...}bindings on<Modal>andnpx svelte-checkis clean. (2026-06-02)
[Journals] Journal Entry Config follow-ups
- [Journals] Entry passcode secondary auth — implement
passcode_hashcomparison. - [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-svelteimports to@lucide/svelteMigrated all 5 listed files to@lucide/svelteand uninstalledlucide-sveltefrom 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.sveltenow capturesqry_hiddenas a$derived.bydependency 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_hidden→params.qry_hiddeninhandle_search_refreshAPI call to be consistent with fast path snapshot. (2026-05-28) - Note:
hide_event_launcheris still active — used inmenu_session_list.svelte(Launcher) to CSS-hide sessions from the list. Button to toggle it is insession_page_menu.svelte. Not used in Pres Mgmt (intentional — Pres Mgmt always shows all). - Note: Non-trusted users always have
!item.hideapplied at the component level inae_comp__event_session_obj_li.svelteregardless ofqry_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_jsoninsearch__event(). - [IDAA] Optimize Recovery Meetings SQL VIEW and indexes.
- [IDAA / Events] Audit
default_qry_strcoverage in all other event search pages. - [Launcher/VLC] Linux playback investigation — fullscreen + pause-on-end flags.
⚙️ DevOps & Backend
- [Backend]
event_file— addcfg_jsoncolumn (post-CMSC) — The per-file display override currently uses a localStorage workaround ($events_loc.launcher.file_display_overrides) becauseevent_filehas no JSON blob column. Proper fix: addcfg_jsonto theevent_fileDB 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 inlauncher_file_cont.svelte— search forfile_display_overrides. - [Backend] Re-add
Access-Control-Allow-Private-Network: trueCORS header. - [DevOps] Nginx caching — Investigate
index.htmlcache-pickup issues. - [DevOps] Simplify Dockerfile env file selection — Use plain
.envinstead ofBUILD_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