Commit Graph

86 Commits

Author SHA1 Message Date
Scott Idem
60771c5ba1 fix(journals): robust date sorting in journal and entry processors 2026-02-12 15:23:22 -05:00
Scott Idem
2f3125c64b style(journals): apply expanded 80-width formatting and snake_case
- Batch formatted all Journals module files using Prettier with printWidth: 80.
- Refactored preventDefault to prevent_default across all Svelte components.
- Standardized line breaks for imports and long attribute lists for better readability.
- Ensured consistent snake_case naming for internal identifiers.
2026-02-06 14:15:43 -05:00
Scott Idem
22e05ec095 fix(standardization): apply safe sort padding across all remaining modules
- Hardened 'JournalEntry' and 'Sponsorship' object processors to handle null sort values.
- Disabled aggressive pre-loading of archive content in main archives list to improve performance.
2026-02-05 12:33:35 -05:00
Scott Idem
46c30590ed Standardize DB interfaces with dependency tracking comments and clean up legacy location.reload() arguments 2026-02-04 18:05:34 -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
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
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
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
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
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
ecb6ba5250 refactor: improve type safety, Svelte 5 reactivity, and API resilience 2026-01-16 17:29:33 -05:00
Scott Idem
c7d63da8a1 fix: Consolidate type and parameter fixes across multiple modules
- API: Standardized 'order_by_li' types in event and archive modules.
- API: Corrected 'enabled'/'hidden' parameter types in event exhibit and device search/list functions.
- Type Safety: Addressed generic type casting issues in _process_generic_props across event modules.
- Data Handling: Resolved return type consistency in journal creation and DB save operations.
- Parameter Management: Fixed missing 'try_cache' parameters in event exhibit functions.
- Core Logic: Ensured correct object properties in DB put operations for hosted files.
2026-01-15 19:56:37 -05:00
Scott Idem
ee1ca93894 fix: resolve TypeErrors in core, events, and journals modules
- Core: Use FormData in video clip components to fix EventTarget errors.
- DB: Rename 'File' to 'ae_LocalFile' in db_core to prevent DOM type shadowing.
- API: Strictly type 'order_by_li' across archives, events, and journals to match API definition.
- API: Fix 'enabled'/'hidden' parameter types in search functions.
- Generics: Add 'any' cast to 'processed_obj' in generic processors to fix indexing errors.
- Journals: Update journal_entry creation to return null on failure, fix missing ID fields in DB save.
2026-01-15 19:27:53 -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
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
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
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
Scott Idem
5056d5d8f0 Standardize Core UI forms and unify schemas for V3 API compatibility
- Implement new Svelte 5 Person, Address, and Contact form components with surgical payload logic.
- Refactor core routes (People, Addresses, Contacts) to support unified Create/Edit workflows.
- Update ae_types.ts, db_core.ts, and db_journals.ts to align with V3 backend object models.
- Fix type safety issues in Journal history views and refine metadata display.
- Migrate person core functions to the newer ae_core__person module.
2026-01-09 15:14:36 -05:00
Scott Idem
dd0390a5dd Refine Journals UI and harden entry toggle logic
- Implemented 3-state (View/Eye/Save) toggle in journal entry header with Lucide icons.
- Hardened change detection logic using Svelte 5 .by for reliable UI updates.
- Improved header responsiveness and scaling across device sizes.
- Commented out experimental CodeMirror toolbar to maintain stability while keeping the helper code for reference.
2026-01-08 15:38:28 -05:00
Scott Idem
01ced00f78 Refactor Journals UI and enhance CodeMirror editor
- Added formatting toolbar to journal entry editor with support for bold, italic, headers, and lists.
- Standardized iconography to Lucide across Journals module, removing legacy FontAwesome.
- Improved responsiveness and dark mode compatibility in layout and list views.
- Refactored CodeMirror component to support external control via editorView binding.
- Hardened security by removing unnecessary @html tags in journal names.
2026-01-08 14:39:26 -05:00
Scott Idem
9d6b0ef568 Migrate Journal module to unified type system
- Added detailed fields for ae_EventPerson, ae_EventRegistration, ae_AccountCfg, and others to ae_types.ts.
- Replaced local interfaces in ae_journals__journal.ts with unified imports.
- Standardized Promise return types for all core data loading, creation, search, and update functions in Journal module.
- Finalized migration for primary Identity and Journal objects.
2026-01-08 14:19:22 -05:00
Scott Idem
d9848234a4 Implement unified frontend type system and migrate core modules
- Created src/lib/types/ae_types.ts to serve as the central repository for Aether object interfaces.
- Standardized interfaces to include the triple-ID pattern (id, [type]_id, [type]_id_random) for Dexie and V3 API compatibility.
- Migrated Account and JournalEntry modules to use ae_Account and ae_JournalEntry types.
- Added explicit Promise return types to all core data loading, creation, and update functions in migrated modules.
2026-01-08 11:35:06 -05:00
Scott Idem
5bd7c4756c Complete editable fields whitelists for all remaining AE objects
- Created .editable_fields.ts files for Journals, Events, and Sponsorships modules
- Standardized the whitelist pattern across the entire codebase
- Updated TODO.md and GEMINI.md with recent accomplishments and learnings
2026-01-07 11:56:28 -05:00
Scott Idem
c6476cd767 Implement V3 PATCH/DELETE wrappers and migrate Journals module to full V3 CRUD.
- Added update_ae_obj_v3, update_nested_obj_v3, delete_ae_obj_v3, and delete_nested_ae_obj_v3.
- Refactored Journals and Journal Entries modules to utilize the new V3 API wrappers.
- Standardized data processing and IDB caching for all CRUD operations in Journals.
- Updated testing page with comprehensive V3 CUD test buttons.
2026-01-05 19:30:12 -05:00
Scott Idem
6eb601f56d Saving changes to the Journals and API CRUD V3 fixes. 2026-01-02 19:30:33 -05:00
Scott Idem
33d42ed85b Saving first versions to use the new CRUD V3 endpoints. 2026-01-02 18:27:12 -05:00
Scott Idem
0987cd6ad9 style: Apply Prettier formatting with 4-space indentation
Applied consistent code formatting across the project using Prettier, now configured to use 4-space indentation instead of tabs.
2025-11-18 18:40:50 -05:00
Scott Idem
7e1eaba3bc feat: Migrate ESLint to flat config and resolve initial linting errors
Migrated the ESLint configuration to the new flat config format ()
and addressed several initial linting errors.

