Files
OSIT-AE-App-Svelte/documentation/TODO__Agents.md
Scott Idem 60bdd2fdba feat(badges): public_access kiosk mode + manager access improvements
- Public (attendee) kiosk: unprinted badges link to /review; printed
  badges show green "Checked in · Nx · First/Last" row (non-clickable)
- Public attendees no longer see Print button (staff-only action)
- Printed badges sort to end of list for public non-trusted users
- Manager access: Print (reprint) and Email Link buttons always visible
  without requiring Edit Mode; main row behavior unchanged
- Empty state wording: context-aware — "Enter your name above to find
  your badge" for public users with no query vs "No badges found" after
  an actual search
- Docs: Epson C3500 fanfold section filled in (was empty placeholder);
  style_href/duplex implementation status corrected in badge templates
  doc; Axonius C3500 layout TODO marked complete

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 16:15:08 -04:00

4.3 KiB

Frontend Agent Task List

Use this file to track steps for complex features or bug fixes. Status: Stable — ongoing development. Scope: Active/open work only. Completed detail lives in archive files.

🔴 CMSC Charlotte — May 27 (Presentation Management)

Post-show hardening only

  • [Launcher/Electron] Wallpaper reliability (post-CMSC)
    • Use timestamp/randomized temp filename so macOS always sees a new path.
    • Add resilient reconciliation loop or event-driven reapply on display topology changes.

🔴 Axonius DC — June 9 (Badge Printing)

Setup/Registration: June 8 | Show: June 9

  • [Badges] Epson C3500 fanfold badge layoutbadge_4x6_fanfold layout CSS created, wired, and documented. First live use: Axonius Adapt DC, June 9, 2026. (2026-05-15)

🚧 V3 CRUD Migration (Surgical Cleanup)

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

  • [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.

[Data Layer] IDB sorting + content version rollout

Sorting baseline is now build_tmp_sort (ASC chain, no .reverse() on tmp-sort lists).

  • [IDB Sort] Roll out to ae_events__event_session after sort behavior review.
  • [IDB Sort] Roll out to ae_events__event_presenter after sort behavior review.
  • [IDB Sort] Roll out to ae_events__event_location after sort behavior review.
  • [IDB Sort] Roll out to ae_core__person + ae_core__account after sort behavior review.
  • [IDB Version] Roll out to db_events.ts (session, presenter, badge, etc.).
  • [IDB Version] Roll out to db_core.ts (site_domain, person, user).

[Journals] Journal Entry Config follow-ups

  • [Journals] Entry passcode secondary auth — implement passcode_hash comparison.

🧪 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 documentation/archive/TODO__Agents__ARCHIVE_2026-06.md