Files
OSIT-AE-App-Svelte/TODO.md
Scott Idem fe4380f819 Standardize Exhibit Leads module: Rich text support and naming alignment
- Integrated TipTap rich text editor for Booth Descriptions and Exhibitor Notes.
- Implemented strip_html utility for clean search/preview of rich text fields.
- Renamed exhibit loading functions to follow load_ae_obj_id__event_exhibit* pattern.
- Hardened property processors with 'undefined' string guards and automatic reload triggers.
- Resolved type mismatches and naming inconsistencies across the Leads module.
- Verified zero-error state via svelte-check.
2026-02-09 15:30:00 -05:00

11 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:
    • CRUD v2 Review: Perform a comprehensive review/enhancement of 'Element_ae_crud_v2.svelte' (Mobile accessibility, 'Select' mode, workflow optimization).
    • 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)

  • Exhibitor Leads Module (V3 Completion):
    • Authentication: Implemented dual-mode Sign-In (Shared Passcode / Licensee) with persistent state and Admin pre-fill.
    • Portal Management: Built comprehensive Manage tab with Admin Tools, Licensee management (license_li_json), and dynamic Question editor.
    • Lead List Filtering: Implemented reactive licensee filtering (My Leads vs All Leads) with 'Hard Guard' post-filtering for robust data narrowing.
    • Sync Telemetry: Added real-time refresh countdown and 'Last Sync' timestamp indicators.
    • Lead Detail Editor: Built dynamic form for editing custom responses/qualifiers based on booth-specific question definitions.
    • 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)

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