feat(dogfood-wave1): Studio retries, Chat error, LLM gateway, kill snapshot, topbar cleanup #14

Merged
shad merged 1 commits from feat/dogfood-fixes-wave1 into main 2026-06-15 14:30:04 +00:00
Owner

Addresses every bug the user named in dogfood:

  • Studio 502 — nginx retry + client retry
  • Chat blank — loud error + Try again button
  • Assistant list_processes — drop allowlist, show every published process
  • LLM "off by default" — direct /api/v1/llm/generate, no sidecar
  • Snapshot mode — removed entirely
  • Top-bar overpopulated — collapsed into user menu with avatar
  • Post-login lands on Mission, not landing splash

30/30 vitest pass. tsc -b + vite build green.

Addresses every bug the user named in dogfood: - Studio 502 — nginx retry + client retry - Chat blank — loud error + Try again button - Assistant list_processes — drop allowlist, show every published process - LLM "off by default" — direct /api/v1/llm/generate, no sidecar - Snapshot mode — removed entirely - Top-bar overpopulated — collapsed into user menu with avatar - Post-login lands on Mission, not landing splash 30/30 vitest pass. `tsc -b` + `vite build` green.
shad added 1 commit 2026-06-15 14:29:54 +00:00
feat(dogfood-wave1): fix Studio retries, Chat error, LLM gateway, kill snapshot, topbar cleanup
build-and-publish / test (pull_request) Has been cancelled
build-and-publish / image (pull_request) Has been cancelled
dd6175d038
User dogfood found many bugs. This wave addresses:

- nginx.conf: proxy_next_upstream + retries on 502/503/504, explicit
  proxy_ssl_name, 8s connect timeout. The DNS-resolver race that
  caused the Studio 'apply_patch 502' is now eaten by nginx retry.

- src/lib/wizardApi.ts: applyBatch retries 3x on 502/503/504 with
  exponential backoff. Even if nginx misses the retry the client
  takes a second shot.

- src/lib/chatApi.ts: listThreads now THROWS when ensureInbox fails
  instead of silently returning []. Chat scene shows the error +
  retry button instead of an empty 'No conversations' state that
  hides the real failure.

- src/scenes/Chat.tsx: explicit error banner with 'Try again' button.

- src/lib/llmClient.ts: rewritten to call /api/v1/llm/generate
  (real demo gateway, same as dev.flow-master.ai uses). Removed the
  local /internal/canvas-llm/chat sidecar entirely.

- src/scenes/Agent.tsx: removed the LLM-state probe + 'off by
  default' OFF pill. LLM is now part of the assistant unconditionally.

- src/lib/flowCuration.ts: dropped the STARTABLE_FLOW_KEYS allowlist
  gate in curatedPublishedFlows so list_processes now returns every
  published business process, not just pr_to_po_def.

- src/state/store.ts + tests: DataMode is now 'live' only. Removed
  the SNAPSHOT branch; live is the only mode. Renamed the failure
  toast accordingly. Initial scene is 'mission' not 'landing'.

- src/scenes/Login.tsx + test: post-login navigates to 'mission'
  instead of the empty landing splash.

- src/scenes/Settings.tsx + src/components/CommandBar.tsx: removed
  every snapshot/setMode reference. Settings shows 'EA2 · live
  always'. Command palette no longer offers a snapshot switch.

- src/App.tsx: topbar redesign. Removed Settings + Home tabs
  (now in user menu), removed standalone Light/Dark + Console
  buttons (collapsed into user menu), removed the SNAPSHOT/LIVE
  mode pill + topbar refresh. New UserMenu component shows a 2-char
  avatar circle; clicking opens a dropdown with Home / Settings /
  Refresh data / theme toggle / API console toggle. Topbar now has:
  brand · tabs · cmd-k · notification bell · avatar.

- src/index.css: user-menu styles + chat-err styles + dark variants.

30/30 vitest pass. tsc + vite build green.
shad merged commit d5a9c81b9c into main 2026-06-15 14:30:04 +00:00
shad deleted branch feat/dogfood-fixes-wave1 2026-06-15 14:30:04 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shad/canvas-frontend#14