Key changes include:
- Updated ESLint configuration to treat  as warnings instead of errors.
- Fixed  errors in  by declaring  and .
- Corrected  error in  by using  instead of an out-of-scope .
- Resolved  error in  by replacing the undefined  directive with the  component.
- Addressed  errors in  by replacing  with  and  with .
- Fixed  errors in  by importing necessary modules (, , ) and adding missing props (, , , , ).
2025-11-17 18:46:54 -05:00
Scott Idem
a3b37a5df4 refactor: Standardize data processing and update to Svelte 5 runes
This commit introduces a major refactoring of the data processing logic across multiple modules (events, archives, posts, sponsorships) to use a standardized pattern with . This improves consistency and maintainability.

Key changes:
- Replaced module-specific data processing with a generic helper.
- Removed deprecated  functions.
- Updated Svelte components to leverage the new Svelte 5 runes, simplifying state management.
- Fixed linting errors and updated test configurations.
- Added .
2025-11-17 16:38:54 -05:00
Scott Idem
e19b448238 Updates to fixed processed_obj. Fixed other things with find and replace and regular expressions. 2025-11-13 20:29:30 -05:00
Scott Idem
3104304fdb Updates to common enabled and hidden properties. 2025-11-13 20:16:22 -05:00
Scott Idem
88d36d512d Update to all catch functions. 2025-11-13 20:15:09 -05:00
Scott Idem
e9a8f7df00 This was a lot... things are mostly working again. The changing of id_random properties caused some problems. The hosted_file_hash_sha256 is not working? There are other issues as well... This will take some time. 2025-11-13 18:38:00 -05:00
Scott Idem
de7e02b9ef Refactor: Update import paths for api.ts after moving it to src/lib/api/api.ts. 2025-11-13 16:16:18 -05:00
Scott Idem
db8c0e0d05 Quick snapshot again as Gemini is working. 2025-11-13 12:44:28 -05:00
Scott Idem
dfaa27384b Saving a quick snapshot after Gemini changes to Dexie function and processing functions. 2025-11-13 12:12:58 -05:00
Scott Idem
8c2241e610 Work on badge rendering. 2025-10-10 17:40:35 -04:00
Scott Idem
fd3105b4e1 General clean up. Make things configurable. More AI stuff. 2025-09-12 16:20:50 -04:00
Scott Idem
01273c3c4d Package updates and minor fixes 2025-09-11 19:01:59 -04:00
Scott Idem
b78cb8eac2 Now with basic AI summary for Journal Entries 2025-09-11 18:41:16 -04:00
Scott Idem
cc6186467a Bug fixes and clean up for the recent history of Journal Entries. 2025-09-10 17:31:04 -04:00
Scott Idem
9869c695f7 General clean up. Show menu instead of link to all journals list. For now it just includes the most recent Entries loaded. 2025-09-03 18:27:24 -04:00
Scott Idem
edfe9dee7a Finally work on the Journals to fix some bugs. Now with much better append and prepend to Journal Entry. 2025-08-19 18:50:23 -04:00
Scott Idem
0a4940161d Initial work on finally creating and implementing more generic and standardized CRUD functions for my Aether objects. It should work very well for Delete, Create, and Update. Load and Load List will need more work. 2025-08-01 17:30:30 -04:00
Scott Idem
429403ced6 Work on some layout and placement issues with the Journal cfg edit, sys menu, and debug menu. Wrapping up for the week. Long vacation weekend finally! 2025-07-02 17:38:34 -04:00
Scott Idem
40061b92ca I have the new BB Posts working well for IDAA now. NOTE: I intentionally split the API calls that are triggered on layout and page loads. 2025-07-02 17:09:52 -04:00