# 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 10, 2026) 1. **AE Events Launcher Hardening:** - [ ] **Temp Cleanup:** Implement auto/manual removal of `[tmp]` files older than 24 hours. - [ ] **Recording Access:** Add button to open `[recording]` directory in Finder (macOS). - [ ] **JWT Lifecycle:** Implement silent auto-refresh for long-running podium sessions. - [ ] **Launch Protection:** Prevent "Duplicate Launch" via UI locking and status messaging. - [ ] **Cache Reliability:** Implement `.tmp -> .file` rename pattern with post-download checksum verification. - [ ] **Native Actuators:** Plan macOS-specific commands for window focus and system orientation. - [ ] **Self-Update:** Implement simple directory/URL-based auto-update mechanism. - [x] **Audit:** Marked `electron_native.js` as `[DEPRECATED]` in favor of active native repo logic. - [x] **Telemetry:** Made CPU Load gauge dynamic using real-time `loadavg` data. 1. **IDAA Module Verification:** - [ ] **Bulletin Board (BB):** 90-95% Ready for Beta Test. - [x] Verify Post/Comment create/edit (Resolved IntegrityErrors). - [x] Loading Optimization: Simplified `+page.ts` fetches. - [ ] Verify anonymous toggle and hide/priority admin flags. - [ ] Test file attachments on Posts. - [x] **Archives:** Tested and working well. (Completed 2026-02-09) - [ ] **Recovery Meetings:** - [ ] Verify all search filters. - [ ] Audit full editing workflow (70% done). - [ ] Verify special code/copy buttons for Zoom/Jitsi. 2. **Events - Badges:** Partially editable; needs full field implementation. - [ ] **Rendering:** Verify Badge Template pulling and correct rendering. - [ ] **Editing:** Convert manual `editable_` fields and placeholders to `Element_ae_crud_v2` for robust field editing (Full Name, Title, Affiliations, etc.). 3. **Events - Leads/Tracking:** 80-90% done; ready for demo. (Pausing until later this week/next week) 4. **Framework - WebSockets:** - [ ] **Migration:** Update `element_websocket_v2.svelte` to V3 standards (Svelte 5 Runes, robust reconnection, and V3 API alignment). - [x] **Authentication:** Staff Passcode / Licensee Sign-in. - [x] **Portal Management:** Admin Tools & Licensee sync. - [x] **Sync Telemetry:** Refresh indicators. - [ ] **Stripe Integration:** Payment flow verification. - [ ] **Attendee Opt-in:** Verify logic. ## 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 9, 2026) 1. **Framework Hardening:** - [ ] **CRUD v2 Refactor:** Implement the refactor plan for `Element_ae_crud_v2.svelte` (V3 API alignment, Svelte 5 Runes, Mobile accessibility). - [x] **Project Plan:** Created formal strategy in `documentation/PROJECT_AE_OBJECT_FIELD_EDITOR_V3_UPGRADE.md`. - [ ] **Type Mismatch Resolution:** Resolve remaining simple type mismatches flagged by `svelte-check` (currently ~230). - [ ] **Bite-Sized Refactoring:** Split large components (>800 lines) into modular sub-components. 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 9, 2026) - **IDAA Module Validation:** - [x] **Archives:** Fully validated as working well; verified media loading, playback, and linked file management. - [x] **Bulletin Board (BB):** Reached 95% readiness for beta testing; optimized data loading and verified core post/comment workflows. - **Exhibitor Leads Module (V3):** - [x] **Standardization:** Completed naming alignment across library and routes (e.g., `load_ae_obj_id__event_exhibit`). - [x] **Rich Text Integration:** Implemented TipTap support for booth descriptions and exhibitor notes. - [x] **Readiness:** Module verified at 80-90% completion and ready for demonstration. - **Refactoring Tooling:** - [x] **Strategic Planning:** Added DX task to evaluate and implement robust CLI symbol renaming tools to reduce refactoring toil. ## Recent Accomplishments (Feb 8, 2026) - **Exhibitor Leads Module (V3 Completion):** - [x] **Authentication:** Implemented dual-mode Sign-In (Shared Passcode / Licensee) with persistent state and Admin pre-fill. - [x] **Portal Management:** Built comprehensive Manage tab with Admin Tools, Licensee management (license_li_json), and dynamic Question editor. - [x] **Lead List Filtering:** Implemented reactive licensee filtering (My Leads vs All Leads) with 'Hard Guard' post-filtering for robust data narrowing. - [x] **Sync Telemetry:** Added real-time refresh countdown and 'Last Sync' timestamp indicators. - [x] **Lead Detail Editor:** Built dynamic form for editing custom responses/qualifiers based on booth-specific question definitions. - [x] **Duplicate Prevention:** Implemented 'Already Captured' detection in both Manual Search and QR Scanner with direct 'View' links. - **Zero-Error State:** Successfully reached a zero-error baseline in `npm run check` after resolving all typing and ReferenceErrors in core modules. - **Performance:** Optimized IDAA Bulletin Board by disabling redundant comment fetches in list views. - **Terminology:** Standardized on 'Licensed User' (licensee) terminology across all Leads components. ## 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. ---