Fixed MarkDown formatting

This commit is contained in:
Scott Idem
2025-11-13 14:38:30 -05:00
parent 4d6c10cbad
commit 4b4c3c5552

146
TODO.md
View File

@@ -9,22 +9,22 @@ This is a list of tasks to be completed before the next event/show/conference.
### 1. Naming Conventions ### 1. Naming Conventions
- [ ] **Goal:** Enforce a single, consistent naming standard across the entire codebase. - [ ] **Goal:** Enforce a single, consistent naming standard across the entire codebase.
- [ ] **Files:** - [ ] **Files:**
- Logic: `ae_<module>__<concept>.ts` - Logic: `ae_<module>__<concept>.ts`
- DB Definitions: `db_<module>.ts` - DB Definitions: `db_<module>.ts`
- Svelte Stores: `ae_<module>_stores.ts` - Svelte Stores: `ae_<module>_stores.ts`
- Consolidate helper files (e.g., `ae_core_functions.ts`) into the above files. - Consolidate helper files (e.g., `ae_core_functions.ts`) into the above files.
- [ ] **Functions & Variables:** - [ ] **Functions & Variables:**
- Enforce `snake_case` for all function and variable names. - Enforce `snake_case` for all function and variable names.
- Deprecate and remove `camelCase`. - Deprecate and remove `camelCase`.
- Deprecate and refactor ambiguous `handle_` prefixes. - Deprecate and refactor ambiguous `handle_` prefixes.
- [ ] **Object & Property Naming:** - [ ] **Object & Property Naming:**
- Use singular nouns for objects and properties (e.g., `example.id`, not `examples.id`). - Use singular nouns for objects and properties (e.g., `example.id`, not `examples.id`).
- [ ] **List Suffixes:** - [ ] **List Suffixes:**
- Use `_li` for simple, unordered arrays. - Use `_li` for simple, unordered arrays.
- Use `_kv` for key-value objects/maps. - Use `_kv` for key-value objects/maps.
- [ ] **Process:** - [ ] **Process:**
- Refactor one module at a time to ensure internal consistency before moving to the next. Start with `ae_core`. - Refactor one module at a time to ensure internal consistency before moving to the next. Start with `ae_core`.
- **Update 2025-11-13:** `ae_core_functions.ts` has been temporarily restored to resolve a critical issue. The refactoring of `process_ae_obj__*_props()` functions will now proceed module by module, ensuring stability at each step. - **Update 2025-11-13:** `ae_core_functions.ts` has been temporarily restored to resolve a critical issue. The refactoring of `process_ae_obj__*_props()` functions will now proceed module by module, ensuring stability at each step.
### 2. Component Standardization ### 2. Component Standardization
- [ ] **CodeMirror Migration:** Plan and execute the replacement of the `shad-editor` and potentially other text editors (like Tiptap) with `CodeMirror` to standardize rich text editing. - [ ] **CodeMirror Migration:** Plan and execute the replacement of the `shad-editor` and potentially other text editors (like Tiptap) with `CodeMirror` to standardize rich text editing.
@@ -46,22 +46,22 @@ This is a list of tasks to be completed before the next event/show/conference.
These functions are frequently used and critical to the application's data flow. Reviewing and cleaning them up will significantly improve the codebase. These functions are frequently used and critical to the application's data flow. Reviewing and cleaning them up will significantly improve the codebase.
1. **`get_ae_obj_li_for_obj_id_crud_v2()`** (from `src/lib/ae_api/api_get__crud_obj_li_v2.ts`) 1. **`get_ae_obj_li_for_obj_id_crud_v2()`** (from `src/lib/ae_api/api_get__crud_obj_li_v2.ts`)
* **Why:** This is the main function for fetching lists of data from the backend, used extensively across all modules. - **Why:** This is the main function for fetching lists of data from the backend, used extensively across all modules.
* **Cleanup:** Review parameters and return types for consistency, improve error handling, and add more detailed logging for debugging. - **Cleanup:** Review parameters and return types for consistency, improve error handling, and add more detailed logging for debugging.
2. **`db_save_ae_obj_li__ae_obj()`** (from `src/lib/ae_core/core__idb_dexie.ts`) 2. **`db_save_ae_obj_li__ae_obj()`** (from `src/lib/ae_core/core__idb_dexie.ts`)
* **Why:** This function is the single point of entry for saving data to the local Dexie database, critical for performance and reliability. - **Why:** This function is the single point of entry for saving data to the local Dexie database, critical for performance and reliability.
* **Cleanup:** Optimize for bulk operations, add robust error handling and logging, and ensure correct handling of updates to existing objects. - **Cleanup:** Optimize for bulk operations, add robust error handling and logging, and ensure correct handling of updates to existing objects.
3. **The `process_ae_obj__*_props()` family of functions** (e.g., `process_ae_obj__journal_props()` from `src/lib/ae_journals/ae_journals__journal.ts`) 3. **The `process_ae_obj__*_props()` family of functions** (e.g., `process_ae_obj__journal_props()` from `src/lib/ae_journals/ae_journals__journal.ts`)
* **Why:** These functions transform API data for the frontend and are a common source of bugs and inconsistencies. - **Why:** These functions transform API data for the frontend and are a common source of bugs and inconsistencies.
* **Cleanup:** Standardize their structure across all modules, ensure they are pure functions, and add unit tests for correctness. - **Cleanup:** Standardize their structure across all modules, ensure they are pure functions, and add unit tests for correctness.
* **Update 2025-11-13 (Temporary Rollback):** The previous refactoring of these functions has been temporarily rolled back due to an `InternalError`. `ae_core_functions.ts` has been restored. The new plan is to refactor these functions module by module, ensuring stability at each step. The generic CRUD functions in `core__crud_generic.ts` were simplified to remove data processing and caching, delegating those responsibilities to the module-specific functions. The deprecated `process_ae_obj__props` function in that file was left in place but is no longer used by the generic CRUD functions. - **Update 2025-11-13 (Temporary Rollback):** The previous refactoring of these functions has been temporarily rolled back due to an `InternalError`. `ae_core_functions.ts` has been restored. The new plan is to refactor these functions module by module, ensuring stability at each step. The generic CRUD functions in `core__crud_generic.ts` were simplified to remove data processing and caching, delegating those responsibilities to the module-specific functions. The deprecated `process_ae_obj__props` function in that file was left in place but is no longer used by the generic CRUD functions.
4. **Usage of `liveQuery` from Dexie** 4. **Usage of `liveQuery` from Dexie**
* **Why:** `liveQuery` is powerful for reactive UIs, but current usage suggests complexity and potential issues. - **Why:** `liveQuery` is powerful for reactive UIs, but current usage suggests complexity and potential issues.
* **Cleanup:** Review `liveQuery` usage throughout the application, simplify queries, and investigate reactivity issues. Consider wrapping `liveQuery` in a custom Svelte store for a more predictable interface. - **Cleanup:** Review `liveQuery` usage throughout the application, simplify queries, and investigate reactivity issues. Consider wrapping `liveQuery` in a custom Svelte store for a more predictable interface.
--- ---
@@ -79,41 +79,41 @@ These functions are frequently used and critical to the application's data flow.
- [ ] **Data:** Define the `Account` interface in a new file `src/lib/ae_core/core__account.ts`. - [ ] **Data:** Define the `Account` interface in a new file `src/lib/ae_core/core__account.ts`.
- [ ] **API:** Implement functions in `core__account.ts` for CRUD operations on accounts. - [ ] **API:** Implement functions in `core__account.ts` for CRUD operations on accounts.
- [ ] **UI:** - [ ] **UI:**
- [ ] Create a `+page.svelte` to list all accounts. - [ ] Create a `+page.svelte` to list all accounts.
- [ ] Create a `[account_id]` dynamic route to view and edit account details. - [ ] Create a `[account_id]` dynamic route to view and edit account details.
### 3. Site & Domain Management ### 3. Site & Domain Management
- [ ] **Route:** Create a new route at `/core/sites`. - [ ] **Route:** Create a new route at `/core/sites`.
- [ ] **Data:** Define `Site` and `Site_Domain` interfaces in a new file `src/lib/ae_core/core__site.ts`. - [ ] **Data:** Define `Site` and `Site_Domain` interfaces in a new file `src/lib/ae_core/core__site.ts`.
- [ ] **API:** Implement functions in `core__site.ts` for CRUD operations on sites and domains. - [ ] **API:** Implement functions in `core__site.ts` for CRUD operations on sites and domains.
- [ ] **UI:** - [ ] **UI:**
- [ ] Create a `+page.svelte` to list all sites. - [ ] Create a `+page.svelte` to list all sites.
- [ ] Create a `[site_id]` dynamic route to view and edit site details and manage associated domains. - [ ] Create a `[site_id]` dynamic route to view and edit site details and manage associated domains.
### 4. Person Management ### 4. Person Management
- [ ] **Enhance:** Improve the existing person management components under `/core/person`. - [ ] **Enhance:** Improve the existing person management components under `/core/person`.
- [ ] **UI:** - [ ] **UI:**
- [ ] Create a dedicated page for creating new person records. - [ ] Create a dedicated page for creating new person records.
- [ ] Add search and filtering capabilities to the person list. - [ ] Add search and filtering capabilities to the person list.
### 5. User Management ### 5. User Management
- [ ] **Route:** Create a new route at `/core/users`. - [ ] **Route:** Create a new route at `/core/users`.
- [ ] **UI:** - [ ] **UI:**
- [ ] Create a `+page.svelte` to list all users. - [ ] Create a `+page.svelte` to list all users.
- [ ] Create a `[user_id]` dynamic route to view and edit user details, including permissions. - [ ] Create a `[user_id]` dynamic route to view and edit user details, including permissions.
- [ ] Implement a component to link users to person records. - [ ] Implement a component to link users to person records.
### 6. Hosted File Management ### 6. Hosted File Management
- [ ] **Route:** Create a new route at `/core/hosted_files`. - [ ] **Route:** Create a new route at `/core/hosted_files`.
- [ ] **UI:** - [ ] **UI:**
- [ ] Create a `+page.svelte` to list all hosted files with filters (e.g., by file type, uploader). - [ ] Create a `+page.svelte` to list all hosted files with filters (e.g., by file type, uploader).
- [ ] Implement a file viewer for common file types. - [ ] Implement a file viewer for common file types.
- [ ] Add functionality to upload new files and associate them with other objects (e.g., a person, a journal entry). - [ ] Add functionality to upload new files and associate them with other objects (e.g., a person, a journal entry).
### 7. Shared Lookup Lists ### 7. Shared Lookup Lists
- [ ] **Route:** Create a new route at `/core/lookups`. - [ ] **Route:** Create a new route at `/core/lookups`.
- [ ] **UI:** - [ ] **UI:**
- [ ] Create a simple UI to view and manage the shared lookup lists (e.g., `countries`, `time_zones`). - [ ] Create a simple UI to view and manage the shared lookup lists (e.g., `countries`, `time_zones`).
--- ---
@@ -130,9 +130,9 @@ These functions are frequently used and critical to the application's data flow.
- [ ] **Offline Support:** Improve offline capabilities by pre-fetching and caching more data. Review the current Dexie implementation for optimizations. - [ ] **Offline Support:** Improve offline capabilities by pre-fetching and caching more data. Review the current Dexie implementation for optimizations.
- [ ] **Search & Filtering:** Enhance the UI with more advanced search and filtering options for journals and entries (e.g., by date range, content, tags). - [ ] **Search & Filtering:** Enhance the UI with more advanced search and filtering options for journals and entries (e.g., by date range, content, tags).
- [ ] **User Experience (UX):** - [ ] **User Experience (UX):**
- Implement better loading indicators and skeleton loaders. - Implement better loading indicators and skeleton loaders.
- Provide clearer empty state messages (e.g., "No journals found, create one!"). - Provide clearer empty state messages (e.g., "No journals found, create one!").
- Improve error handling and provide more informative error messages to the user. - Improve error handling and provide more informative error messages to the user.
- [ ] **Encryption:** Review and enhance the encryption implementation for journal entries to ensure it is secure and user-friendly. - [ ] **Encryption:** Review and enhance the encryption implementation for journal entries to ensure it is secure and user-friendly.
- [ ] **Templates:** Fully implement and document the "templates" feature for creating new journals and entries. - [ ] **Templates:** Fully implement and document the "templates" feature for creating new journals and entries.
@@ -151,26 +151,26 @@ These functions are frequently used and critical to the application's data flow.
### Archives Module (`/idaa/archives`) ### Archives Module (`/idaa/archives`)
- [ ] **UI/UX:** - [ ] **UI/UX:**
- [ ] Add a loading indicator while archives are being fetched. - [ ] Add a loading indicator while archives are being fetched.
- [ ] Implement a more engaging "empty state" when no archives are available. - [ ] Implement a more engaging "empty state" when no archives are available.
- [ ] **Performance:** - [ ] **Performance:**
- [ ] Implement pagination or infinite scrolling for the archive list. - [ ] Implement pagination or infinite scrolling for the archive list.
### Bulletin Board Module (`/idaa/bb`) ### Bulletin Board Module (`/idaa/bb`)
- [ ] **UI/UX:** - [ ] **UI/UX:**
- [ ] Improve the UI for creating and editing posts and comments. - [ ] Improve the UI for creating and editing posts and comments.
- [ ] Add a rich text editor for a better writing experience. - [ ] Add a rich text editor for a better writing experience.
- [ ] **Features:** - [ ] **Features:**
- [ ] Implement user-specific features, such as editing their own posts and comments. - [ ] Implement user-specific features, such as editing their own posts and comments.
### Recovery Meetings Module (`/idaa/recovery_meetings`) ### Recovery Meetings Module (`/idaa/recovery_meetings`)
- [ ] **Refactoring:** - [ ] **Refactoring:**
- [ ] Simplify the search and filtering logic. The current implementation with `setInterval` is complex and could be replaced with a more modern approach using debouncing or reactive statements. - [ ] Simplify the search and filtering logic. The current implementation with `setInterval` is complex and could be replaced with a more modern approach using debouncing or reactive statements.
- [ ] **UI/UX:** - [ ] **UI/UX:**
- [ ] Make the search and filtering interface more intuitive and responsive. - [ ] Make the search and filtering interface more intuitive and responsive.
- [ ] Provide instant feedback to the user as they type in the search box. - [ ] Provide instant feedback to the user as they type in the search box.
- [ ] **Performance:** - [ ] **Performance:**
- [ ] Optimize the search query to be faster and more efficient. - [ ] Optimize the search query to be faster and more efficient.
--- ---
@@ -183,27 +183,27 @@ These functions are frequently used and critical to the application's data flow.
### Core Event Management ### Core Event Management
- [ ] **Event List (`/events`):** - [ ] **Event List (`/events`):**
- [ ] Add search and filtering capabilities to the main event list. - [ ] Add search and filtering capabilities to the main event list.
- [ ] Implement pagination for the event list. - [ ] Implement pagination for the event list.
- [ ] **Event Creation/Editing:** - [ ] **Event Creation/Editing:**
- [ ] Create a dedicated page or modal for creating and editing events. - [ ] Create a dedicated page or modal for creating and editing events.
### Sub-modules (`/events/[event_id]/...`) ### Sub-modules (`/events/[event_id]/...`)
- [ ] **Sessions, Presentations, Presenters, etc.:** - [ ] **Sessions, Presentations, Presenters, etc.:**
- [ ] For each sub-module (sessions, presentations, etc.), implement a consistent set of features: - [ ] For each sub-module (sessions, presentations, etc.), implement a consistent set of features:
- [ ] List view with search and filtering. - [ ] List view with search and filtering.
- [ ] Detail view. - [ ] Detail view.
- [ ] Create and edit forms. - [ ] Create and edit forms.
- [ ] Delete functionality with confirmation. - [ ] Delete functionality with confirmation.
- [ ] **File Management:** - [ ] **File Management:**
- [ ] Improve the file upload component (`ae_comp__event_files_upload.svelte`) with features like drag-and-drop and progress bars. - [ ] Improve the file upload component (`ae_comp__event_files_upload.svelte`) with features like drag-and-drop and progress bars.
- [ ] Enhance the file list view with more details and actions. - [ ] Enhance the file list view with more details and actions.
- [ ] **Launcher (`/events/[event_id]/launcher`): - [ ] **Launcher (`/events/[event_id]/launcher`):
- [ ] Add documentation to explain the purpose and usage of the launcher. - [ ] Add documentation to explain the purpose and usage of the launcher.
- [ ] Improve the UI to make it more intuitive for users. - [ ] Improve the UI to make it more intuitive for users.
- [ ] **Badges (`/events/[event_id]/badges`): - [ ] **Badges (`/events/[event_id]/badges`):
- [ ] Enhance the badge printing interface with more customization options. - [ ] Enhance the badge printing interface with more customization options.
- [ ] Add a preview of the badge before printing. - [ ] Add a preview of the badge before printing.
### Performance ### Performance
- [ ] **Live Queries:** Review the use of `liveQuery` throughout the module and optimize for performance, especially on pages with a large amount of data. - [ ] **Live Queries:** Review the use of `liveQuery` throughout the module and optimize for performance, especially on pages with a large amount of data.
@@ -214,11 +214,11 @@ These functions are frequently used and critical to the application's data flow.
## UI/UX Consistency ## UI/UX Consistency
- [ ] **Broad UI/UX Review:** Conduct a comprehensive review of UI elements across the application to ensure consistency. This includes, but is not limited to: - [ ] **Broad UI/UX Review:** Conduct a comprehensive review of UI elements across the application to ensure consistency. This includes, but is not limited to:
- Buttons (style, placement, wording) - Buttons (style, placement, wording)
- Lists (style, actions) - Lists (style, actions)
- Links vs. Buttons (correct semantic usage) - Links vs. Buttons (correct semantic usage)
- Menus (style, options) - Menus (style, options)
- Debug components and other developer-facing UI. - Debug components and other developer-facing UI.
- **Wording:** Standardize the text used in common UI elements (e.g., "Save", "Cancel", "Delete", "Add New"). - **Wording:** Standardize the text used in common UI elements (e.g., "Save", "Cancel", "Delete", "Add New").
- **Scope:** This should be done on a per-module basis to ensure local consistency, with a goal of achieving global consistency where possible. - **Scope:** This should be done on a per-module basis to ensure local consistency, with a goal of achieving global consistency where possible.
- **Note on IDAA:** The `idaa` modules are semi-custom for a client and may have their own specific UI/UX requirements. Their consistency should be evaluated separately, keeping the client's needs in mind. - **Note on IDAA:** The `idaa` modules are semi-custom for a client and may have their own specific UI/UX requirements. Their consistency should be evaluated separately, keeping the client's needs in mind.