From 84a9d0fffccb17ba7af595b6923c58bec93f2ca4 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 2 Jun 2026 14:34:19 -0400 Subject: [PATCH] chore(core): remove retired site_domain helper and update docs --- .../PROJECT__Use_AE_API_V3_CRUD_upgrade.md | 4 +- documentation/TODO__Agents.md | 20 ++--- src/lib/ae_core/core__site_domain.ts | 75 ------------------- src/routes/core/README.md | 2 +- 4 files changed, 14 insertions(+), 87 deletions(-) delete mode 100644 src/lib/ae_core/core__site_domain.ts diff --git a/documentation/PROJECT__Use_AE_API_V3_CRUD_upgrade.md b/documentation/PROJECT__Use_AE_API_V3_CRUD_upgrade.md index b609d3b4..54e55e84 100644 --- a/documentation/PROJECT__Use_AE_API_V3_CRUD_upgrade.md +++ b/documentation/PROJECT__Use_AE_API_V3_CRUD_upgrade.md @@ -35,8 +35,8 @@ Legacy patterns persisting in core logic and config modules. - [ ] `src/lib/ae_sponsorships/ae_sponsorships_functions.ts` - [x] `src/lib/ae_core/core__hosted_files.ts` (Migrated 2026-01-20) -- [x] `src/lib/ae_core/core__site.ts` (Migrated 2026-01-26) -- [ ] `src/lib/ae_core/core__site_domain.ts` (STILL USES `get_ae_obj_id_crud` for bootstrap) +- [x] `src/lib/ae_core/core__site.ts` (Migrated 2026-01-26; bootstrap path uses V3 `search_ae_obj` by `fqdn`) +- [x] `src/lib/ae_core/core__site_domain.ts` (Retired 2026-06-02; helper removed after bootstrap migration to `core__site.ts`) - [ ] `src/lib/ae_core/ae_core_functions.ts` (STILL USES `get_ae_obj_id_crud` / `update_ae_obj_id_crud`) - [ ] `src/lib/ae_core/core__country_subdivisions.ts` - [ ] `src/lib/ae_core/core__time_zones.ts` diff --git a/documentation/TODO__Agents.md b/documentation/TODO__Agents.md index 826d38fd..06ec0e94 100644 --- a/documentation/TODO__Agents.md +++ b/documentation/TODO__Agents.md @@ -13,12 +13,11 @@ Actions, edit mode only). Kills PowerPoint, Keynote, Adobe Acrobat Reader DC, VLC, soffice. List overridable via `event_device.other_json.launcher.kill_process_li`. Auto-cleanup on file open (deferred — manual button sufficient for CMSC). -- [ ] **[Launcher] Hidden/deleted files still visible in Presenter file list** — When an - `event_file` is hidden (`hide=1`) or soft-deleted, it continues to appear in the Launcher's - per-presenter file list. Needs investigation: likely the Launcher's IDB query or the - file-list component does not apply a `!hide` / `enable` filter. Check the file list query - in the Launcher file components and the `properties_to_save` whitelist in - `ae_events__event_file.ts` to confirm `hide` and `enable` are persisted to IDB. +- [x] **[Launcher] Hidden/deleted files still visible in Presenter file list** — Fixed by + API-to-Dexie stale-record pruning plus Launcher background refresh loops for file lists. + `ae_events__event_file.ts` now prunes stale records after refresh, and + `launcher_background_sync.svelte` refreshes/prunes selected session and presenter file lists. + (`fix(launcher): refresh file lists periodically to prune deleted/hidden files`, 2026-05) - [ ] **[Launcher/Electron] Wallpaper stops applying after several changes (post-CMSC)** — Append timestamp/random suffix to temp filename so macOS always sees a new path. - [ ] **[Launcher/Electron] Wallpaper drift after display hotplug (post-CMSC)** — @@ -38,9 +37,10 @@ Finalizing the 100% adoption of V3 Standard endpoints and retirement of legacy wrappers. - [x] **[Badges] Presenter Agreement Form** — migrated to `update_ae_obj` (2026-05-21) -- [ ] **[Core] Site Domain Bootstrap Refactor** — `load_ae_obj_by_fqdn__site_domain` in - `core__site_domain.ts` still uses legacy ID-lookup-by-FQDN. Refactor to use V3 - `api.search_ae_obj` with fqdn filter per integration guide. +- [x] **[Core] Site Domain Bootstrap Refactor** — Bootstrap path is already on V3 in + `ae_core__site.ts` via `lookup_site_domain()` using `api.search_ae_obj` with FQDN filter + (used by `src/routes/+layout.ts`). + Follow-up cleanup complete: retired legacy helper `core__site_domain.ts`. (2026-06-02) - [ ] **[Core] Legacy Utility Helpers** — Refactor `ae_core_functions.ts` to use V3 helpers. - [ ] **[Cleanup] Delete Legacy Wrappers** — Once all callsites are migrated, remove `src/lib/ae_api/api_get__crud_obj_id.ts` and the legacy exports from `api.ts`. @@ -86,6 +86,8 @@ Documented in `GUIDE__SvelteKit2_Svelte5_DexieJS.md` (IDB Sort section). ### [Journals] Journal Entry Config follow-ups - [ ] **[Journals] Entry passcode secondary auth** — implement `passcode_hash` comparison. - [ ] **[Journals] Summary AI shortcut** — add button to modal. + Note: AI tools are already available in entry edit view (`AE_Comp_Journal_Entry_AiTools`), + but no dedicated shortcut button exists yet inside `ae_comp__modal_journal_entry_config.svelte`. ### [Cleanup] Migrate remaining `lucide-svelte` imports to `@lucide/svelte` - [x] **[Cleanup] Migrate remaining `lucide-svelte` imports to `@lucide/svelte`** diff --git a/src/lib/ae_core/core__site_domain.ts b/src/lib/ae_core/core__site_domain.ts deleted file mode 100644 index 680df1cd..00000000 --- a/src/lib/ae_core/core__site_domain.ts +++ /dev/null @@ -1,75 +0,0 @@ -export interface Site_Domain { - id: string; - // id_random: string; - site_id: string; - site_id_random?: string; - - fqdn: string; - access_key?: null | string; - required_referrer?: null | string; - valid_for?: null | number; // In hours - - enable: null | boolean; - hide?: null | boolean; - priority?: null | boolean; - sort?: null | number; - group?: null | string; - notes?: null | string; - created_on: Date; - updated_on?: null | Date; -} - -import { api } from '$lib/api/api'; - -/** - * Fetches a site_domain object by its Fully Qualified Domain Name (FQDN). - * - * @param api_cfg - The API configuration object. - * @param fqdn - The FQDN of the site domain to fetch. - * @param timeout - The request timeout in milliseconds. - * @param log_lvl - The logging level. - * @returns The site domain object or null if not found. - */ -export async function load_ae_obj_by_fqdn__site_domain({ - api_cfg, - fqdn, - timeout = 7000, - log_lvl = 0 -}: { - api_cfg: any; - fqdn: string; - timeout?: number; - log_lvl?: number; -}): Promise { - if (log_lvl) { - console.log( - `*** load_ae_obj_by_fqdn__site_domain() *** api.base_url=${api_cfg.base_url}, fqdn=${fqdn}, timeout=${timeout}` - ); - } - - const params = {}; - - try { - const site_domain_obj = await api.get_ae_obj_id_crud({ - api_cfg: api_cfg, - no_account_id: true, // This seems to be a special case for this endpoint - obj_type: 'site_domain', - obj_id: fqdn, // NOTE: This is the FQDN, not the ID. - use_alt_table: true, - use_alt_base: true, - params: params, - timeout: timeout, - log_lvl: log_lvl - }); - - if (site_domain_obj) { - return site_domain_obj; - } else { - console.log('No results returned.'); - return null; - } - } catch (error) { - console.log('No results returned or failed.', error); - return null; - } -} diff --git a/src/routes/core/README.md b/src/routes/core/README.md index 13fb3f29..009a3049 100644 --- a/src/routes/core/README.md +++ b/src/routes/core/README.md @@ -28,7 +28,7 @@ The Aether system is built on a foundation of several core modules. The UI compo ### Sites & Site Domains - **Description:** Manages different sites or instances of the application and their associated domain names. This allows for multi-tenant configurations. -- **Logic:** `src/lib/ae_core/core__site.ts` and `core__site_domain.ts` +- **Logic:** `src/lib/ae_core/core__site.ts` ### Users