• turbo 2.10.12 • Packages in scope: @bb/app • Running test in 1 packages • Remote caching disabled //:ensure-native-modules: cache bypass, force executing 60fedd3e56a422cd @bb/plugin-build:generate: cache miss, executing 5e547476d7edc67b @bb/templates:generate:plugin-scaffold: cache miss, executing a6fcc6831556ece4 @bb/templates:generate:templates: cache miss, executing 8857ef04f7eed87f @bb/templates:generate:templates: @bb/templates:generate:templates: > @bb/templates@0.0.1 generate:templates /base/packages/templates @bb/templates:generate:templates: > node ./scripts/generate-templates.mjs @bb/templates:generate:templates: @bb/templates:generate:plugin-scaffold: @bb/templates:generate:plugin-scaffold: > @bb/templates@0.0.1 generate:plugin-scaffold /base/packages/templates @bb/templates:generate:plugin-scaffold: > node ./scripts/generate-plugin-scaffold.mjs @bb/templates:generate:plugin-scaffold: //:ensure-native-modules: //:ensure-native-modules: > bb@ ensure-native-modules /base //:ensure-native-modules: > node scripts/ensure-native-modules.mjs //:ensure-native-modules: @bb/plugin-build:generate: @bb/plugin-build:generate: > @bb/plugin-build@0.0.1 generate /base/packages/plugin-build @bb/plugin-build:generate: > node ./scripts/generate-plugin-theme.mjs && node ./scripts/generate-runtime-export-manifest.mjs @bb/plugin-build:generate: @bb/plugin-build:generate: plugin-theme.generated.ts up to date @bb/plugin-build:generate: wrote /base/packages/plugin-build/src/generated/runtime-export-manifest.generated.ts (react@19.2.4) @bb/app:test: cache miss, executing 2a3f7a3ebbc329af @bb/app:test: @bb/app:test: > @bb/app@0.0.1 test /base/apps/app @bb/app:test: > node scripts/generate-pwa-icons.mjs --check && vitest run --config vitest.config.ts "ThreadRow.test.tsx" @bb/app:test: @bb/app:test: @bb/app:test: RUN v4.1.1 /base/apps/app @bb/app:test: @bb/app:test: ❯ |@bb/app:isolated| src/components/sidebar/ThreadRow.test.tsx (81 tests | 1 failed) 528ms @bb/app:test: ✓ shimmers the split map for 'runtime + pending input' 80ms @bb/app:test: ✓ shimmers the split map for 'workflow + pending input' 17ms @bb/app:test: ✓ shimmers the split map for 'background agent + unread error' 14ms @bb/app:test: ✓ shimmers the split map for 'background command + pending input' 11ms @bb/app:test: ✓ shimmers the split map for 'plan mode + unread error' 11ms @bb/app:test: ✓ shimmers the split map for 'goal + pending input' 10ms @bb/app:test: ✓ shimmers the split map for 'plugin running + unread error' 9ms @bb/app:test: ✓ keeps the split map static for idle 9ms @bb/app:test: ✓ keeps the split map static for unread error only 10ms @bb/app:test: ✓ preserves the 'pending input' status in the split map accessible name 9ms @bb/app:test: ✓ preserves the 'unread error' status in the split map accessible name 9ms @bb/app:test: ✓ preserves the 'plugin status' status in the split map accessible name 8ms @bb/app:test: ✓ preserves the 'collapsed child workflow' status in the split map accessible name 10ms @bb/app:test: ✓ puts the draft icon in the trailing status slot 11ms @bb/app:test: ✓ draws a plugin's own registered artwork, and falls back for a name it never registered 4ms @bb/app:test: ✓ replaces the draft icon with a plugin status and restores it when cleared 3ms @bb/app:test: ✓ shows a keyboard shortcut in place of a plugin status 2ms @bb/app:test: ✓ shows a keyboard shortcut in place of a split mini-map 2ms @bb/app:test: ✓ renders a plugin status with the semantic success tone 2ms @bb/app:test: ✓ automatically shimmers a plugin status with the running tone 2ms @bb/app:test: ✓ renders a static destructive plugin status with the error tone 2ms @bb/app:test: × disables runtime glyph rotation when reduced motion is requested 6ms @bb/app:test: ✓ keeps the runtime spinner ahead of a plugin status 4ms @bb/app:test: ✓ keeps the working-draft pencil ahead of the runtime spinner when isActive=true 2ms @bb/app:test: ✓ keeps the working-draft pencil ahead of the runtime spinner when isActive=false 2ms @bb/app:test: ✓ uses the shimmering draft pencil with activeWorkflowCount 2ms @bb/app:test: ✓ uses the shimmering draft pencil with activeBackgroundAgentCount 2ms @bb/app:test: ✓ uses the shimmering draft pencil with activeBackgroundCommandCount 2ms @bb/app:test: ✓ uses the shimmering draft pencil with activePlanModeCount 2ms @bb/app:test: ✓ uses the shimmering draft pencil with activeGoalCount 2ms @bb/app:test: ✓ renders serialized title mentions as non-interactive pills 14ms @bb/app:test: ✓ resolves a serialized thread title mention outside the sidebar cache 38ms @bb/app:test: ✓ keeps missing naked thread ids literal across sidebar labels 44ms @bb/app:test: ✓ marks a child from another project with the project name 9ms @bb/app:test: ✓ opens the thread when the cross-project marker is clicked 9ms @bb/app:test: ✓ omits the cross-project marker for same-project rows 2ms @bb/app:test: ✓ renders a complete Unicode path mention instead of an ASCII prefix 2ms @bb/app:test: ✓ leaves an ambiguous flattened mention literal: Review @docs/My File.md 2ms @bb/app:test: ✓ leaves an ambiguous flattened mention literal: Review @docs/My Project File.md 2ms @bb/app:test: ✓ leaves an ambiguous flattened mention literal: Review @docs/My Cool Project/ 2ms @bb/app:test: ✓ leaves an ambiguous flattened mention literal: Review @thread-storage:Release Notes/todo.md 3ms @bb/app:test: ✓ leaves an ambiguous flattened mention literal: Ask @Release Notes 2ms @bb/app:test: ✓ leaves an ambiguous flattened mention literal: Ask @owner/repo 2ms @bb/app:test: ✓ renders an entity mention before terminal punctuation 2ms @bb/app:test: ✓ keeps sentence punctuation outside a multi-segment path mention 2ms @bb/app:test: ✓ uses the circle-question glyph when the thread needs user input 2ms @bb/app:test: ✓ clocks a thread with queued work, and drops the clock once it runs 3ms @bb/app:test: ✓ shows unread success instead of queued work 2ms @bb/app:test: ✓ gives a failed queued row the same glyph a failed thread gets 3ms @bb/app:test: ✓ reserves a stable action slot beside a parent disclosure (collapsed: true) 7ms @bb/app:test: ✓ reserves a stable action slot beside a parent disclosure (collapsed: false) 8ms @bb/app:test: ✓ keeps the parent-thread disclosure caret visible on mobile 6ms @bb/app:test: ✓ sets parent-thread disclosure hover reveal to false when collapsed is true 5ms @bb/app:test: ✓ sets parent-thread disclosure hover reveal to true when collapsed is false 5ms @bb/app:test: ✓ shows its Command shortcut in place of an active indicator 6ms @bb/app:test: ✓ shows the pending-input glyph while the runtime is still active 2ms @bb/app:test: ✓ shows runtime work before workflow and background work 3ms @bb/app:test: ✓ shows an animated working-colored workflow glyph for an idle thread with an active workflow 2ms @bb/app:test: ✓ shows runtime work before concurrent activeWorkflowCount activity 2ms @bb/app:test: ✓ shows runtime work before concurrent activeBackgroundAgentCount activity 2ms @bb/app:test: ✓ shows runtime work before concurrent activeBackgroundCommandCount activity 2ms @bb/app:test: ✓ shows concurrent activePlanModeCount activity before runtime work 2ms @bb/app:test: ✓ shows concurrent activeGoalCount activity before runtime work 2ms @bb/app:test: ✓ shows an animated delegated-agent glyph for active background agent work 2ms @bb/app:test: ✓ shows workflow before background agent and command work 2ms @bb/app:test: ✓ shows background agent work before background command work 2ms @bb/app:test: ✓ shows an animated terminal glyph for an active background command 2ms @bb/app:test: ✓ shows an animated plan-mode glyph when the plan banner is active 2ms @bb/app:test: ✓ shows an animated goal glyph when the goal banner is active 2ms @bb/app:test: ✓ shows Plan before a concurrent Goal 2ms @bb/app:test: ✓ shows the 'Workflow running' glyph for collapsed parent rows with hidden child activity 2ms @bb/app:test: ✓ shows the 'Background agent running' glyph for collapsed parent rows with hidden child activity 2ms @bb/app:test: ✓ shows the 'Background command running' glyph for collapsed parent rows with hidden child activity 4ms @bb/app:test: ✓ shows the 'Plan mode active' glyph for collapsed parent rows with hidden child activity 2ms @bb/app:test: ✓ shows the 'Goal active' glyph for collapsed parent rows with hidden child activity 2ms @bb/app:test: ✓ shows a working draft for collapsed descendants before named work 2ms @bb/app:test: ✓ renders an already-unread successful thread as a settled dot on initial load 2ms @bb/app:test: ✓ switches directly from working to the settled done dot after finishing 3ms @bb/app:test: ✓ edits the row title inline after a double click and commits on Enter 12ms @bb/app:test: ✓ cancels an inline row rename on Escape without saving 11ms @bb/app:test: ✓ starts a rename from a second click after the row remounts 14ms @bb/app:test: @bb/app:test: ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯ @bb/app:test: @bb/app:test: FAIL |@bb/app:isolated| src/components/sidebar/ThreadRow.test.tsx > ThreadRow > disables runtime glyph rotation when reduced motion is requested @bb/app:test: AssertionError: expected [ 'animate-spin', …(2) ] to include 'motion-reduce:animate-none' @bb/app:test: ❯ src/components/sidebar/ThreadRow.test.tsx:563:47 @bb/app:test: 561| const runningIcon = screen.getByLabelText("Thread working"); @bb/app:test: 562| expect(runningIcon.getAttribute("data-icon")).toBe("Loading"); @bb/app:test: 563| expect(Array.from(runningIcon.classList)).toContain("motion-reduce… @bb/app:test: | ^ @bb/app:test: 564| }); @bb/app:test: 565| @bb/app:test: @bb/app:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ @bb/app:test: @bb/app:test: @bb/app:test: Test Files 1 failed (1) @bb/app:test: Tests 1 failed | 80 passed (81) @bb/app:test: Start at 16:27:37 @bb/app:test: Duration 2.91s (transform 1.02s, setup 79ms, import 1.56s, tests 528ms, environment 639ms) @bb/app:test: @bb/app:test:  ELIFECYCLE  Test failed. See above for more details. @bb/app#test: ERROR command (/base/apps/app) /bin/pnpm run test ThreadRow.test.tsx exited (1) Tasks: 4 successful, 5 total Cached: 0 cached, 5 total Time: 5.114s Failed: @bb/app#test ERROR run failed: command exited (1)