Skip to content

feat(web): UI refinements + product mission merge - #3

Merged
jlmcmich merged 2 commits into
mainfrom
pr/ui-refinements
Apr 19, 2026
Merged

feat(web): UI refinements + product mission merge#3
jlmcmich merged 2 commits into
mainfrom
pr/ui-refinements

Conversation

@jlmcmich

Copy link
Copy Markdown
Owner

Summary

Top bar symmetry

  • ChatHeader's "Console" pill replaced with a chevron toggle
  • Sidebar trigger always visible: inside the sidebar chrome when open, in the chat/splash/settings header (with macOS traffic-light inset) when collapsed
  • Trigger icon switches between PanelLeft (open) and Menu hamburger (collapsed)
  • Workbench wordmark + logo bumped from size-4/text-sm to size-6/text-base
  • FolderKanban icon added to the rail header's Console pill
  • Removed the now-redundant collapse-rail chevron inside the rail header (Group A follow-up)

Right rail (console)

  • Drop the 40vh cap on the file tree
  • Trailing-slash entries (submodules / nested git repos) render as proper folder nodes with a regression test
  • TaskPane redesign: drop placeholder card, plan steps now use proper status icons, filter raw "Tool call" entries from the work log, rename section to "Recent activity"

Splash composer (NoActiveThreadState)

  • Collapse nested max-width wrappers into a single fluid clamp
  • Title fluid via clamp(); textarea + submit + min-height all scale at the sm: breakpoint
  • New pendingAutoSubmitStore so splash can request "auto-send on next mount"; ChatView consumes the flag once draft prompt loads, then setTimeout(0)s onSend
  • Splash sidebar trigger inset matches ChatView's pattern

Branding

  • Add AnimatedWorkbenchLogo (block-float + soft drop-shadow) to Icons.tsx
  • SplashScreen uses the animated variant at size-24

AGENTS.md

  • Replace inherited "Project Snapshot" intro with a Workbench Mission section: folder-first AI workbench, locked product vocabulary (Workbench / Console / Task / Workspace), six core product principles. Original task-completion + maintainability content preserved further down.

Test plan

  • typecheck (1 pre-existing Effect.runFork message in PiProvider)
  • lint (47 warnings / 0 errors)
  • tests (893 / 894 — 1 pre-existing failure in MessagesTimeline context compaction)
  • Manually smoke-tested in dev: chevron toggles, fluid splash, plan-first TaskPane, animated logo, fixed file tree scroll

Jonathan McMichael and others added 2 commits April 19, 2026 03:15
Top bar symmetry
- Replace ChatHeader's "Console" pill with a chevron toggle (PanelRight*).
- Sidebar trigger always visible: inside the sidebar chrome when the
  sidebar is open, in the chat/splash/settings header (with macOS
  traffic-light inset) when collapsed.
- Trigger icon switches between PanelLeft (open) and Menu hamburger
  (collapsed), matching the Cowork / Claude Code pattern.
- Workbench wordmark + logo bumped from size-4/text-sm to size-6/text-base.
- Add FolderKanban icon to the rail header's Console pill so the brand
  mark moves with the toggle.

Right rail (console)
- Drop the 40vh cap on the file tree so it fills the rail; outer
  ScrollArea handles overflow.
- workspaceFileTree.ts now renders trailing-slash entries (submodules /
  nested git repos like `workbench/`, `workbench-pi-fix/`) as proper
  folder nodes with names + folder icons, not empty-name file rows. New
  regression test.
- TaskPane: drop the placeholder "Plan mode stays visible" card; replace
  colored-dot status indicators with proper green-check / blue-spinner /
  outline-circle icons; filter raw "Tool call" entries out of the work
  log via a new isMeaningfulWorkEntry guard; rename section to
  "Recent activity".

Splash composer (NoActiveThreadState)
- Collapse the nested max-w-5xl + double max-w-4xl wrappers into a
  single max-w-[min(56rem,100%)] container.
- Title fluid via clamp(); textarea text + padding + submit button +
  min-height all scale at the sm: breakpoint instead of fighting at
  narrow widths.
- New transient pendingAutoSubmitStore so the splash can request
  "auto-send on next mount". ChatView consumes the flag once the draft
  prompt loads, then setTimeout(0)s onSend — type into splash, hit
  enter, chat starts immediately (no second enter).
- Splash sidebar trigger inset matches ChatView's pattern.

Branding
- Add AnimatedWorkbenchLogo (block-float + soft drop-shadow) to
  Icons.tsx; SplashScreen now uses the animated variant at size-24.

AGENTS.md
- Replace the inherited "Project Snapshot" intro with a Workbench
  Mission section: folder-first AI workbench, locked product
  vocabulary (Workbench / Console / Task / Workspace), six core
  product principles. Original task-completion + maintainability
  content preserved further down.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The Group A change added a chevron toggle in the chat top bar that
collapses the right rail. The original close-rail chevron inside the
RailHeader (PanelRightCloseIcon next to the Console pill) was left in
place, so users now saw two stacked chevrons doing the same thing.

Drop the inside-rail close button. Toggle now lives only in the chat
header, matching the parallel left-sidebar trigger.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jlmcmich
jlmcmich merged commit 02fff08 into main Apr 19, 2026
@jlmcmich
jlmcmich deleted the pr/ui-refinements branch April 19, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant