Files
OSIT-AE-App-Svelte/TODO.md
Scott Idem 88bc18cf15 fix(core): resolve 68 compiler errors and stabilize Svelte 5 reactivity
- Fixed 'Captured initial value' warnings in 65+ components by implementing
  proper sync effects with 'untrack' and derived states.
- Hardened Event Settings JSON editors using a temporary string-buffer pattern
  to safely decouple object-based data from CodeMirror's string requirements.
- Resolved strict TypeScript mismatches across core routes (Accounts, Sites, etc.)
  and improved property indexing safety in views.
- Patched Flowbite-Svelte Drawer transitions for Svelte 5 compatibility using
  prop spreading.
- Added comprehensive safety comments to high-risk reactivity blocks.
- Synchronized 'ae_types.ts' with V3 backend models.
2026-02-08 16:05:35 -05:00

151 lines
10 KiB
Markdown

# One Sky IT's Aether UI/UX Project TODO
This is a list of tasks to be completed before the next event/show/conference.
---
## High Priority (Active Task)
1. **Svelte 5 Compiler Error Cleanup (68/68 Resolved):**
- [x] Fixed prop synchronization warnings in 65+ components using `untrack` and `$derived`.
- [x] Resolved strict TypeScript errors in all core routing pages (Accounts, Sites, etc.).
- [x] Refactored Event Settings JSON editors to use safe string-buffer pattern.
- [x] Fixed Flowbite-Svelte Drawer property mismatches.
- [ ] **STALLED (Testing Required):**
- [ ] **Smoke Test:** Event Settings JSON/Form Sync & Persistence.
- [ ] **Smoke Test:** Breadcrumb Navigation & Upload Component ID Sync.
- [ ] **Smoke Test:** Sign Out/In & Storage Clearing Flow.
2. **Button Standardization & Security Cleanup:**
- [x] **Journals Module:** Standardized all buttons to `type="button"` or `type="submit"`. (Completed 2026-02-03)
- [x] **Events Module:** Cleaned up 50+ components, ensuring unique attributes and correct typing. (Completed 2026-02-03)
- [x] **IDAA Module:** Standardized button behavior across Recovery Meetings, Archives, and Bulletin Board. (Completed 2026-02-03)
- [x] **V3 Action API Migration:** Updated all file downloads/deletes to use authenticated `/v3/action/` endpoints. (Completed 2026-02-03)
2. **Search Module Hardening (V3 Standardization):**
- [x] **IDAA Recovery Meetings:** Standardized reactive pattern and SWR. (Completed 2026-01-27)
- [x] **Journals Entry Search:** Implemented Search Guard and debounced effects. (Completed 2026-01-27)
- [x] **Badge Search:** Fixed `default_qry_str` mapping and stabilized reactivity. (Completed 2026-01-27)
- [x] **Session Search:** Modernized logic, fixed layout bugs and icon exports. (Completed 2026-01-27)
- [x] **Exhibit Search:** Standardized Exhibitor and Lead Tracking reactive search. (Completed 2026-01-28)
## Urgent Tasks (Feb 5, 2026)
1. **IDAA Module Verification:**
- [ ] **Bulletin Board (BB):**
- [x] Verify Post/Comment create/edit (Resolved IntegrityErrors).
- [ ] **STALLED:** Verify email notifications for staff and original posters (Confirmed NOT working).
- [ ] Verify anonymous toggle and hide/priority admin flags.
- [ ] Test file attachments on Posts and optimize inline image display.
- [ ] **Loading Optimization:** Simplify `+page.ts` post loading context to eliminate redundant fetches.
- [ ] **Recovery Meetings:**
- [ ] Verify all search filters.
- [ ] Audit full editing workflow (70% done).
- [ ] Verify special code/copy buttons for Zoom/Jitsi.
- [ ] **View and Edit:** View and Edit of an IDAA Recovery Meeting still needs to be fully tested.
2. **Events - Presentation Management:**
- [ ] **Basics:** Ensure all core presentation management features are fully functional.
- [ ] **Uploads:** Verify direct file uploads to Presenter, Session, Location, and Event.
3. **Events - Badges:**
- [ ] **Rendering:** Verify Badge Template pulling and correct rendering.
- [ ] **Editing:** Ensure basic fields (name, affiliations, badge type) are editable.
## Urgent Tasks (Feb 4, 2026)
1. **IDAA Module Verification:**
- [x] **Archives:** Verify everything loads/plays; ensure Archives and Archive Content are editable; check linked file management. (Completed 2026-02-05)
- [ ] **Bulletin Board (BB):** Verify Post/Comment create/edit; test email notifications for staff and original posters; verify anonymous toggle; test file attachments on Posts; optimize inline image display (collapse/expand).
- [ ] **Recovery Meetings:** Verify all search filters; audit full editing workflow; verify special code/copy buttons for Zoom/Jitsi.
2. **Events - Presentation Management:**
- [ ] **Basics:** Ensure all core presentation management features are fully functional.
- [ ] **Uploads:** Verify direct file uploads to Presenter, Session, Location, and Event.
3. **Events - Badges:**
- [ ] **Rendering:** Verify Badge Template pulling and correct rendering.
- [ ] **Editing:** Ensure basic fields (name, affiliations, badge type) are editable.
4. **Events - Leads/Tracking:**
- [ ] **Exhibitor Staff:** Sign-in workflow per staff person.
- [ ] **Payment:** Integration check (Stripe).
- [ ] **Licensing:** Increment management per exhibit/license.
- [ ] **Attendee Opt-in:** Verify opt-in/out logic for lead retrieval.
- [ ] **Search:** Case-insensitive search by Badge ID, QR, name, email, or affiliations.
- [ ] **Lead Association:** Link attendees to Event Person/Badge records.
- [ ] **Export:** Confirm allowed exportable attendee profile fields for exhibitors.
5. **Zoom Events API Integration:**
- [ ] **Aether API (FastAPI):** Implement cron for synchronization.
- [ ] **Investigation:** Audit Zoom Events API for available attendee profile fields (name, email, etc.).
---
## Current Priorities (Feb 3, 2026)
1. **Codebase Hygiene:**
- [ ] **Type Mismatch Resolution:** Resolve remaining simple type mismatches flagged by `svelte-check` (currently ~160).
- [ ] **Bite-Sized Refactoring:** Split large components (>800 lines) into modular sub-components (e.g., `ae_idaa_comp__event_obj_id_edit.svelte`).
2. **Reactivity & Performance:**
- [x] **Search Guard Pattern:** Deployed project-wide to eliminate infinite loops.
- [x] **Shared Observables:** Refactored lists to accept `liveQuery` props for flicker-free SWR transitions.
3. **String-Only ID Standardization:**
- [x] Audit and resort ID prioritization logic across all `.ts` and `.svelte` files. (Phase 1 Completed 2026-01-30)
- [x] Preferred Order: `[obj_type]_id` || `id` || `[obj_type]_id_random` || `id_random`.
---
## 🚀 Future Features & Backlog
- [ ] **Journal Annotations:** Implement a "Post-Comment" style system for adding reflections to Journal Entries.
- [ ] **Badge Rendering:** Resolve badge preview template failure (Pending DB schema verification).
- [ ] **Telemetry Visuals:** Expand Launcher dashboard with network bandwidth and storage usage stats.
---
## 🛠️ DX & Tooling (MCP)
- [x] **V3 API Parameter Hardening:** Updated `search_ae_obj_v3` for URL serialization.
- [x] **Safe Workflow Strategy:** Implemented atomic edit -> format -> lint fix -> svelte-check cycle.
- [ ] **Payload Validation:** Create dry-run tool for Pydantic model checking.
---
## Recent Accomplishments (Feb 3, 2026)
- [x] **Platform-Wide Button Standardization:** Surgical cleanup of 81 files to ensure `type="button"` is used for all non-submitting buttons, preventing unintended form resets.
- [x] **V3 Action API Migration:** Successfully migrated all file downloads and deletes to the authenticated `/v3/action/` endpoints, hardening file security.
- [x] **Compiler Error Resolution:** Fixed 40+ critical errors including duplicate attributes in multi-line tags and missing `untrack` imports in Svelte 5 effects.
- [x] **Hosted Files Modernization:** Standardized all download, link, and upload components across the platform.
## Recent Accomplishments (Feb 8, 2026)
- [x] **Zero-Error Compiler State:** Successfully cleared all 68 'svelte-check' errors across the entire application.
- [x] **Event Settings Hardening:** Refactored complex JSON configuration editors to use a temporary string-buffer pattern, preventing data corruption and resolving multiple TypeScript assignment errors.
- [x] **Prop Reactivity Pass:** Standardized prop synchronization logic in core components (Sign-In, File Upload, Layout) to adhere to Svelte 5 Runes best practices.
- [x] **Triple-ID TypeScript Alignment:** Updated 'ae_types.ts' and refined property processing to fully support semantic string IDs across core modules.
## Recent Accomplishments (Feb 7, 2026)
- [x] **Exhibitor Leads V3 Core Foundations:** Modularized `ae_events__exhibit` and `ae_events__exhibit_tracking` with V3 SWR standards and trace-ready performance logging.
- [x] **String-Only ID Standardization (Phase 3):** Refactored Lead capture, search, and property processing to use base `_id` keys instead of `_random` suffixes, aligning with the backend's semantic string primary keys.
- [x] **Leads Dashboard Orchestration:** Implemented mobile-first dashboard with persistent sticky tabs for Add Lead, Lead List, and Manage.
- [x] **Lead Detail Profile:** Implemented nested routing and a comprehensive read-only Lead Profile view featuring custom responses and exhibitor notes.
- [x] **Booth Self-Service:** Implemented the Manage/Config tab using `Element_ae_crud_v2` for live-revalidating booth profile updates.
- [x] **Search Protocol Hardening:** Identified and resolved logical field mismatches in V3 POST search by correctly injecting parent context parameters.
## Recent Accomplishments (Feb 5, 2026)
- [x] **BB Creation Stabilized:** Resolved 'post_id' IntegrityErrors by correctly mapping 'post_id_random' in payloads.
- [x] **Null-Pointer Hardening:** Applied optional chaining and stable local reactive state to prevent UI crashes in BB.
- [x] **Infinite Loop Resolution:** Optimized post view effects with `untrack()` to stop request loops.
- [x] **Dexie Schema Sync:** Synchronized local database schema with project naming conventions ('comment' table).
## Recent Accomplishments (Feb 4, 2026)
- [x] **Event Session Search Restoration:** Restored functionality by standardizing on `event_id` for Dexie queries and implementing dual-layer filtering (local + API revalidation guard) to prevent broad results from clobbering filtered views.
- [x] **String-Only ID Standardization (Phase 2):** Updated generic object processors (`_process_generic_props`) across all event-related library modules to support string IDs without the `_random` suffix.
- [x] **Standardized Component Props:** Refactored `ae_comp__event_presenter_obj_li_wrapper.svelte` and `ae_comp__event_presentation_obj_li.svelte` to support standardized `_id_li` properties while maintaining backward compatibility.
- [x] **IDAA Bulletin Board Audit:** Verified that staff and poster email notifications are correctly triggered during post/comment creation.
- [x] **Snake_Case Cleanup:** Standardized common helper identifiers (e.g., `prevent_default`) to match project naming conventions.
---