Skip to content

AIDA-2336: Show when worktree folders are required - #2165

Merged
ravarora2 merged 2 commits into
mainfrom
rarora/aida-2336-folder-requirement
Nov 2, 2026
Merged

ravarora2 merged 2 commits into
mainfrom
rarora/aida-2336-folder-requirement

Conversation

@ravarora2

Copy link
Copy Markdown
Contributor

Why

In New workspace, Folders says “Optional” even when “Work in a new worktree” requires a folder. The submit error is easy to miss. Addresses AIDA-2336.

What

Show “Optional” only with worktree mode off. With worktree mode on and no folders added, show “Add at least one folder to use a new worktree.” beside Folders.

How

Derive the message from the current workspace in the shared workspace fields. Reuse Field’s error styling and connect the desktop picker button to its message. Adding a folder or turning worktree mode off clears the requirement message; picker failures retain their existing feedback. Update the bundled help guide.

Risk

Small shared UI change affecting creation, workspace settings, and chat settings. Saved data and validation before publication are unchanged.

Testing

Exercised the built app with the existing Playwright fixture in Chromium and WebKit, in light and dark themes: switch toggling, folder add/remove recovery, accessible descriptions, and workspace creation with worktree mode off. All four cases passed at normal text size, including 480px-wide recovery. No permanent browser tests were added or removed; the behavior matrix lives in colocated component and validation tests.

At 480px width and 200% text, a separate inspection found the dialog’s sticky header/footer overlap controls. That limitation remains; screenshots and the failed interaction were retained. Native file-picker acceptance and human testing are pending. Local push checks timed out in existing profile/navigation tests (416 passed, eight timed out in the final run). The author requested immediate draft publication, so the local types/related-test job was excluded for this push; other push checks remained enabled. TypeScript had passed in the earlier runs. A full-suite Blox attempt was stopped before final totals; no full-suite pass is claimed. Hosted CI and human review remain pending.

Manual check: New → New workspace → enter a name → enable Work in a new worktree with no folders. Folders should lose “Optional” and show the inline message. Add a folder to clear it, remove the last folder to restore it, and turn the switch off to restore “Optional.”

Originating Buzz channel: f58eb58c-ac89-468a-b21f-650ff71632b7.

Generated with Codex

ravarora2 and others added 2 commits November 2, 2026 11:31
Show the folder requirement beside the field as worktree mode changes.

Co-authored-by: BuzzPRReviewAssistant2 <7d616e7e143e5d408159614dccff1371350a1c1bd36c8de838a45ece5aca0aca@buzz.block.builderlab.xyz>
Signed-off-by: Ravneet Arora <[email protected]>
Co-authored-by: BuzzPRReviewAssistant2 <7d616e7e143e5d408159614dccff1371350a1c1bd36c8de838a45ece5aca0aca@buzz.block.builderlab.xyz>
Signed-off-by: Ravneet Arora <[email protected]>
@ravarora2
ravarora2 marked this pull request as ready for review November 2, 2026 17:29
@ravarora2
ravarora2 requested a review from a team as a code owner November 2, 2026 17:29

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Carl, an automated reviewer, commenting via Wes’s GitHub account.

No blockers. Reviewed at 73ef62d8.

  • The requirement uses the same trimmed, non-empty folder rule as validateWorkspace, so the inline message and the submit guard can't disagree. readWorkspace validates saved records, so the settings and chat-settings surfaces won't mount with a stale alert.
  • Picker failures still take precedence and clear on the next action. Connecting the native Add folder… button through aria-describedby also fixes a gap: picker errors were never linked to that button before.
  • Tests sit at the right layers: the state matrix is in WorkspaceFields.test.tsx, and one wiring journey is in NewWorkspace.test.tsx. CI is green on this head (39 passed, 2 skipped).

Still open, as the PR notes: native file-picker acceptance and a human pass. The sticky header/footer overlap at 480px/200% text predates this change and is outside its scope.

@ravarora2
ravarora2 merged commit 44aa6ab into main Nov 2, 2026
41 checks passed
@ravarora2
ravarora2 deleted the rarora/aida-2336-folder-requirement branch November 2, 2026 23:35
dr0uleau added a commit that referenced this pull request Nov 2, 2026
Co-authored-by: Codex <[email protected]>

* origin/main: (26 commits)
  AIDA-2336: Show when worktree folders are required (#2165)
  AIDA-2326: Reveal full emoji completion names (#2172)
  feat(agent-command): let local agents discover advertised plugin tools (#2110)
  feat(bestie): a Bestie tab on your Bestie's agent page (#2034)
  fix(relay): notify verified profile changes once per replay (#2209)
  feat(shortcuts): open Shortcuts settings with Mod+/ (#2022)
  Re-send live channel subscriptions on access grants, not every minute (#2207)
  perf(profiles): count verified namesakes once per publish (#2159)
  feat(claude-code): start sessions with the agent's recent notes (#2040)
  fix(relay): skip status, emoji, read-state and reminder re-reads a continuous replay covers (#2204)
  Support agent credentials through the macOS debug helper (#2174)
  refactor: centralize relay search debounce and require two characters (#2200)
  fix(relay): drop unused profile exemptions from config and agent reads (#2202)
  fix(relay): skip full profile and roster re-reads after a continuous reconnect (#2203)
  Notify when Solo chat agents finish (#2011)
  feat(mcp): start a Solo chat with channel_create (#2128)
  fix(relay): keep profiles when channel access ends (#2187)
  Wait for thread readiness before keyboard input (#2181)
  fix(builderlab): unify the development sign-in (#2109)
  feat(host): add byte requests, private saves and POST dispatch protection (#2084)
  ...

Signed-off-by: Daniel Rouleau <[email protected]>
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.

2 participants