Serious notes about security updates.

This commit is contained in:
Scott Idem
2026-02-13 19:21:51 -05:00
parent f62bd9fb79
commit b03888d37f
3 changed files with 34 additions and 24 deletions

View File

@@ -1,6 +1,6 @@
# Project Plan: Aether AE Obj Field Editor v3 (Consolidated)
> **Status:** Active / Planning Refinement
> **Status:** 🔵 Active / Testing & Stabilization
> **Date:** February 13, 2026
> **Target Component:** `src/lib/elements/element_ae_obj_field_editor_v3.svelte`
> **Replaces:** `element_ae_crud.svelte` and `element_ae_crud_v2.svelte`
@@ -18,28 +18,33 @@ Consolidate the legacy CRUD components into a single, high-performance "Aether O
## 3. Implementation Phases
### Phase 1: Foundation & Reactivity
- [ ] Create the new `v3` component shell.
- [ ] Implement strict TypeScript interface for Props.
- [ ] Use `$state` for local "draft" values to prevent reactivity loops with the global store.
- [ ] Implement the `handle_patch` logic using the central `api.patch` helper.
### Phase 1: Foundation & Reactivity (COMPLETED)
- [x] Create the new `v3` component shell.
- [x] Implement strict TypeScript interface for Props.
- [x] Use `$state` for local "draft" values to prevent reactivity loops with the global store.
- [x] Implement the `handle_patch` logic using the central `api.patch` helper.
### Phase 2: UI & UX Refinement
- [ ] Standardize Tailwind classes (using Tailwind 4 patterns).
- [ ] Implement "Edit Mode" awareness (syncing with `$ae_loc.edit_mode`).
- [ ] Add a "Save" loading state with Lucide's `LoaderCircle` spinner.
- [ ] Implement a clear "Cancel" path that restores the original value.
### Phase 2: UI & UX Refinement (COMPLETED)
- [x] Standardize Tailwind classes (using Tailwind 4 patterns).
- [x] Implement "Edit Mode" awareness (syncing with `$ae_loc.edit_mode`).
- [x] Add a "Save" loading state with Lucide's `LoaderCircle` spinner.
- [x] Implement a clear "Cancel" path that restores the original value.
### Phase 3: Field Type Parity
- [ ] Support `text`, `textarea`, `select`, `tiptap`, and `checkbox`.
### Phase 3: Field Type Parity (IN PROGRESS)
- [x] Support `text`, `textarea`, `select`, `tiptap`, and `checkbox`.
- [ ] Add `datetime` support using native browser pickers.
- [ ] Implement searchable dropdowns for the `select` type.
### Phase 4: Migration & Cleanup
- [ ] Create a playground route for V3 verification.
- [x] Create a playground route for V3 verification (`/testing/ae_obj_field_editor_v3`).
- [ ] Deprecate and eventually remove `v1` and `v2` files.
- [ ] Update `GUIDE__DEVELOPMENT.md` with the new usage patterns.
## ⚠️ Security & Reliability Stabilization (NEW)
- [x] **Account Context:** Fixed 403 errors by unifying API helpers to the `/v3/crud/` standard.
- [x] **Race Conditions:** Implemented `localStorage` scavenging for Account IDs to fix Svelte 5 hydration lags.
- [x] **Protocol Hygiene:** Purged redundant/misplaced headers (`x-aether-api-token`, `Access-Control-Allow-Origin`).
## 4. Maintenance & Standards
- Component must respect `$ae_loc.trusted_access` for visibility of edit triggers.
- Always use `type="button"` for internal actions to prevent form collisions.