Commit Graph
21 Commits
Author SHA1 Message Date
marcopan 4fe51cbeb1 feat(auth): add generic OIDC login with mandatory groups 2026-08-17 05:44:10 +02:00
marcopan 202822f3ba feat(auth): add remembered local login to the frontend 2026-08-17 04:52:39 +02:00
marcopan fd3b62ce6f refactor: stop persisting workspace state in the browser 2026-08-14 17:43:10 +02:00
marcopan 1790d2449f refactor: make browser workspace writes bootstrap-only 2026-08-11 15:36:09 +02:00
marcopan 90684c3280 refactor: remove legacy workspace UI state 2026-08-10 22:56:00 +02:00
marcopan d77c08884b test: use canonical workspace API fixtures 2026-08-09 20:44:35 +02:00
marcopan 1b1213317b fix: fail safe on missing workspace revisions 2026-08-08 20:03:41 +02:00
marcopan c3a5621737 feat: edit qdrant workspace collections 2026-08-08 19:56:29 +02:00
marcopan 7df21b5f21 fix: harden Pi management readiness 2026-08-05 06:20:25 +02:00
marcopan b686ffe271 fix: gate direct session creation by workspace policy 2026-08-04 06:13:22 +02:00
marcopan 7a780d8904 fix: block creation when workspace summaries fail 2026-08-04 06:05:22 +02:00
marcopan 41c558e06c fix: gate creation until workspace summaries load 2026-08-04 06:01:25 +02:00
marcopan b3ff39fc26 fix: make workspace policy waits selection-safe 2026-08-04 05:55:49 +02:00
marcopan cddd906719 fix: wait for workspace policy before creation 2026-08-04 05:48:13 +02:00
marcopan 959c6871ee fix: validate workspace drafts and reconcile models 2026-08-04 05:38:43 +02:00
marcopan cee4cfa63d feat: store workspace preferences and drafts locally 2026-08-04 05:28:13 +02:00
marcopan 301db4bd85 feat: pin sessions to workspace revisions 2026-08-04 05:05:20 +02:00
marcopan 2ff63d371f feat: harden workflow gates and expose token usage 2026-07-21 12:14:26 +02:00
marcopanandClaude Opus 4.8 ccfa3a18bf feat(frontend): pulse the stop dot while the harness is working
Give live feedback that something is happening the moment a session starts
processing: the red stop dot in the composer beats with a soft heartbeat + halo
while the harness is actively working (running — not waiting at a gate or
finalized), and settles the instant the model hands control back to the reviewer
or the session ends. Ring/scale only (no layout properties animated); honors
prefers-reduced-motion.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 12:33:25 +02:00
User 3633a5ebd9 fix(frontend): refine activity layout and input state 2026-07-14 10:32:11 +02:00
marcopanandClaude Sonnet 4.6 544882f95b feat(frontend): sessions list/create + steering + resume + selectors
- NavSessions: left nav listing sessions via listSessions (TanStack Query),
  clicking resumes via resumeSession and sets active; active item highlighted
- NewSessionDialog: ShadCn dialog with question textarea, workspace native
  select (from listWorkspaces), graceful model field (dropdown when models
  list is non-empty, free-text input when empty per §9 degradation),
  optional thinking/provider fields; try/catch surfaces errors inline
- SteerInput: text input + button POSTs to postSteer, clears on send,
  supports Enter key; only shown when a session is active
- WorkflowBar: renders 8 phases (F1..F8) with data-active highlighting
  driven by useSessionStore.currentPhase (new store field + setPhase action)
- AppShell: wires all four components; right artifact sidebar now collapsible
  via a toggle button (useState sidebarOpen); replaces old "Nuova domanda"
  button with NewSessionDialog trigger
- f1-loop.test: updated to drive through the new dialog flow (open → fill
  question → submit → wait for SSE → respond)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 13:06:01 +02:00