Changeset 0.37.11 (#223)

Co-authored-by: gobha <jasafpro@gmail.com>
Co-committed-by: gobha <jasafpro@gmail.com>
This commit is contained in:
2026-03-22 00:57:49 +00:00
committed by xcaliber
parent 8d8a118232
commit c687002015
18 changed files with 1142 additions and 87 deletions

View File

@@ -1,5 +1,72 @@
# Changelog
## [0.37.11] — 2026-03-22
### Summary
Notes surface built as full Preact surface, replacing the v0.37.9 template
mount. Sidebar with folder tree, tag cloud, search, and UserMenu. NotesPane
runs `standalone=false` — the surface sidebar owns filter controls. Cross-surface
fixes: Menu primitive CSS was never loaded (now added to base.html), Avatar
initials fixed for single-word names.
### New
- `src/js/sw/surfaces/notes/index.js` — NotesSurface root, self-mounts at `#notes-mount`
- `src/js/sw/surfaces/notes/use-workspace.js` — sidebar toggle + active note (sessionStorage)
- `src/js/sw/surfaces/notes/use-sidebar.js` — folders, tags, search, WS live updates
- `src/js/sw/surfaces/notes/sidebar.js` — search input, folder/tag sections, UserMenu footer
- `src/js/sw/surfaces/notes/sidebar-folders.js` — collapsible folder tree with counts
- `src/js/sw/surfaces/notes/sidebar-tags.js` — collapsible tag cloud with active state
- `src/js/sw/surfaces/notes/notes-workspace.js` — workspace header + NotesPane
- `src/css/sw-notes-surface.css` — surface layout (sidebar + workspace + mobile responsive)
### Changed
- `src/js/sw/components/notes-pane/index.js` — handleRef expanded with `setFolder`,
`setTagFilter`, `setSearchQuery`, `getFolder`, `getTagFilter`; threads `standalone`
prop to NoteList
- `src/js/sw/components/notes-pane/note-list.js``standalone=false` hides search row,
folder dropdown, tag cloud (surface sidebar owns these)
- `src/js/sw/primitives/avatar.js` — single-word names show first letter only
("admin" → "A" not "AD"); multi-word unchanged ("John Doe" → "JD")
- `server/pages/templates/surfaces/notes.html` — full rewrite: crash catcher +
`#notes-mount` + Preact boot (mirrors chat.html pattern)
- `server/pages/templates/base.html` — added `sw-primitives.css` link (Menu primitive
was unstyled on all surfaces); added `css-notes` conditional
- `src/css/surfaces.css` — deleted `.surface-notes*` rules (9 lines, replaced by
`sw-notes-surface.css`)
### Design Notes
- **Sidebar ↔ NotesPane coordination:** write-only via handleRef. Sidebar sets
folder/tag/search on the kit; kit reloads its own list. No bidirectional sync
needed because `standalone=false` hides the kit's own filter controls.
- **Menu primitive bug:** `sw-primitives.css` was never loaded in `base.html`.
The Menu component (`sw-menu__item`) had no hover, no cursor, no background.
Chat surface masked this by using its own `.sw-chat-surface__context-menu`
styles. Fixed globally — all surfaces now get proper Menu styles.
- **Kit enhancements deferred:** markdown toolbar, wikilink hover preview,
breadcrumbs, split view, templates, slash commands, graph minimap all moved
to v0.37.14 pane audit.
### Cumulative Layer Status
| Layer | Version | Status |
|-------|---------|--------|
| Preact+htm vendor | v0.37.2 | ✅ |
| Layer 0: Primitives | v0.37.11 | ✅ (Menu CSS fix, Avatar fix) |
| Layer 1: SDK | v0.37.10 | ✅ (8 modules) |
| Layer 1.5: ChatPane | v0.37.10 | ✅ (13 files) |
| Layer 1.5: NotesPane | v0.37.11 | ✅ (10 files, standalone prop) |
| Layer 2: Shell | v0.37.4 | ✅ (5 components) |
| Surface: Login | v0.37.5 | ✅ |
| Surface: Settings | v0.37.7 | ✅ |
| Surface: Admin | v0.37.6 | ✅ |
| Surface: Team Admin | v0.37.7 | ✅ |
| Surface: Chat | v0.37.10 | ✅ |
| Surface: Notes | v0.37.11 | ✅ |
## [0.37.10] — 2026-03-21
### Summary