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

10 KiB

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):

    • Fixed prop synchronization warnings in 65+ components using untrack and $derived.
    • Resolved strict TypeScript errors in all core routing pages (Accounts, Sites, etc.).
    • Refactored Event Settings JSON editors to use safe string-buffer pattern.
    • 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:

    • Journals Module: Standardized all buttons to type="button" or type="submit". (Completed 2026-02-03)
    • Events Module: Cleaned up 50+ components, ensuring unique attributes and correct typing. (Completed 2026-02-03)
    • IDAA Module: Standardized button behavior across Recovery Meetings, Archives, and Bulletin Board. (Completed 2026-02-03)
    • V3 Action API Migration: Updated all file downloads/deletes to use authenticated /v3/action/ endpoints. (Completed 2026-02-03)
  3. Search Module Hardening (V3 Standardization):

    • IDAA Recovery Meetings: Standardized reactive pattern and SWR. (Completed 2026-01-27)
    • Journals Entry Search: Implemented Search Guard and debounced effects. (Completed 2026-01-27)
    • Badge Search: Fixed default_qry_str mapping and stabilized reactivity. (Completed 2026-01-27)
    • Session Search: Modernized logic, fixed layout bugs and icon exports. (Completed 2026-01-27)
    • 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):
      • 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:

    • 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:
    • Search Guard Pattern: Deployed project-wide to eliminate infinite loops.
    • Shared Observables: Refactored lists to accept liveQuery props for flicker-free SWR transitions.
  3. String-Only ID Standardization:
    • Audit and resort ID prioritization logic across all .ts and .svelte files. (Phase 1 Completed 2026-01-30)
    • 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)

  • V3 API Parameter Hardening: Updated search_ae_obj_v3 for URL serialization.
  • 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)

  • Platform-Wide Button Standardization: Surgical cleanup of 81 files to ensure type="button" is used for all non-submitting buttons, preventing unintended form resets.
  • V3 Action API Migration: Successfully migrated all file downloads and deletes to the authenticated /v3/action/ endpoints, hardening file security.
  • Compiler Error Resolution: Fixed 40+ critical errors including duplicate attributes in multi-line tags and missing untrack imports in Svelte 5 effects.
  • Hosted Files Modernization: Standardized all download, link, and upload components across the platform.

Recent Accomplishments (Feb 8, 2026)

  • Zero-Error Compiler State: Successfully cleared all 68 'svelte-check' errors across the entire application.
  • Event Settings Hardening: Refactored complex JSON configuration editors to use a temporary string-buffer pattern, preventing data corruption and resolving multiple TypeScript assignment errors.
  • Prop Reactivity Pass: Standardized prop synchronization logic in core components (Sign-In, File Upload, Layout) to adhere to Svelte 5 Runes best practices.
  • 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)

  • Exhibitor Leads V3 Core Foundations: Modularized ae_events__exhibit and ae_events__exhibit_tracking with V3 SWR standards and trace-ready performance logging.
  • 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.
  • Leads Dashboard Orchestration: Implemented mobile-first dashboard with persistent sticky tabs for Add Lead, Lead List, and Manage.
  • Lead Detail Profile: Implemented nested routing and a comprehensive read-only Lead Profile view featuring custom responses and exhibitor notes.
  • Booth Self-Service: Implemented the Manage/Config tab using Element_ae_crud_v2 for live-revalidating booth profile updates.
  • Search Protocol Hardening: Identified and resolved logical field mismatches in V3 POST search by correctly injecting parent context parameters.

Recent Accomplishments (Feb 5, 2026)

  • BB Creation Stabilized: Resolved 'post_id' IntegrityErrors by correctly mapping 'post_id_random' in payloads.
  • Null-Pointer Hardening: Applied optional chaining and stable local reactive state to prevent UI crashes in BB.
  • Infinite Loop Resolution: Optimized post view effects with untrack() to stop request loops.
  • Dexie Schema Sync: Synchronized local database schema with project naming conventions ('comment' table).

Recent Accomplishments (Feb 4, 2026)

  • 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.
  • 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.
  • 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.
  • IDAA Bulletin Board Audit: Verified that staff and poster email notifications are correctly triggered during post/comment creation.
  • Snake_Case Cleanup: Standardized common helper identifiers (e.g., prevent_default) to match project naming conventions.