Commit Graph

1481 Commits

Author SHA1 Message Date
Scott Idem
7c14b1e3a2 chore: disable noisy markdown linting rules (MD007, MD033) in VS Code settings 2026-01-26 15:19:27 -05:00
Scott Idem
b072857d68 feat(native): harden launcher bridge and implement presentation-aware handover
- Upgraded LauncherBackgroundSync to force-hydrate OS metadata (home/tmp) on mount.
- Hardened electron_relay.ts with robust placeholder resolution and global regex.
- Restored safe handover by making native.launch_from_cache presentation-aware.
- Integrated heartbeat and sync status into the formal Launcher Config UI.
- Added comprehensive technical documentation for the 2026 native architecture.
2026-01-26 15:12:03 -05:00
Scott Idem
f0c4022675 fix(native): restore safe handover by making launch_from_cache presentation-aware
- Reverted handle_open_file to use native.launch_from_cache for atomic copy support.
- Upgraded Electron main process to handle specialized launcher logic (LibreOffice/AppleScript) internally after the copy operation.
- Ensures absolute paths and file existence before triggering OS apps.
2026-01-26 14:59:10 -05:00
Scott Idem
1a9630903d refactor(native): localize OS hydration to Launcher module
- Removed detailed OS path hydration from root +layout.ts to keep it lean.
- Moved home/tmp directory hydration to LauncherBackgroundSync onMount.
- Fixed regex pattern bug in electron_relay.ts (/\[home\]/g).
- Ensures absolute paths are correctly generated within the Launcher module.
2026-01-26 14:34:15 -05:00
Scott Idem
32866f7911 docs: finalize Phase 4 and update session context
- Officially marked Phase 4 (Heartbeat/Sync) as complete.
- Updated GEMINI.md development history and session context.
- Set Phase 5 (AppleScript/Office) as the next active workstream.
2026-01-26 13:28:34 -05:00
Scott Idem
71297af15c fix(api): implement auto-serialization for _json fields in V3 create/update
- Added logic to automatically JSON.stringify any field ending in '_json' in V3 API helpers.
- Added final payload logging to create_ae_obj_v3 for better debugging.
- Resolves 'str type expected' validation errors (HTTP 400) when sending objects to V3 CRUD endpoints.
2026-01-26 13:02:11 -05:00
Scott Idem
13bc903ad9 fix(launcher): resolve heartbeat timezone shift and enable browser testing
- Removed manual 'Z' suffix addition in device processing to fix incorrect offsets.
- Switched heartbeat payload to standard UTC ISO strings.
- Enabled background timers in non-native environments for easier verification.
- Hardened telemetry gathering to skip Electron-only APIs when running in a browser.
2026-01-26 12:57:59 -05:00
Scott Idem
af1dc18b57 Bug fix for Activity Log creation. Related to the date and auth. 2026-01-26 12:36:19 -05:00
Scott Idem
17a64ed320 fix(reports): add x-account-id header to Jitsi report query
- Explicitly added the 'x-account-id' header to resolve HTTP 403 error when fetching Jitsi activity logs.
- Ensures the server-side scope check passes for these report requests.
2026-01-26 12:23:26 -05:00
Scott Idem
72464d1a31 fix(reports): resolve TypeError in Jitsi reports and restore filtering
- Added Array.isArray check to prevent 'not iterable' error on API failure responses.
- Restored params_json to narrow the activity_log query and prevent potential timeouts.
- Cleaned up minor whitespace in sort logic.
2026-01-26 12:12:11 -05:00
Scott Idem
766225f5b9 fix(launcher): add missing ae_util import and format heartbeat datetime
- Resolved ReferenceError: ae_util is not defined.
- Formatted heartbeat to SQL-compatible datetime string.
2026-01-26 12:03:05 -05:00
Scott Idem
0e4802f7de Saving minor fix for IDAA and JItsi. Saving code clean up for the Launcher. Related to the device heartbeat loop. 2026-01-26 11:43:47 -05:00
Scott Idem
79917edffc feat(launcher): implement device heartbeat and background sync engine
- Hardened 'find_object_id' in Dexie to support 'event_' prefixed IDs.
- Implemented singleton 'LauncherBackgroundSync' in root launcher layout.
- Added V3-compliant heartbeat and room refresh cycles.
- Fixed redundant component imports and Skeleton UI prop errors.
- Added 'inc_file_li' support to event API loader.
2026-01-26 11:23:12 -05:00
Scott Idem
54a2cfa59f Enhance: Implement Phase 4 Device Heartbeat and Room Refresh
- Fully implemented run_device_heartbeat with OS/Network telemetry.
- Added refresh_location_config to keep room metadata synchronized.
- Finalized background loop initialization in onMount.
- Integrated telemetry gathered via the Electron get_device_info bridge.
2026-01-23 17:40:39 -05:00
Scott Idem
10f7c1b776 Fix: Finalize manual command interface and structured output handling
- Improved manual OS command input with better binding and extraction logic.
- Resolved '[object Object]' issue by correctly displaying stdout/stderr/error from structured return.
- Polished terminal output UI with better styling and clear functionality.
- Renamed section to 'Native OS Handlers & Folders' for better clarity.
2026-01-23 17:32:15 -05:00
Scott Idem
f9f6d7f4f0 Fix: Synchronize SvelteKit relay and enhance native command testing
- Updated electron_relay.ts with full Phase 3 command set (run_cmd_sync, kill_processes, get_device_info).
- Fixed 500 error in Event Location by standardizing enabled/hidden flags.
- Hardened native environment detection in root layout.
- Added Manual OS Command input to Launcher Configuration for Phase 3 testing.
2026-01-23 17:23:35 -05:00
Scott Idem
efdf1188a6 Fix: Persist native sync timers and implement monitor UI
- Implemented safe merge in root layout to preserve local timer overrides.
- Added Native Sync Monitor UI to background sync component.
- Exposed loop periods and hash prefix length in Launcher Config.
- Ensured manual adjustments survive page refreshes.
2026-01-23 16:56:02 -05:00
Scott Idem
ce11138f20 Fix: Fully implement recursive data fetching in Event Location
- Updated load functions to pass inc_session_li and inc_all_file_li.
- Enhanced _handle_nested_loads to recursively fetch sessions and files.
- Ensured consistency with Triple-ID pattern and V3 API standards.
2026-01-23 16:37:39 -05:00
Scott Idem
dc38c2c10c Enhance: Implement exhaustive background caching and recursive data loading
- Implemented aggressive room-wide background caching engine in LauncherBackgroundSync.svelte.
- Added inc_file_li and inc_all_file_li support to Event and Event Location object loaders for total room coverage.
- Switched to proven V1 download path (/hosted_file/) to resolve V3 CRUD binary delivery issues.
- Optimized Electron bridge with download locking and flat-hash storage matching legacy 'perfect' logic.
- Standardized all Electron IPC methods and parameters to snake_case.
- Added visual sync progress indicator for room caching status.
2026-01-23 16:30:03 -05:00
Scott Idem
683ea0394d Fix: Restore Native caching business logic and implement 3-mode launcher
- Implemented Default, Onsite, and Native launcher modes in launcher_file_cont.svelte.
- Restored background pre-caching logic with configurable timers in new LauncherBackgroundSync component.
- Fixed standard browser download regression for regular website mode.
- Modernized electron_relay to TypeScript and standardized bridge detection in layout.
- Detailed startup and background sync technical flow in documentation.
2026-01-23 15:17:50 -05:00
Scott Idem
20b41ebaef Enhance: Integrate Aether Native Bridge and update V3 deployment plan
- Updated +layout.ts to detect window.aetherNative and prioritize hydrated config.
- Mapped native operational paths (cache, recordings) to global location store.
- Refined NATIVE_APP_V3_REWRITE_PLAN.md with Two-Step Bootstrap strategy.
- Updated TODO.md with project progress and next-gen launcher priorities.
2026-01-23 14:08:37 -05:00
Scott Idem
4d932fcd2c Enhance: Journal config options and UI result messaging
- Added Query Limit configuration for Journals and Entries in modal settings.
- Refactored +page.svelte to delegate empty-state handling to the entry list component.
- Improved "no results" messaging in ae_comp__journal_entry_obj_li.svelte.
2026-01-23 11:26:36 -05:00
Scott Idem
b026a00af5 Fix: Stabilize Journal Entries query logic and UI search behavior
- Consolidated LiveQuery logic into [journal_id]/+page.svelte and removed redundancy from layout.
- Added automatic load trigger on journal_id change to ensure data freshness.
- Hardened Enabled/Hidden filters to correctly include NULL/undefined values in default views.
- Refined search behavior to distinguish between "default view" (null) and "no results found" ([]).
- Updated modal_journals_config.svelte with standardized module-level settings.
- Robust ID handling in bulk retrieval to handle varying property names (id, random_id).
2026-01-23 11:08:59 -05:00
Scott Idem
6925229d56 Saving notes 2026-01-22 20:25:33 -05:00
Scott Idem
a8e9c39ac6 Fix: Resolve type errors and cleanup window.location.reload calls 2026-01-22 20:18:29 -05:00
Scott Idem
c81ce50a00 Fix: Hardened types in analytics, hosted file upload, and QR scanner components 2026-01-22 19:47:16 -05:00
Scott Idem
32002fe6bd Fix: Resolve implicit any and property access errors in core components 2026-01-22 19:44:10 -05:00
Scott Idem
94a387ca6d Fix: Resolve UI component type mismatches and QR scanner property errors 2026-01-22 19:36:44 -05:00
Scott Idem
d7dd9afaf3 Cleanup: Remove unused legacy files prefixed with not_used 2026-01-22 19:35:29 -05:00
Scott Idem
555ecb043d Fix: Resolve implicit any errors and missing properties in QR scanner and layout loads 2026-01-22 19:29:45 -05:00
Scott Idem
b432a33cee Cleanup: Remove unused element_input_v2.svelte 2026-01-22 19:23:39 -05:00
Scott Idem
4976f2d897 Fix: System-wide type hardening and V3 API alignment 2026-01-22 19:22:16 -05:00
Scott Idem
9de1d4b23e Docs: Mark IDAA Result Limit task as completed in TODO.md 2026-01-22 18:12:47 -05:00
Scott Idem
02132fc5e8 Fix: Ensure IDAA Recovery Meetings respect the user-defined limit
- Simplified limit logic in search__event and qry_ae_obj_li__event_v2 to use the passed value directly.
- Added .slice(0, limit) to filtered results in Event module to handle over-fetching correctly.
- Explicitly passed the qry__limit from idaa_loc to the meeting list components.
- Applied .limit() to the Dexie liveQuery in the meeting list wrapper.
- Updated the UI result count and loop to strictly adhere to the requested limit.
2026-01-22 18:10:42 -05:00
Scott Idem
0ab6d2b3e3 Hardening: Restore V3 Search legacy compatibility and fix Hosted File specialized delete logic
- Restored legacy query aliases (qry_ae_obj_li__event, qry__event_file, etc.) across Event modules to fix build errors.
- Fixed Hosted File deletion logic in core__hosted_files.ts to use specialized /hosted_file/{id} endpoint with fake_delete support.
- Standardized ID field usage (hosted_file_id vs hosted_file_id_random) in Archive Content and Event File upload components.
- Updated TODO.md to reflect completed search restoration tasks.
2026-01-22 17:30:20 -05:00
Scott Idem
f190beb691 Working on making the Journal Entry search work correctly. There were/are some difference between the front and backend. Mainly it was not expecting not_enabled. It was expecting disabled. That has been changed on the backend. There is still some weirdness with the "all" options for either the enable and or hide fields. 2026-01-21 20:29:40 -05:00
Scott Idem
6e6e8d80cc Fix: Restore Journal Entry text search compatibility
- Backend: Updated `qry__journal_entry` in `ae_journals__journal_entry.ts`.
- Logic: Switched `default_qry_str` operator to `like` (from `match`) for V3 API compatibility.
- Fix: Corrected filter field names from `enabled`/`hidden` to `enable`/`hide`.
- Resilience: Added robust unwrapping of V3 API response envelopes (handling `{ data: [] }` vs array) to prevent iteration errors.
2026-01-21 19:17:10 -05:00
Scott Idem
f5adc4ac72 Docs: Mark IDAA Recovery Meetings Search as restored in TODO.md 2026-01-21 18:47:03 -05:00
Scott Idem
6624773d43 Fix: Align IDAA Event Search with proven Session Search logic
- Backend: Updated `search__event` in `ae_events__event.ts` to populate `params['lk_qry']`.
- Logic: Used `like` operator with wildcards for `default_qry_str` in `search_query` to match `event_session` pattern.
- Context: This fixes the text search in IDAA Recovery Meetings by ensuring the backend receives the expected V3 search parameters.
2026-01-21 18:45:47 -05:00
Scott Idem
c782d2273a Fix: Restore IDAA Recovery Meetings search functionality
- Backend: Added V3-compliant `search__event` to `ae_events__event.ts` with support for `default_qry_str`.
- Backend: Removed accidental duplicate `qry_ae_obj_li__event_v2` implementation.
- API: Exported `search__event` from `ae_events_functions.ts`.
- Frontend: Updated `recovery_meetings/+page.svelte` to use the new `search__event` function.
2026-01-21 17:29:52 -05:00
Scott Idem
af35124a8b Fix: Finalize Event Session Search with default_qry_str support
- Explicitly added `default_qry_str` to the V3 search body for "like" searches.
- Updated `TODO.md` to reflect completion of the task.
2026-01-21 17:07:06 -05:00
Scott Idem
8fae3aa89a Fix(ServiceWorker): Mitigate persistent TypeError by disabling auto-registration
- Mitigation: Disabled `serviceWorker.register` in `svelte.config.js` to stop the loop of `TypeError` during script evaluation.
- Debug Tool: Preserved the `fix-sw` cache clearing utility by moving it to `src/routes/testing/fix-sw/+page.svelte` for future investigation.
- Service Worker: Simplified `src/service-worker.js` to a minimal "Hello World" state and removed the problematic `.ts` version.
- Cleanup: Minor formatting adjustment in `ae_events_functions.ts`.
- Docs: Updated `TODO.md` and `GEMINI.md` to reflect the mitigation and planned follow-up.
2026-01-21 16:49:33 -05:00
Scott Idem
09c7d2440a Fix: Harden V3 search logic and restore specialized business mapping
- API: Updated `search_ae_obj_v3` to correctly serialize complex URL parameters (JSON).
- Events: Restored "sacred" business logic for Event Badge and Session searches using `ft_qry` and `lk_qry`.
- PWA: Fixed manifest path in `app.html` to resolve 404 errors.
- Documentation: Updated `GEMINI.md` and `TODO.md` with recent search hardening accomplishments.
2026-01-21 15:27:53 -05:00
Scott Idem
95f2ab79be Fix: Restore specialized search logic for Event Sessions and Presenters 2026-01-21 14:05:17 -05:00
Scott Idem
d705058175 Refactor: Remove redundant db_save exports and complete V3 cleanup 2026-01-21 13:28:30 -05:00
Scott Idem
be69ef1afd Modernize(Files): Full V3 API Migration for Hosted and Event Files
- API Migration: Refactored core__hosted_files.ts and ae_events__event_file.ts to use AE API CRUD V3.
- Logic Hardening: Unified property processing via '_process_generic_props' and ensured 'id_random' string identifier consistency.
- Reliability: Hardened orphan cleanup logic in delete_ae_obj_id__hosted_file and aligned with V3 generic delete patterns.
2026-01-21 12:47:34 -05:00
Scott Idem
2f2a1a87dc Modernize(Events/Sponsorships): Full V3 API Migration and ID Hardening
- API Migration: Refactored Event (Device, Location, Session, Presentation, Presenter, File, Exhibit, BadgeTemplate) and Sponsorship modules to use AE API CRUD V3.
- ID Hardening: Ensured all nested collection loads and searches use 'id_random' string identifiers to resolve 404 errors.
- Logic Consolidation: Unified property processing via '_process_generic_props'.
- Cleanup: Removed redundant '/admin' routes.
- Stability: Maintained V2 isolation for IDAA search.
2026-01-21 12:44:13 -05:00
Scott Idem
cd06fb79e8 Saving the new documentation for the Launcher project plans. Finally moving this to a new version of Electron and pretty much starting from scratch. 2026-01-21 12:11:47 -05:00
Scott Idem
3221e5830e Fix(Core): Restore system lookups and enhance reference data view
- API: Correctly exported 'get_ae_obj_li_for_lu' and reverted to stable V2 endpoints (/v2/crud/lu/.../list) to resolve V3 500 errors.
- Auth: Injected 'x-no-account-id' bypass header for unauthenticated global lookup access.
- UI: Updated lookups page to support 'english_short_name' fallback for countries and added Country Subdivisions card.
- Debug: Added transient console logging for verification.
2026-01-20 19:13:14 -05:00
Scott Idem
f244526538 Fix(IDAA): Harden Recovery Meetings search and fix detail page crash
- Search Hardening: Implemented 'Inclusive OR' logic for physical/virtual filters and restored robust full-text search using 'default_qry_str' with wildcards.
- Crash Fix: Added null checks for 'contact_li_json' in meeting detail view to prevent TypeError.
- ID Stability: Enhanced 'core__idb_dexie.ts' to support 'id_random' mapping and fixed misleading save logging.
- Reliability: Both V2 and V3 search paths now consistently return processed objects with standardized IDs.
2026-01-20 18:26:08 -05:00