c694db5d8c
feat(web): migrate dashboard to WidgetGrid with layout persistence
...
Replace the hardcoded dashboard layout with the WidgetGrid system.
The dashboard now loads/saves user layouts via the UserLayout API
and creates a default layout on first visit with all 7 widgets.
Changes:
- Add layout API client (fetchDefaultLayout, createLayout, updateLayout)
- Add default layout constant with 7-widget arrangement (12-col grid)
- Update BaseWidget + WidgetGrid to use CSS variables for theme compat
- Add responsive container width measurement via ResizeObserver
- Rewrite dashboard page to use WidgetGrid with edit mode toggle
- Update all tests for the new dashboard architecture
Ref: #488
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 18:43:11 -06:00
f9cccd6965
feat(api): seed 7 widget definitions for dashboard system ( #496 )
...
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-24 00:28:02 +00:00
90c3bbccdf
feat(web): add theme selection UI in Settings > Appearance ( #495 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 14:18:16 +00:00
79286e98c6
feat(web): upgrade ThemeProvider for multi-theme registry ( #494 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 14:09:10 +00:00
cfd1def4a9
feat(web): add theme definition system with 5 built-in themes ( #493 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 13:59:01 +00:00
3d78b09064
docs: close out MS16+MS17 mission ( #486 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 13:27:22 +00:00
37cf813b88
fix(web): update calendar and knowledge tests for real API integration ( #483 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 05:04:55 +00:00
3d5b50af11
feat(web): add profile page with user info and preferences ( #482 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 04:50:44 +00:00
f30c2f790c
feat(web): add file manager page with list/grid views ( #481 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 04:39:19 +00:00
05b1a93ccb
feat(web): add logs and telemetry page with filtering and auto-refresh ( #480 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 04:38:15 +00:00
a78a8b88e1
feat(web): add project workspace page with tasks and agent sessions ( #479 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 04:29:39 +00:00
172ed1d40f
feat(web): add kanban board page with drag-and-drop ( #478 )
...
ci/woodpecker/push/web Pipeline failed
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 04:26:25 +00:00
ee2ddfc8b8
feat(web): add projects page with CRUD operations ( #477 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 04:13:26 +00:00
5a6d00a064
feat(web): wire knowledge pages to real API data ( #476 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 04:12:14 +00:00
ffda74ec12
test(web): update tasks page tests for real API integration ( #475 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 03:59:56 +00:00
f97be2e6a3
feat(web): wire calendar page to real API data ( #474 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 03:51:15 +00:00
97606713b5
feat(web): wire tasks page to real API data ( #473 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 03:51:08 +00:00
d0c720e6da
feat(web): add custom 404 pages for global and authenticated routes ( #472 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 03:43:55 +00:00
64e817cfb8
feat(web): add settings root index page with category cards ( #471 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 03:42:01 +00:00
8957904ea9
Phase 4: Deploy + Smoke Test ( #463 ) ( #464 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 02:09:43 +00:00
458cac7cdd
Phase 3: Agent Cycle Visibility ( #461 ) ( #462 )
...
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 01:07:29 +00:00
7581d26567
Phase 2: Task Ingestion Pipeline ( #459 ) ( #460 )
...
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 00:54:55 +00:00
07f5225a76
Phase 1: Dashboard Polish + Theming ( #457 ) ( #458 )
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-23 00:16:45 +00:00
b43e860c40
feat(web): Phase 3 — Dashboard Page ( #450 ) ( #453 )
...
ci/woodpecker/push/web Pipeline failed
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-22 21:18:50 +00:00
716f230f72
feat(ui,web): Phase 2 — Shared Components & Terminal Panel ( #449 ) ( #452 )
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-22 21:12:13 +00:00
a5ed260fbd
feat(web): MS15 Phase 1 — Design System & App Shell ( #451 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-22 20:57:06 +00:00
17144b1c42
style(ui): refine login card shape and divider spacing ( #439 )
...
ci/woodpecker/push/orchestrator Pipeline is running
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-22 06:19:23 +00:00
06e54328d5
fix(web): force dynamic rendering for runtime env injection ( #437 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-22 03:54:12 +00:00
7480deff10
fix(web): add Tailwind CSS setup for design system rendering ( #436 )
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-21 23:36:16 +00:00
1b66417be5
fix(web): restore login page design and add runtime config injection ( #435 )
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-21 23:16:02 +00:00
25ae14aba1
fix(web): resolve flaky CI test failures ( #433 )
...
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-21 21:12:00 +00:00
bc4c1f9c70
Merge develop into main
...
ci/woodpecker/push/infra Pipeline was successful
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/coordinator Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
Consolidate all feature and fix branches into main:
- feat: orchestrator observability + mosaic rails integration (#422 )
- fix: post-422 CI and compose env follow-up (#423 )
- fix: orchestrator startup provider-key requirements (#425 )
- fix: BetterAuth OAuth2 flow and compose wiring (#426 )
- fix: BetterAuth UUID ID generation (#427 )
- test: web vitest localStorage/file warnings (#428 )
- fix: auth frontend remediation + review hardening (#421 )
- Plus numerous Docker, deploy, and auth fixes from develop
Lockfile conflict resolved by regenerating from merged package.json.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-21 14:52:43 -06:00
c23ebca648
fix(ci): resolve pipeline #516 audit and test failures ( #429 )
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/web Pipeline failed
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-02-21 20:11:58 +00:00
8424a28faa
fix(auth): use set_config for transaction-scoped RLS context
ci/woodpecker/push/api Pipeline was successful
2026-02-18 23:23:15 -06:00
d2cec04cba
fix(auth): preserve raw BetterAuth cookie token for session lookup
ci/woodpecker/push/api Pipeline was successful
2026-02-18 23:06:37 -06:00
0c2a6b14cf
fix(auth): verify BetterAuth sessions via cookie headers
2026-02-18 22:39:54 -06:00
af299abdaf
debug(auth): log session cookie source
ci/woodpecker/push/infra Pipeline was successful
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
2026-02-18 21:36:01 -06:00
fa9f173f8e
chore(web): use prod-only deps in runtime image
ci/woodpecker/push/web Pipeline was successful
2026-02-18 21:13:12 -06:00
7935d86015
chore(web): avoid pnpm in runtime image to reduce CVE noise
ci/woodpecker/push/web Pipeline was successful
2026-02-18 20:24:22 -06:00
8328f9509b
Merge pull request 'test(web): silence localStorage-file warnings in vitest' ( #428 ) from fix/web-test-warnings-2 into develop
...
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/web Pipeline failed
ci/woodpecker/push/api Pipeline was successful
Reviewed-on: #428
2026-02-19 01:45:06 +00:00
1a668627a3
test(web): silence localStorage-file warnings in vitest setup
ci/woodpecker/push/web Pipeline failed
2026-02-18 19:38:23 -06:00
f219dd71a0
fix(auth): use UUID id generation for BetterAuth DB models
ci/woodpecker/push/api Pipeline failed
2026-02-18 18:49:16 -06:00
dedc1af080
fix(auth): restore BetterAuth OIDC flow across api/web/compose
ci/woodpecker/push/infra Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful
2026-02-17 23:37:49 -06:00
Jason Woltje
6fd8e85266
fix(orchestrator): make provider-aware Claude key startup requirements
ci/woodpecker/push/infra Pipeline was successful
ci/woodpecker/push/orchestrator Pipeline was successful
2026-02-17 17:15:42 -06:00
Jason Woltje
63c6a129bd
fix(runtime): stabilize LinkAutocomplete nav test and wire required compose env
ci/woodpecker/push/web Pipeline was successful
2026-02-17 16:42:34 -06:00
Jason Woltje
9d9a01f5f7
feat(web): add orchestrator readiness badge and resilient events parsing
ci/woodpecker/push/web Pipeline was successful
2026-02-17 16:20:03 -06:00
Jason Woltje
5bce7dbb05
feat(web): show latest orchestrator event in task progress widget
ci/woodpecker/push/web Pipeline failed
2026-02-17 16:12:40 -06:00
Jason Woltje
ab902250f8
feat(web-hud): seed default layout with orchestration widgets
ci/woodpecker/push/web Pipeline was successful
2026-02-17 16:07:09 -06:00
Jason Woltje
d34f097a5c
feat(web): add orchestrator events widget with matrix signal visibility
ci/woodpecker/push/web Pipeline was successful
2026-02-17 15:56:12 -06:00
Jason Woltje
f4ad7eba37
fix(web-hud): support hyphenated widget IDs with regression tests
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/web Pipeline failed
2026-02-17 15:49:09 -06:00