fix: clean up launcher tmp/bindable items; update TODO
- Update stale comment in menu_location_list.svelte: prop is already $bindable(null), comment incorrectly said it was not - Confirm cleanup_tmp_files is wired in launcher_background_sync.svelte - Mark both items done in TODO__Agents.md
This commit is contained in:
@@ -20,7 +20,7 @@ Related: `src/lib/stores/store_versions.ts` is the new home for version constant
|
||||
|
||||
- [x] **Font size cycler (Launcher sidebar):** Font size cycler and light/dark toggle added to new `menu_launcher_controls.svelte` component; wired into `launcher_menu.svelte`. Visibility toggles (All Files / All Sessions) moved to same component and restyled to `preset-tonal-tertiary`. (2026-03-11)
|
||||
|
||||
- **Minor Svelte warning:** `slct_event_location_id` prop in `menu_location_list.svelte` is not `$bindable()` but `bind:value={slct_event_location_id}` is used. Functionally fine since `onchange` writes directly to `$events_slct.event_location_id`.
|
||||
- [x] **Minor Svelte warning:** `slct_event_location_id` in `menu_location_list.svelte` — prop already has `$bindable(null)`; stale comment in file updated. (2026-03-11)
|
||||
|
||||
### [Svelte] State reference warnings
|
||||
- **42 `state_referenced_locally` warnings remain** in `recovery_meetings/ae_idaa_comp__event_obj_id_edit.svelte` and `..._v2.svelte`. Same pattern as the 10 fixed on 2026-03-09 — move reactive reads into `onMount`.
|
||||
@@ -42,7 +42,7 @@ lead record look like in the DB?
|
||||
|
||||
|
||||
### [General]
|
||||
- **Temp Cleanup:** Auto-removal of native `.tmp` files older than 24h.
|
||||
- [x] **Temp Cleanup:** `cleanup_tmp_files` wired in `launcher_background_sync.svelte`; called at launcher startup. Confirmed working. (2026-03-11)
|
||||
- **`window.print()` for badge print button:** Wire the existing `handle_print_badge()` to trigger `window.print()`. Browser print works well across Chrome/Chromium/Firefox — no Electron needed.
|
||||
- **Input Field Audit:** Several input fields are missing `name`/`id` attributes or `data-testid`. Known examples: badge override fields in `ae_comp__badge_obj_view.svelte`; template name input in `ae_comp__badge_template_form.svelte`. Matters for: accessibility, autofill, label associations, and test targeting. (For tests, use `getByLabel()` rather than `input[value*=...]` which only checks the HTML attribute, not the Svelte-bound DOM property.)
|
||||
|
||||
@@ -67,6 +67,8 @@ Two related UX gaps to handle together:
|
||||
- Swap the ad-hoc patterns to use it consistently
|
||||
|
||||
## ✅ Completed (2026-03)
|
||||
- [x] **[Build]** Rollup/Vite circular dependency warnings eliminated — `manualChunks` in `vite.config.ts` colocates all `svelte/*` internals into a single `svelte-vendor` chunk, preventing `runtime.js` / `index-client.js` split (~35 warnings gone). (2026-03-11)
|
||||
- [x] **[Refactor]** `try_cache` audit + sponsorship/event_file/hosted_file SWR alignment — removed vestigial `try_cache` params from `generate_qr_code`, `ae_core_functions` wrappers; added SWR fast/slow path to sponsorship loaders; changed `event_file` and `hosted_file` single-object loader defaults from `false` → `true` for consistency. (2026-03-11)
|
||||
- [x] **[DevOps]** Frontend + Backend unified into single `aether_container_env` Docker Compose. `ae_app` service live with healthcheck, single exposed port (`AE_APP_NODE_PORT`), internal `ae_api` networking. Deploy scripts in `package.json` both target `../aether_container_env/docker-compose.yml`. (2026-03-10)
|
||||
- [x] **[DevOps]** `/health` endpoint live at `src/routes/health/+server.ts`. Docker `HEALTHCHECK` uses it. (2026-03-10)
|
||||
- [x] **[UI]** Dark mode `color-scheme` fix — `html.dark/light { color-scheme }` in `app.css`; all native browser controls now sync to app dark mode. (2026-03-10)
|
||||
|
||||
@@ -20,11 +20,9 @@
|
||||
* → navigates to /launcher/{location_id} via goto()
|
||||
*
|
||||
* NOTE — slct_event_location_id binding:
|
||||
* This prop is NOT declared $bindable() but is used with bind:value on the <select>.
|
||||
* This is intentional: the onchange handler writes directly to the canonical stores
|
||||
* ($events_slct.event_location_id) rather than propagating through a prop binding.
|
||||
* The bind:value keeps the select's visual state in sync with the store value passed
|
||||
* in from the parent without requiring a two-way prop binding.
|
||||
* Declared $bindable() so the parent can pass the initial selected value via bind:.
|
||||
* The onchange handler also writes directly to the canonical stores
|
||||
* ($events_slct.event_location_id) to keep other parts of the launcher in sync.
|
||||
*/
|
||||
interface Props {
|
||||
loading__session_li_status?: null | boolean | string;
|
||||
|
||||
Reference in New Issue
Block a user