Changeset 0.37.16 (#228)

This commit is contained in:
2026-03-24 11:46:13 +00:00
parent d005e8a30f
commit e0687d2ea6
19 changed files with 2900 additions and 13 deletions

View File

@@ -1,5 +1,62 @@
# Changelog
## [0.37.16.0] — 2026-03-24
### Summary
Projects Surface. Card-grid list + two-column detail view with inline ChatPane,
context menu (color/archive/delete), sidebar sections (description, instructions,
KBs, notes, files), star toggle, deep-linking, and search/sort. UserMenu in header
on both views. Backend was already complete (16 protected + 2 admin endpoints,
18 SDK methods); this changeset delivers the full Preact frontend.
### Added
- **Projects list view:** Card grid with search filter, activity/name sort,
"+ New project" via `sw.prompt` dialog, UserMenu in header left-of-title.
(`src/js/sw/surfaces/projects/list.js`, `src/css/sw-projects-surface.css`)
- **Projects detail view:** Two-column layout — left panel for conversations
(inline ChatPane, "+ New" channel creation, channel list with back nav),
right sidebar for description/instructions textareas with save, collapsible
Knowledge Bases/Notes/Files sections with "+" picker dropdowns.
(`src/js/sw/surfaces/projects/detail.js`)
- **Context menu:** "..." button opens dropdown with Rename, 8 color swatches,
Archive/Unarchive toggle, Delete with confirm dialog. All actions persist
via `PUT /api/v1/projects/:id`. (`detail.js`)
- **Star toggle:** Optimistic ☆↔★ toggle, persists in `settings.starred`.
(`detail.js`)
- **Deep-linking:** `/projects/:id` loads detail view directly via
`window.__PROJECT_ID__` template injection. Invalid IDs gracefully fall
back to list view. (`src/js/sw/surfaces/projects/index.js`,
`server/pages/loaders.go`, `server/pages/templates/surfaces/projects.html`)
- **Surface registration:** `/projects` route with `:id` param, nginx proxy,
docker-entrypoint FE route, conditional CSS/JS loading in `base.html`.
(`server/pages/pages.go`, `nginx.conf`, `docker-entrypoint-fe.sh`,
`server/pages/templates/base.html`)
### Fixed
- **Picker section expand:** `openPicker()` now auto-expands the collapsed
section when "+" is clicked, so the picker dropdown is visible without
manually toggling the chevron first. (`detail.js`)
### Changed
- **UserMenu in header (list view):** Moved from bottom footer to header row,
left of "Projects" title. Consistent with detail view placement. Removed
`.sw-projects__list-footer` CSS class. (`list.js`, `sw-projects-surface.css`)
### Known Limitations
- **File upload:** UI is wired (dropzone + click handler) but backend returns
"failed to save file metadata" — requires workspace storage layer. File
upload (archive upload/download) is required for MVP; deferred to v0.37.17
(Workspaces). Git integration is optional/post-MVP.
- **Conversation names:** Channel list shows raw UUID instead of friendly name
(channels created as type `direct` have no name field).
---
## [0.37.15.0] — 2026-03-23
### Summary