Commit Graph

227 Commits

Author SHA1 Message Date
Scott Idem
db34da66dc Standardize Event DB/Types and fix critical UI type mismatches across Badges, Journals, and Locations modules 2026-02-04 17:57:42 -05:00
Scott Idem
bc30724628 feat(events): reorganize badge admin tools and enhance dependency tracking
- Migrated 'Add New Badge' and 'Upload Badge List' to centralized Event Settings hub.
- Secured Admin Tools visibility with Administrator access and Edit Mode requirements.
- Restored and modernized Badge Template management route with Svelte 5 runes.
- Patched 'Archive' and 'Session' database interfaces to resolve compiler errors.
- Added project-wide dependency comments to key interfaces (Archive, Badge, Session) to prevent cascading change regressions.
- Fixed duplicate import errors in the Settings page.
2026-02-04 14:04:44 -05:00
Scott Idem
e8f92b818a fix(journals): resolve delete_method type mismatch and test safe workflow 2026-02-03 22:28:30 -05:00
Scott Idem
77a5ab840a fix(journals): final cleanup of duplicate button attributes and refined types 2026-02-03 22:19:38 -05:00
Scott Idem
281972cb5d fix(journals): add type='button' to prevent form submission and migrate to V3 Action API for file downloads 2026-02-03 22:14:22 -05:00
Scott Idem
0809ad3eac feat(v3-auth): modernize hosted file access with simplified bypass pattern
- Roll out platform-wide standard for unauthenticated binary access using '?key=[account_id]' query parameter.
- Update API helpers (get, post, patch) to recognize 'key' bypass and strip account context headers accordingly.
- Refactor IDAA Bulletin Board to restore inline image rendering and edit-mode previews.
- Modernize Events Launcher (Layout, Sync, Session View) to use V3 Action URLs with verified auth.
- Update HTML generators in 'ae_utils.ts' to support the new authenticated URL structure.
- Harden 'ae_comp__event_file_obj_tbl' CSV export and clipboard links with V3 standard patterns.
2026-02-03 18:37:55 -05:00
Scott Idem
1ae7b5642d General clean up the _random appends. About to work on a new Hosted File Download Svelte component. 2026-02-03 10:27:01 -05:00
Scott Idem
ce9e06eb31 refactor: migrate IDAA Archive, BB, and Recovery Meetings to AE_Comp_Editor_TipTap 2026-01-29 14:53:52 -05:00
Scott Idem
363d94a36b refactor: consolidate CodeMirror editors into unified AE_Comp_Editor_CodeMirror component 2026-01-29 14:16:35 -05:00
Scott Idem
9bf2373a82 Slowly updating things to Data Store v3. Also doing some safe code clean up. Mainly removing commented out code. 2026-01-29 12:21:47 -05:00
Scott Idem
23ecb21fe1 fix(journals): eliminate infinite search loop with criteria-based guard
- Implemented a 'Search Guard' pattern in '+page.svelte' that snapshots search criteria and bails out of redundant executions.
- Stabilized reactivity by removing immediate list clearing in Remote First mode, ensuring a consistent data stream.
- Isolated all search-driven state updates with 'untrack' to prevent circular dependency triggers.
- Hardened the 'lq__journal_entry_obj_li' observable to ensure stable result emission.
2026-01-27 16:50:18 -05:00
Scott Idem
4f8c482cf3 refactor(journals): stabilize reactive search and synchronize result counts
- Refactored 'src/routes/journals/[journal_id]/+page.svelte' to use a singleton 'liveQuery' observable, eliminating the search subscription loop.
- Synchronized entry counts in 'ae_comp__journal_obj_id_view.svelte' with the shared entries observable, ensuring accurate header feedback.
- Cleaned up 'ae_comp__journal_entry_obj_li.svelte' by removing redundant script blocks and hardening visibility filters.
- Restricted the result count badge to Edit Mode for a cleaner standard user interface.
- Improved initial load UX with localized spinners and proper undefined-state guards.
2026-01-27 16:17:46 -05:00
Scott Idem
6055fc3408 refactor(journals): standardize high-performance reactive search and stabilize results stream
- Implemented the loop-proof search pattern in 'src/routes/journals/[journal_id]/+page.svelte' using versioned triggers and untracked dependency isolation.
- Stabilized data loading by introducing 'ae_comp__journal_entry_obj_li_wrapper.svelte', ensuring smooth SWR transitions between local and API results.
- Synchronized result counts with the rendered list in 'ae_comp__journal_entry_obj_li.svelte' and implemented permissive visibility defaults.
- Added 'Remote First' toggle support (Edit Mode only) and laid groundwork for Global Search in 'ae_comp__journal_entry_obj_qry.svelte'.
- Updated Dexie schema and API helpers to support future person-level cross-journal searching.
2026-01-27 15:20:17 -05:00
Scott Idem
055d8e7816 refactor(search): standardize debounced reactive search across modules
- Standardized the search pattern using Svelte 5 debounced $effects in Recovery Meetings, Badge Search, and Journals to eliminate manual triggers and stuttering.
- Fixed a bug in 'ae_idaa_comp__event_obj_li.svelte' where the Results count was inconsistent with the displayed list by implementing a derived 'visible_event_obj_li' state.
- Hardened 'ae_idaa_comp__event_obj_li_wrapper.svelte' to filter out 'undefined' entries from database 'bulkGet' calls.
- Cleaned up legacy search handling code in 'ae_idaa_comp__event_obj_qry.svelte'.
- Updated 'TODO.md' and 'GEMINI.md' to reflect search logic hardening accomplishments.
2026-01-27 13:08:11 -05:00
Scott Idem
a704779d1b fix(ux): optimize event lists and fix editor line wrapping
- Implemented 'Details' toggle in Session lists to defer expensive presenter/file sub-component renders, improving initial hydration speed.
- Fixed line-wrapping for long lines in Journals Editor (both plain textarea and CodeMirror).
- Updated TODO.md and GEMINI.md to reflect Journals standardization and performance optimizations.
2026-01-26 20:25:56 -05:00
Scott Idem
ae86d0aede fix(journals): standardize component naming, props, and libraries
- Renamed all Journal components to follow the ae_comp__* snake_case convention.
- Normalized all custom event handler props from PascalCase (onSave) to snake_case (on_save) across the module.
- Migrated all icon imports from @lucide/svelte to lucide-svelte for consistency.
- Resolved ReferenceErrors and file corruption issues in Journals config and entry views.
- Updated qry__journal_entry logic to support category filtering.
- Verified module integrity and component interop.
2026-01-26 20:18:39 -05:00
Scott Idem
476ab7ede6 perf(hydration): resolve white page delay by removing blocking awaits from layouts
- Refactored Events root layout to fire load_ae_obj_id__event in the background.
- Refactored Journals list page to fire load_ae_obj_li__journal in the background.
- Combined with SWR module logic, this ensures near-instant UI rendering from Dexie cache while refreshes occur asynchronously.
2026-01-26 17:13:40 -05:00
Scott Idem
c7a517a6e1 perf(hydration): optimize page loads and silence background fetch noise
- Implemented SWR pattern for Journal and Site Domain lookups.
- Refactored +layout.ts across modules to fire background refreshes instead of blocking.
- Updated +layout.svelte to render the layout shell immediately while hydrating.
- Silenced 'AbortError' and 'NetworkError' in api_get_object.ts and api_post_object.ts for log_lvl 0.
- Resolved duplicate export errors in ae_journals__journal.ts.
2026-01-26 17:06:22 -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
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
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
09d1aa6720 Hardened Journals and IDAA module load functions for offline resilience and ghost account support. 2026-01-16 17:04:56 -05:00
Scott Idem
98cd35078d feat(journals): implement background auto-save for status and security fields
- Refactored handle_update_journal and handle_update_entry to support non-closing background persistence.
- Implemented strict payload whitelisting for journal and journal_entry updates to resolve HTTP 400 schema errors.
- Added onchange triggers to enable, hide, priority, and sort fields for real-time background syncing.
- Standardized 'Status & Security' tab labeling across configuration components.
2026-01-14 19:08:37 -05:00
Scott Idem
dbb45e10ae style(journals): standardize and stabilize 'Config' interfaces across all levels 2026-01-14 18:52:45 -05:00
Scott Idem
0108e28f59 More clean up. Saving notes. 2026-01-14 18:30:36 -05:00
Scott Idem
9caeb91394 Quickly saving good looking and mostly working config menus. 2026-01-14 18:27:46 -05:00
Scott Idem
cdf318e744 style(journals): stabilize and standardize all configuration interfaces
- Implemented 'untrack' safeguards in all modal effect blocks to prevent reactivity loops.
- Standardized Module, Journal, and Entry configuration with unified tabbed UI and Aether Orange theme.
- Fixed critical 'journal is undefined' and ReferenceErrors in configuration modals.
- Restored missing button toggles and visibility options in journal-level settings.
- Documented Dexie liveQuery '$' prefix mandate in GEMINI.md and project documentation.
- Eliminated legacy JournalEntry_SettingsMenu in favor of ModalJournalEntryConfig.
2026-01-14 17:50:48 -05:00
Scott Idem
8ae23cdcd9 style(journals): standardize configuration interfaces across module
- Refactored Module, Journal, and Entry configs to use consistent tabbed layouts.
- Adopted unified 'Aether Orange' aesthetic with Skeleton UI and Lucide icons.
- Replaced overcrowded inline settings menu with 'ModalJournalEntryConfig'.
- Cleaned up Header component logic and improved visual consistency.
2026-01-14 17:17:56 -05:00
Scott Idem
04e4350fbf feat(journals): implement force reset for lost passcodes and harden sync
- Added 'Force Reset to Plain Text' button in the editor for decryption failure states.
- Guarded reset functionality with '.edit_mode'.
- Refactored background sync logic to properly isolate 'untrack' calls and prevent content resets.
2026-01-14 17:06:00 -05:00
Scott Idem
cd0702b8cc fix(journals): resolve AI tools ReferenceError and finalize modularization
- Corrected template usage to 'JournalEntry_AITools'.
- Finalized Chunk 3: Modularized AI tools wrapper.
2026-01-14 16:52:00 -05:00
Scott Idem
bb3e4f4095 fix(journals): resolve browser hang during privacy toggle
- Refactored effects to use selective tracking and 'untrack' for all store reads.
- Implemented manual 'deep_copy' to handle Svelte 5 reactive proxies safely.
- Added concurrency locks ('is_processing') to decryption and save workflows.
- Stabilized state synchronization to prevent circular reactivity loops.
2026-01-14 16:48:50 -05:00
Scott Idem
11e022d21e Lots of updates to the notes. Style/layout fix for main Journals page. 2026-01-14 16:48:00 -05:00
Scott Idem
c907a95c57 fix(journals): eliminate reactivity loops and browser hangs during privacy toggle
- Refactored all effects to use 'untrack' for rigorous dependency isolation.
- Implemented 'deep_copy' helper to safely handle Svelte 5 reactive proxies.
- Added concurrency locks to 'update_journal_entry' and decryption workflows.
- Completed integration of 'JournalEntry_Metadata' component.
2026-01-14 16:35:25 -05:00
Scott Idem
b9fc4addfc fix(journals): resolve browser hang and integrate Metadata component
- Implemented manual 'deep_copy' to handle reactive proxies safely.
- Added concurrency locks ('is_processing') to prevent PATCH loops.
- Standardized metadata display by switching to 'JournalEntry_Metadata'.
2026-01-14 16:31:27 -05:00
Scott Idem
58a41e093b fix(journals): resolve reactivity loop and hang during privacy toggle
- Refactored effects to use 'untrack' for store isolation.
- Implemented content normalization in 'has_unsaved_changes' to avoid circular triggers.
- Ensured atomic state sync after successful PATCH updates.
- Added comprehensive flow diagnostics to track effect execution.
2026-01-14 16:20:44 -05:00
Scott Idem
574403244b fix(journals): harden privacy toggle and add effect diagnostics
- Ensured content is decrypted before allowing conversion to plain text.
- Added detailed diagnostic logging to reactive effects to debug loop issues.
- Integrated background sync skip logic to preserve decrypted state.
2026-01-14 16:10:30 -05:00
Scott Idem
693a2e42c4 fix(journals): resolve decryption UI update and background sync issues
- Cleared 'content_encrypted' from local state upon successful decryption to update UI.
- Modified background sync effect to preserve decrypted content during active sessions.
- Enhanced decryption logging for better diagnostics.
2026-01-14 16:04:15 -05:00
Scott Idem
05bf348e0f fix(journals): resolve decryption toggle issues and component errors
- Added diagnostic logging to decryption helper to track passcode source.
- Refactored 'handle_content_decryption' to prioritize unlocking content.
- Fixed 'updated_obj' reference error in main view.
2026-01-14 16:00:05 -05:00
Scott Idem
6562d4ba04 feat(journals): extract decryption logic to helper and improve Quick Add behavior
- Extracted journal entry decryption workflow to 'ae_journals_decryption.ts' to decouple it from Svelte reactivity and address loop issues.
- Updated 'ae_comp__journal_entry_obj_id_view.svelte' to use the new decryption helper.
- Refactored 'Quick Add' to use the first line as the title and remove it from the content before saving.
2026-01-14 15:52:02 -05:00
Scott Idem
8c9788bd41 feat(journals): modernize UI with responsive grid and fix Quick Add integration 2026-01-14 15:20:05 -05:00
Scott Idem
283053e4a4 feat(journals): stabilize V3 API integration and restore cryptographic toggles 2026-01-14 14:35:55 -05:00
Scott Idem
17870bc0a2 Bug fix for the auto save saving over and over and over. 2026-01-14 13:18:35 -05:00
Scott Idem
56fa003382 feat(journals): implement centralized export templates and bulk interop
- Added 'ae_journals_export_templates.ts' with Markdown, HTML, and JSON support
- Refactored 'ae_comp__modal_journal_export.svelte' to use the new template system
- Optimized bulk export with automated template selection based on Journal type
- Integrated 'Import Entries' action directly into the Journal menu
- Updated project documentation to reflect portability features and implementation status
2026-01-14 12:55:45 -05:00
Scott Idem
b80cbb7c2b A quick save while the new exports are fully working. The prepend and append also work now. 2026-01-14 12:29:47 -05:00
Scott Idem
0143f18ebb feat(journals): implement auto-save toggle and visual status
- Added 'auto_save' preference to journals store
- Added toggle and status indicators (Check/X/Loader) to JournalEntry_Header
- Implemented auto-save logic with debounce in Journal Entry view
2026-01-13 23:52:42 -05:00
Scott Idem
b1e9902285 feat(journals): expose export functionality in UI
- Added 'Export Entries' button to Journal Index and Journal Detail views
- Wired buttons to trigger the new export modal
2026-01-13 23:43:50 -05:00
Scott Idem
b3ac910832 fix(journals): resolve Svelte parser error in export modal
- Replaced  directive with string interpolation for Tailwind classes containing colons and slashes (e.g. ), which caused build failures.
2026-01-13 23:42:41 -05:00
Scott Idem
07bb31f412 feat(journals): add drag-and-drop zone to import modal 2026-01-13 23:30:30 -05:00
Scott Idem
d691fa8cb3 feat(journals): implement bulk Markdown import with multiple parsing strategies
- Added 'ae_journals_parsers.ts' with Standard, Personal Log, and Amazon Vine parsers (ported from Python)
- Created 'AeCompModalJournalImport' for file selection, preview, and API submission
- Integrated Import button into Journals list view
2026-01-13 23:22:46 -05:00