Skip to content

Move new chat and manager actions into sidebar - #5

Merged
SawyerHood merged 5 commits into
mainfrom
bb/move-new-chat-and-manager-buttons-thr_mbvu2u5rzi
May 12, 2026
Merged

SawyerHood merged 5 commits into
mainfrom
bb/move-new-chat-and-manager-buttons-thr_mbvu2u5rzi

Conversation

@SawyerHood

@SawyerHood SawyerHood commented May 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Add matching ghost New Chat and New Manager actions above Projects in the sidebar, aligned with thread row spacing and height through shared row classes.
  • Keep those sidebar actions outside the sticky project stack so the Projects sticky tier cannot clip the New Manager row.
  • Tighten the gap between the sidebar action buttons and the Projects heading with a compact sticky-stack top padding mode.
  • Remove the header New Manager action and route New Manager through the currently selected project by default.
  • Add a Project picker inside the Hire Manager dialog so the manager can be created for a different project before submitting, with project selection derived instead of synchronized through extra effects.
  • Use a shared hire-manager mutation key with useIsMutating so pending hires keep the action disabled after the dialog closes.
  • Add focused tests for sidebar actions, dialog project selection, and shared pending-state behavior.

Validation

  • pnpm exec turbo run typecheck --filter=@bb/app
  • NODE_OPTIONS=--no-experimental-webstorage pnpm exec turbo run test --filter=@bb/app -- src/components/dialogs/HireManagerDialog.test.tsx src/components/sidebar/ProjectList.test.tsx src/components/sidebar/AppSidebar.test.tsx src/hooks/mutations/project-mutations.test.tsx
  • pnpm exec turbo run build --filter=@bb/app
  • git diff --check

@SawyerHood
SawyerHood marked this pull request as ready for review May 12, 2026 22:23
@SawyerHood
SawyerHood marked this pull request as draft May 12, 2026 22:27
@SawyerHood
SawyerHood marked this pull request as ready for review May 12, 2026 22:35
@SawyerHood
SawyerHood merged commit f94cc99 into main May 12, 2026
1 check failed
brsbl referenced this pull request in brsbl/bb Jun 6, 2026
The Loading apps... / Couldn't load apps. notice rendered after the
Create App... row, so Create App was not last while apps were loading or
failed to load. Fold the app-load status above Create App inside the
trailing row group so Create App is always the final row in every app
state. Normal installed-app and no-app ordering and the #5/get-bb#6 ARIA/toolbar
fixes are unchanged. Add tests for the loading and error states asserting
the notice precedes Create App and Create App stays last.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ymichael added a commit that referenced this pull request Aug 17, 2026
The only provider without an existing bridge, built canonical-only (no
legacy dialect; the legacy in-process adapter stays untouched and live).
Per decision #5 the bridge owns its app-server children: one per bb
thread with #1402 supervision (finalize on close with bounded grace,
pipe destruction, per-callback currency checks, allowlisted child env,
SIGTERM->SIGKILL escalation, kill-all on stdin close). Unexpected child
death settles open turns as failed and the next turn restores from the
rollout with a session/replaced notification.

Translation shared, not duplicated: the adapter's ~1,200 lines of
stateful closures extracted byte-identically into codex/translator.ts +
session-params.ts (adapter 2,255 -> 348 lines); event-translation,
schemas, interactive-requests, permission-mapping imported by both
dialects. Bridge-minted structural ids (bt<entropy>-<serial>-<codexId>)
keep parentToolCallId consistency with no maps and reverse-map for
steer/interrupt/fork including legacy-persisted raw codex ids.
Archived-session resumes reply SESSION_NOT_RESTORABLE with the original
text preserved for the unarchive-retry path. Handshake: sessionRestore,
archiveSync, nameSync, goalState, manualCompaction all true; fork
checkpoint; runtime approval policy.

Conformance 11/11 against real supervised fake-app-server children.
Suites 973 default + 253 isolated, zero legacy assertion changes; the
daemon build produces bb-codex-bridge.mjs, wired into the bundle
manifest, launcher required-artifacts, and the tarball smoke.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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