Changeset 0.37.5 (#217)

Co-authored-by: gobha <jasafpro@gmail.com>
Co-committed-by: gobha <jasafpro@gmail.com>
This commit is contained in:
2026-03-21 13:41:25 +00:00
committed by xcaliber
parent 05b5affdac
commit 74f3cb84e9
27 changed files with 2211 additions and 667 deletions

View File

@@ -565,40 +565,71 @@ Preact+htm component library and application frame.
- [x] `dev.html` — interactive primitives gallery + shell controls
- [x] ES module loading with `window.preact/hooks/html` globals
### v0.37.3 — Layer 1: SDK
### v0.37.3 — Layer 1: SDK
Namespaced REST client, auth module, RBAC gate, event bus, pipe/filter
pipeline, theme control.
Depends on: v0.37.2.
- [ ] `sw.api.{domain}.*` — namespaced methods for all 18 ICD domains
- [ ] `sw.auth.*` — login, logout, refresh, session lifecycle
- [ ] `sw.can(perm)` — synchronous RBAC gate from cached permission set
- [ ] `sw.on/off/emit` — event bus with wildcard patterns
- [ ] `sw.pipe.*` — carry forward pre-send/stream/render pipeline
- [ ] `sw.theme.*` — theme control with FOUC prevention
- [x] `sw.api.{domain}.*` — 18 namespaced domain clients (auth,
channels, personas, knowledge, notes, projects, workspaces,
memory, models, providers, notifications, extensions, profile,
teams, workflows, tasks, surfaces, admin)
- [x] `sw.auth.*` — login, logout, refresh, session lifecycle,
permissions/teams/policies cache
- [x] `sw.can(perm)` — synchronous RBAC gate from cached permission set
- [x] `sw.on/off/emit` — event bus with wildcard patterns, WebSocket
connection with ticket-first auth
- [x] `sw.pipe.*` — carry forward pre-send/stream/render pipeline
- [x] `sw.theme.*` — theme control with FOUC prevention
### v0.37.4 — Layer 2: Shell
### v0.37.4 — Layer 2: Shell
Application frame with user menu, surface viewport, banners, toast/dialog
stacks. Temp auth bypass for visual validation.
Depends on: v0.37.3.
- [ ] Root `<App>` component tree
- [ ] `UserMenu` — avatar + flyout (Settings, Admin, Sign Out)
- [ ] `SurfaceViewport` — mount point for active surface
- [ ] `ToastContainer` + `DialogStack` — global overlay management
- [ ] Simplified `base.html` Go template (single `#app` mount)
- [x] Root `<App>` component tree (AppShell + SurfaceViewport +
ToastContainer + DialogStack)
- [x] `UserMenu` — avatar + flyout (Settings, Admin, Team Admin,
Debug, Sign Out) with RBAC gating
- [x] `SurfaceViewport` — mount point for active surface
- [x] `ToastContainer` + `DialogStack` — global overlay management
- [x] `sw.userMenu(container, opts)` — imperative mount helper for
non-Preact surfaces
### v0.37.5v0.37.13 — Surface Rebuilds
### v0.37.5 — Login + Settings Surfaces ✅
First surface rebuilds. Login page and Settings surface converted from
Go templates + imperative DOM JS to Preact component trees.
Depends on: v0.37.4.
- [x] Login surface — 5 components (Hero, LoginForm, RegisterForm,
SSOPanel, LoginSurface root)
- [x] Settings surface — framework with nav + section routing
- [x] 7 Preact sections: General, Appearance, Profile, Models,
Teams, Providers (stub), Personas (stub)
- [x] Bridge pattern for deferred sections (Tasks, Git Keys,
Workflows, Data & Privacy)
- [x] `sw.toast()` SDK wiring, nav gating (BYOK + Personas)
- [x] `sw-login.css` extracted from inline styles
**Known issues (tracked in CHANGELOG, resolve before v0.37.# tag):**
- Bridge sections Workflows + Git Keys stuck on "Loading..." (old JS
depends on globals not loaded in new surface)
- `ui-settings.js` + `settings-handlers.js` not yet deleted (some
bridge sections may reference helpers)
- BYOK sections not tested with policy enabled
### v0.37.6v0.37.13 — Remaining Surface Rebuilds
Each surface rebuilt as Preact component tree. Old JS deleted per surface.
| Version | Surface | Notes |
|---------|---------|-------|
| v0.37.5 | Login + Settings | Self-contained, no real-time |
| v0.37.6 | Admin | Largest section count, no real-time |
| v0.37.7 | Team Admin | Inherits from Admin patterns |
| v0.37.8 | ChatPane | Reusable component, NOT a surface |