# Base preparation test "$(node --version)" = "v24.18.0" test "$(node -p 'process.versions.modules')" = "137" pnpm install --frozen-lockfile --prefer-offline --package-import-method=copy pnpm exec turbo run build # Isolated Node 24 development instance export BB_DEV_NODE_BIN_DIR="$(dirname "$(command -v node)")" export npm_config_package_import_method=copy scripts/bb-dev-app current eval "$(scripts/bb-dev-app env)" # Scratch repository qa_repo=$(mktemp -d /tmp/bb-2450-repro-XXXXXX) git -C "$qa_repo" init -q git -C "$qa_repo" config user.name "Issue 2450 QA" git -C "$qa_repo" config user.email "qa@example.invalid" git -C "$qa_repo" commit --allow-empty -qm "fixture" # Host selection and project creation machine_json=$(node packages/scripts/dist/commands/run-cli.js machine list --json) host_id=$(printf '%s' "$machine_json" | node -e 'let s="";process.stdin.on("data",d=>s+=d).on("end",()=>{const host=JSON.parse(s).find(h=>h.status==="connected");if(!host)process.exit(1);process.stdout.write(host.id)})') payload=$(node -e 'process.stdout.write(JSON.stringify({name:"Issue 2450 QA",source:{type:"local_path",path:process.argv[1],hostId:process.argv[2]}}))' "$qa_repo" "$host_id") project_json=$(curl -fsS -X POST "$BB_SERVER_URL/api/v1/projects" -H 'content-type: application/json' --data "$payload") project_id=$(printf '%s' "$project_json" | node -e 'let s="";process.stdin.on("data",d=>s+=d).on("end",()=>process.stdout.write(JSON.parse(s).id))') # Fixture thread and URL thread_json=$(node packages/scripts/dist/commands/run-cli.js thread spawn --project "$project_id" --environment "$qa_repo" --provider codex --permission-mode accept-edits --title "Issue 2450 QA" --prompt "Reply only with ok." --json) thread_id=$(printf '%s' "$thread_json" | node -e 'let s="";process.stdin.on("data",d=>s+=d).on("end",()=>process.stdout.write(JSON.parse(s).id))') node packages/scripts/dist/commands/run-cli.js thread wait "$thread_id" --status idle --timeout 120000 app_url=$(scripts/bb-dev-app status | sed -n 's/^App: //p') printf '%s/projects/%s/threads/%s\n' "$app_url" "$project_id" "$thread_id" # Recorded fixture output # qa_repo=/tmp/bb-2450-repro-dtRrzQ # host_id=host_w4s5892jnw # project_id=proj_qta53ckkg6 # thread_id=thr_pzp45wdan7 # Thread thr_pzp45wdan7 reached status idle. # http://localhost:13242/projects/proj_qta53ckkg6/threads/thr_pzp45wdan7 # Exact base regression cp /home/sawyer/.bb/reports-work/issues/2450/repro/issue2450.repro.test.tsx apps/app/src/components/secondary-panel/issue2450.repro.test.tsx cd apps/app pnpm exec vitest run src/components/secondary-panel/issue2450.repro.test.tsx # exit_code=1 # src/components/secondary-panel/issue2450.repro.test.tsx:94:14 # Unable to find an accessible element with the role "button" and name "Remove split" # PR review commands from the author run gh pr view 2486 -R get-bb/bb gh pr diff 2486 -R get-bb/bb gh pr checkout 2486 -R get-bb/bb pnpm exec turbo run test --filter=@bb/app --force -- --run src/components/secondary-panel/ThreadSecondaryPanel.collapseControl.test.tsx src/components/secondary-panel/sidebarSplitLayout.test.ts src/lib/split-drag/splitDragSession.test.ts pnpm exec turbo run typecheck --filter=@bb/app pnpm exec turbo run lint --filter=@bb/app git switch --detach ad79bbb5ec909524f8f281e62d860c588a86f332 git merge --no-commit --no-ff 95875b8be18a0f903bfcbed50a2dcae7adb3ef35 pnpm install --frozen-lockfile --prefer-offline --package-import-method=copy pnpm exec turbo run test --filter=@bb/app --force -- --run src/components/secondary-panel/issue2450.repro.test.tsx src/components/secondary-panel/ThreadSecondaryPanel.collapseControl.test.tsx src/components/secondary-panel/sidebarSplitLayout.test.ts src/lib/split-drag/splitDragSession.test.ts pnpm exec turbo run typecheck --filter=@bb/app