Files
noteflow/.claudectx/codefixes.md
2026-01-24 10:40:30 +00:00

55 KiB
Raw Blame History

git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file - Running pre-commit quality checks... === TypeScript Type Check === cd client && npm run type-check

noteflow-client@0.1.0 type-check tsc --noEmit

=== Biome Lint === cd client && HYGIENE_DIR=/home/trav/repos/noteflow/.hygeine npm run lint

noteflow-client@0.1.0 lint mkdir -p ${HYGIENE_DIR:-../.hygeine} && biome lint . --reporter=json > ${HYGIENE_DIR:-../.hygeine}/biome.json && eslint . --format json --output-file ${HYGIENE_DIR:-../.hygeine}/eslint.json

The --json option is unstable/experimental and its output might change between patches/minor releases. === TypeScript Quality Tests === cd client && npm run test:quality

noteflow-client@0.1.0 test:quality vitest run src/test/code-quality.test.ts

RUN v4.0.17 /home/trav/repos/noteflow/client

✓ src/test/code-quality.test.ts (28 tests) 244ms

Test Files 1 passed (1) Tests 28 passed (28) Start at 09:52:07 Duration 1.20s (transform 370ms, setup 551ms, import 60ms, tests 244ms, environment 257ms)

=== TypeScript Coverage (Vitest) === cd client && npm run test -- --coverage

noteflow-client@0.1.0 test vitest run --coverage

RUN v4.0.17 /home/trav/repos/noteflow/client Coverage enabled with v8

src/api/adapters/tauri/sections/meetings.test.ts (10 tests | 1 failed) 59ms ✓ creates meetings and caches them 14ms ✓ lists meetings and caches results 10ms ✓ gets meetings and caches them 3ms ✓ stops meetings and logs 3ms ✓ deletes meetings and removes cached items 3ms × starts transcription and returns a stream 6ms ✓ records failures when transcription fails 4ms ✓ resets stream state and logs metadata 2ms ✓ generates summaries using preference templates 9ms ✓ logs summary failures 3ms ✓ src/hooks/auth/use-cloud-consent.test.ts (14 tests) 765ms ✓ src/hooks/auth/use-huggingface-token.test.ts (17 tests) 933ms stderr | src/pages/Tasks.test.tsx > TasksPage > renders kanban view and forwards updates Warning: An update to TasksPage inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TasksPage (/home/trav/repos/noteflow/client/src/pages/Tasks.tsx:72:77) at Router (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1207:17) at MemoryRouter (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1101:7) Warning: An update to TasksPage inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TasksPage (/home/trav/repos/noteflow/client/src/pages/Tasks.tsx:72:77) at Router (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1207:17) at MemoryRouter (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1101:7)

✓ src/pages/Recording.logic.test.tsx (7 tests | 2 skipped) 1185ms ✓ shows desktop-only message when not running in tauri without simulation 806ms ✓ src/pages/Tasks.test.tsx (12 tests) 789ms ✓ filters tasks by priority and search query 311ms ✓ src/components/features/entities/entity-management-panel.test.tsx (4 tests) 836ms ✓ adds, edits, and deletes entities when persisted 481ms ✓ src/components/features/analytics/logs-tab.test.tsx (16 tests) 1161ms ✓ src/hooks/sync/use-integration-sync.test.ts (43 tests) 805ms ✓ polls until sync completes when initial status is running 503ms ✓ src/hooks/processing/use-post-processing.test.ts (30 tests) 1129ms ✓ src/pages/MeetingDetail.test.tsx (7 tests) 927ms ✓ src/pages/Meetings.test.tsx (11 tests) 1033ms ✓ src/pages/Recording.test.tsx (5 tests) 1028ms ✓ src/components/features/settings/export-ai-section.test.tsx (22 tests) 671ms stderr | src/hooks/recording/use-recording-session.test.tsx > useRecordingSession > closes streams when unmounted before transcription resolves Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

✓ src/components/features/meetings/processing-status.test.tsx (22 tests) 616ms stderr | src/hooks/recording/use-recording-session.test.tsx > useRecordingSession > skips start error handling when unmounted Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

✓ src/components/common/dialogs/confirmation-dialog.test.tsx (2 tests) 574ms ✓ renders content and handles confirm 403ms stderr | src/hooks/recording/use-recording-session.test.tsx > useRecordingSession > skips stop updates when unmounted before stop resolves Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

stderr | src/hooks/recording/use-recording-session.test.tsx > useRecordingSession > skips stop error handling when unmounted Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

✓ src/components/features/analytics/performance-tab.test.tsx (16 tests) 905ms ✓ src/hooks/recording/use-recording-session.test.tsx (26 tests) 676ms ✓ src/pages/meeting-detail/header.test.tsx (8 tests) 553ms ✓ src/pages/Home.test.tsx (8 tests) 889ms ✓ has view all link for meetings 460ms ✓ src/components/features/notes/timestamped-notes-editor.test.tsx (4 tests) 804ms ✓ saves notes manually and shows history 341ms ✓ src/components/features/projects/ProjectScopeFilter.test.tsx (5 tests) 563ms ✓ src/components/features/recording/audio-device-selector.test.tsx (3 tests) 577ms ✓ renders empty device list state 315ms ✓ src/components/features/connectivity/server-switch-confirmation-dialog.test.tsx (2 tests) 395ms ✓ renders server details and confirms 314ms Error: useProjects must be used within ProjectProvider at Module.useProjects (/home/trav/repos/noteflow/client/src/contexts/project-state.ts:25:11) at ProjectConsumer (/home/trav/repos/noteflow/client/src/contexts/project-context.test.tsx:124:3) at renderWithHooks (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:15486:18) at mountIndeterminateComponent (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:20103:13) at beginWork (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:21626:16) at HTMLUnknownElement.callCallback (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:4164:14) at HTMLUnknownElement.callTheUserObjectsOperation (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30) at innerInvokeEventListeners (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:360:16) at invokeEventListeners (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:296:3) at HTMLUnknownElementImpl._dispatch (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:243:9) Error: useProjects must be used within ProjectProvider at Module.useProjects (/home/trav/repos/noteflow/client/src/contexts/project-state.ts:25:11) at ProjectConsumer (/home/trav/repos/noteflow/client/src/contexts/project-context.test.tsx:124:3) at renderWithHooks (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:15486:18) at mountIndeterminateComponent (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:20103:13) at beginWork (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:21626:16) at HTMLUnknownElement.callCallback (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:4164:14) at HTMLUnknownElement.callTheUserObjectsOperation (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30) at innerInvokeEventListeners (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:360:16) at invokeEventListeners (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:296:3) at HTMLUnknownElementImpl._dispatch (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:243:9) stderr | src/contexts/project-context.test.tsx > ProjectProvider > throws when useProjects is used outside provider The above error occurred in the component:

at ProjectConsumer (/home/trav/repos/noteflow/client/src/contexts/project-context.test.tsx:194:21)
at ErrorBoundary (/home/trav/repos/noteflow/client/src/contexts/project-context.test.tsx:188:9)

React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary.

✓ src/api/adapters/tauri/stream.test.ts (19 tests) 516ms ✓ src/contexts/project-context.test.tsx (9 tests) 615ms ✓ src/lib/preferences/storage.test.ts (14 tests) 552ms ✓ src/components/features/calendar/upcoming-meetings.test.tsx (7 tests) 417ms stderr | src/hooks/audio/use-asr-config.test.ts > useAsrConfig > updateConfig > refreshes config when job completes without new configuration Warning: You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one.

stderr | src/hooks/audio/use-asr-config.test.ts > useAsrConfig > updateConfig > refreshes config when job completes without new configuration Warning: You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one.

✓ src/components/ui/dropdown-menu.test.tsx (1 test) 472ms ✓ renders menu content and items when open 468ms ✓ src/pages/meeting-detail/index.test.tsx (12 tests) 379ms stderr | src/hooks/audio/use-audio-devices.test.ts > useAudioDevices > rethrows input selection errors in tauri mode Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

stderr | src/hooks/audio/use-audio-devices.test.ts > useAudioDevices > rethrows output selection errors in tauri mode Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

stderr | src/hooks/audio/use-audio-devices.test.ts > useAudioDevices > rethrows system device selection errors in tauri mode Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

✓ src/pages/Analytics.test.tsx (5 tests) 683ms ✓ requests speech analysis data when switching tabs 418ms stderr | src/hooks/audio/use-audio-devices.test.ts > useAudioDevices > rethrows dual capture toggle errors Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

stderr | src/hooks/audio/use-audio-devices.test.ts > useAudioDevices > rethrows audio mix errors Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

✓ src/pages/meeting-detail/ask-panel.test.tsx (5 tests) 716ms ✓ renders empty state and disables submit for blank input 524ms stderr | src/hooks/audio/use-audio-devices.test.ts > useAudioDevices > ignores tauri audio test events when not testing input Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

✓ src/components/features/analytics/log-timeline.test.tsx (3 tests) 430ms ✓ renders groups with badges, gaps, and hidden count 324ms stderr | src/hooks/data/use-async-data.test.tsx > useAsyncData > resets mutation state Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5) Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

✓ src/components/features/workspace/workspace-switcher.test.tsx (2 tests) 418ms ✓ lists workspaces and switches on selection 373ms ✓ src/components/features/sync/preferences-sync-status.test.tsx (2 tests) 244ms ✓ src/hooks/audio/use-audio-devices.test.ts (33 tests) 294ms ✓ src/hooks/data/use-async-data.test.tsx (6 tests) 249ms stderr | src/pages/meeting-detail/use-meeting-detail.test.ts > useMeetingDetail > refreshes meeting after post-processing completes Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

stderr | src/pages/Recording.behavior.test.tsx > RecordingPage behavior > toggles pinned entities from transcript cards Warning: An update to RecordingPage inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at RecordingPage (/home/trav/repos/noteflow/client/src/pages/Recording.tsx:62:40) at Router (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1207:17) at MemoryRouter (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1101:7)

✓ src/pages/meeting-detail/use-meeting-detail.test.ts (7 tests) 447ms stderr | src/pages/Recording.behavior.test.tsx > RecordingPage behavior > toggles pinned entities from transcript cards Warning: An update to RecordingPage inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at RecordingPage (/home/trav/repos/noteflow/client/src/pages/Recording.tsx:62:40) at Router (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1207:17) at MemoryRouter (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1101:7)

stderr | src/pages/Recording.behavior.test.tsx > RecordingPage behavior > jumps to live when indicator is clicked Warning: An update to RecordingPage inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at RecordingPage (/home/trav/repos/noteflow/client/src/pages/Recording.tsx:62:40) at Router (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1207:17) at MemoryRouter (/home/trav/repos/noteflow/client/node_modules/react-router/dist/umd/react-router.development.js:1101:7)

✓ src/pages/Recording.behavior.test.tsx (11 tests) 527ms ✓ src/components/features/calendar/calendar-connection-panel.test.tsx (3 tests) 427ms ✓ src/pages/NotFound.test.tsx (3 tests) 257ms ✓ src/api/adapters/mock/index.test.ts (12 tests) 486ms ✓ src/components/ui/sheet.test.tsx (1 test) 221ms ✓ src/test/code-quality.test.ts (28 tests) 335ms Error: Kaboom at Thrower (/home/trav/repos/noteflow/client/src/components/common/error-boundary.test.tsx:7:9) at renderWithHooks (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:15486:18) at mountIndeterminateComponent (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:20103:13) at beginWork (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:21626:16) at HTMLUnknownElement.callCallback (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:4164:14) at HTMLUnknownElement.callTheUserObjectsOperation (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30) at innerInvokeEventListeners (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:360:16) at invokeEventListeners (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:296:3) at HTMLUnknownElementImpl._dispatch (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:243:9) at HTMLUnknownElementImpl.dispatchEvent (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:114:17) ✓ src/components/ui/dialog.test.tsx (1 test) 276ms Error: Kaboom at Thrower (/home/trav/repos/noteflow/client/src/components/common/error-boundary.test.tsx:7:9) at renderWithHooks (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:15486:18) at mountIndeterminateComponent (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:20103:13) at beginWork (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:21626:16) at HTMLUnknownElement.callCallback (/home/trav/repos/noteflow/client/node_modules/react-dom/cjs/react-dom.development.js:4164:14) at HTMLUnknownElement.callTheUserObjectsOperation (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30) at innerInvokeEventListeners (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:360:16) at invokeEventListeners (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:296:3) at HTMLUnknownElementImpl._dispatch (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:243:9) at HTMLUnknownElementImpl.dispatchEvent (/home/trav/repos/noteflow/client/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:114:17) ✓ src/lib/ai-providers/strategies/strategies.test.ts (99 tests) 231ms ✓ src/hooks/processing/use-diarization.test.ts (26 tests) 152ms ✓ src/pages/meeting-detail/summary-panel.test.tsx (5 tests) 231ms ✓ src/pages/Home.behavior.test.tsx (4 tests) 782ms ✓ renders active recording and uses project meeting path 533ms ✓ src/components/common/error-boundary.test.tsx (2 tests) 657ms ✓ renders fallback UI on error and reloads 601ms ✓ src/components/features/analytics/logs-tab-list.test.tsx (4 tests) 126ms ✓ src/hooks/recording/use-recording-app-policy.test.tsx (5 tests) 221ms ✓ src/components/ui/resizable.test.tsx (1 test) 131ms ✓ src/components/features/recording/recording-header.test.tsx (3 tests) 262ms ✓ src/api/adapters/tauri/tests/transcription-mapping.test.ts (8 tests) 205ms ✓ src/contexts/workspace-context.test.tsx (2 tests) 178ms ✓ src/pages/meeting-detail/entities-panel.test.tsx (2 tests) 419ms ✓ renders empty state with extract button 369ms ✓ src/components/common/nav-link.test.tsx (2 tests) 224ms ✓ src/components/features/connectivity/api-mode-indicator.test.tsx (3 tests) 89ms ✓ src/lib/state/entities.test.ts (47 tests) 116ms ✓ src/components/features/entities/entity-highlight.test.tsx (3 tests) 364ms ✓ src/hooks/data/use-project-members.test.tsx (3 tests) 144ms ✓ src/components/features/recording/notes-quick-actions.test.tsx (2 tests) 55ms ✓ src/hooks/data/use-guarded-mutation.test.tsx (2 tests) 172ms ✓ src/components/features/settings/integrations-section/use-integration-handlers.test.tsx (28 tests) 227ms ✓ src/components/features/recording/jump-to-live-indicator.test.tsx (1 test) 251ms ✓ src/lib/preferences/api.test.ts (8 tests) 224ms ✓ src/lib/utils/format.test.ts (40 tests) 110ms ✓ src/hooks/auth/use-auth-flow.test.tsx (6 tests) 119ms ✓ src/hooks/audio/use-streaming-config.test.tsx (2 tests) 133ms ✓ src/components/features/recording/audio-level-meter.test.tsx (10 tests) 147ms ✓ src/components/features/calendar/calendar-events-panel.test.tsx (4 tests) 257ms stderr | src/components/ui/markdown-editor.test.tsx > MarkdownEditor > renders toolbar and executes formatting commands Warning: Received false for a non-boolean attribute pressed.

If you want to write it to the DOM, pass a string instead: pressed="false" or pressed={value.toString()}.

If you used to conditionally omit it with pressed={condition && value}, pass pressed={condition ? value : undefined} instead. at button at Toggle (/home/trav/repos/noteflow/client/src/components/ui/markdown-editor.test.tsx:48:20) at TooltipTrigger (/home/trav/repos/noteflow/client/src/components/ui/markdown-editor.test.tsx:23:28) at Tooltip (/home/trav/repos/noteflow/client/src/components/ui/markdown-editor.test.tsx:20:21) at ToolbarButton (/home/trav/repos/noteflow/client/src/components/ui/markdown-editor.tsx:25:32) at div at EditorToolbar (/home/trav/repos/noteflow/client/src/components/ui/markdown-editor.tsx:86:26) at div at MarkdownEditor (/home/trav/repos/noteflow/client/src/components/ui/markdown-editor.tsx:228:31)

✓ src/components/ui/markdown-editor.test.tsx (7 tests) 134ms ✓ src/api/adapters/cached/index.test.ts (8 tests) 102ms ✓ src/hooks/auth/use-oidc-providers.test.ts (23 tests) 88ms ✓ src/components/ui/ui-components.test.tsx (5 tests) 88ms stderr | src/hooks/ui/use-mobile.test.tsx > useIsMobile > updates when matchMedia change fires Warning: An update to TestComponent inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => { /* fire events that update state / }); / assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act at TestComponent (/home/trav/repos/noteflow/client/node_modules/@testing-library/react/dist/pure.js:328:5)

✓ src/hooks/auth/use-oauth-flow.test.ts (22 tests) 171ms ✓ src/components/common/stats-card.test.tsx (3 tests) 35ms ✓ src/lib/observability/messages.test.ts (60 tests) 123ms ✓ src/hooks/ui/use-mobile.test.tsx (2 tests) 89ms ✓ src/integration/recording-session.integration.test.tsx (5 tests) 110ms ✓ src/api/core/reconnection.test.ts (21 tests) 89ms ✓ src/components/features/recording/confidence-indicator.test.tsx (7 tests) 68ms ✓ src/lib/preferences/tauri.test.ts (8 tests) 70ms ✓ src/hooks/processing/use-assistant.test.ts (5 tests) 49ms ✓ src/lib/observability/events.test.ts (32 tests) 78ms ✓ src/components/features/recording/stat-card.test.tsx (5 tests) 82ms ✓ src/components/features/recording/idle-state.test.tsx (5 tests) 66ms ✓ src/components/ui/select.test.tsx (2 tests) 60ms ✓ src/lib/observability/events.integration.test.ts (24 tests) 67ms ✓ src/components/features/recording/transcript-segment-actions.test.tsx (3 tests) 84ms ✓ src/components/features/connectivity/offline-banner.test.tsx (5 tests) 87ms ✓ src/components/common/badges/speaker-badge.test.tsx (5 tests) 164ms ✓ src/components/common/badges/annotation-type-badge.test.tsx (2 tests) 49ms ✓ src/hooks/sync/use-preferences-sync.test.tsx (4 tests) 61ms ✓ src/api/types/errors.test.ts (37 tests) 59ms ✓ src/lib/integrations/oauth.test.ts (6 tests) 98ms ✓ src/components/features/recording/buffering-indicator.test.tsx (4 tests) 117ms ✓ src/components/features/connectivity/connection-status.test.tsx (4 tests) 189ms ✓ src/hooks/sync/use-integration-validation.test.tsx (3 tests) 36ms ✓ src/hooks/sync/use-calendar-sync.test.tsx (7 tests) 95ms ✓ src/hooks/processing/use-entity-extraction.test.tsx (5 tests) 51ms ✓ src/contexts/connection-context.test.tsx (4 tests) 169ms ✓ src/hooks/sync/use-webhooks.test.tsx (3 tests) 26ms ✓ src/components/features/entities/animated-transcription.test.tsx (3 tests) 34ms ✓ src/components/ui/slider.test.tsx (1 test) 64ms ✓ src/hooks/sync/use-meeting-reminders.test.tsx (5 tests) 159ms ✓ src/lib/preferences/sync.test.ts (13 tests) 89ms ✓ src/components/features/recording/unified-status-row.test.tsx (4 tests) 120ms ✓ src/hooks/ui/use-toast.test.ts (5 tests) 59ms ✓ src/api/index.test.ts (5 tests) 56ms ✓ src/lib/observability/group-summarizer.test.ts (27 tests) 70ms ✓ src/components/features/recording/vad-indicator.test.tsx (6 tests) 91ms stderr | src/pages/meeting-detail/transcript-row.test.tsx > MeetingTranscriptRow > applies selected styles and disables animation when requested Warning: Received false for a non-boolean attribute initial.

If you want to write it to the DOM, pass a string instead: initial="false" or initial={value.toString()}.

If you used to conditionally omit it with initial={condition && value}, pass initial={condition ? value : undefined} instead. at div at div (/home/trav/repos/noteflow/client/src/pages/meeting-detail/transcript-row.test.tsx:4:21) at MeetingTranscriptRow (/home/trav/repos/noteflow/client/src/pages/meeting-detail/transcript-row.tsx:14:107)

✓ src/lib/observability/groups.test.ts (18 tests) 37ms ✓ src/pages/meeting-detail/transcript-row.test.tsx (2 tests) 67ms ✓ src/lib/storage/crypto.test.ts (14 tests) 46ms ✓ src/hooks/auth/use-secure-integration-secrets.test.tsx (3 tests) 48ms ✓ src/components/features/recording/speaker-distribution.test.tsx (2 tests) 63ms ✓ src/components/features/recording/recording-components.test.tsx (4 tests) 144ms ✓ src/lib/audio/device-ids.test.ts (21 tests) 51ms ✓ src/lib/observability/summarizer.test.ts (27 tests) 60ms ✓ src/lib/cache/meeting-cache.test.ts (18 tests) 38ms ✓ src/hooks/processing/events.test.tsx (2 tests) 54ms ✓ src/components/features/recording/in-transcript-search.test.tsx (1 test) 42ms ✓ src/hooks/ui/use-recording-panels.test.tsx (3 tests) 24ms ✓ src/lib/observability/converters.test.ts (18 tests) 35ms ✓ src/pages/Projects.test.tsx (1 test) 61ms ✓ src/lib/ai-providers/strategies/google.test.ts (3 tests) 13ms ✓ src/hooks/ui/use-panel-preferences.test.ts (4 tests) 39ms ✓ src/lib/utils/polling.test.ts (8 tests) 154ms ✓ src/api/core/helpers.test.ts (13 tests) 43ms ✓ src/lib/utils/async.test.ts (7 tests) 44ms ✓ src/lib/system/events.test.tsx (6 tests) 44ms ✓ src/hooks/data/use-project.test.tsx (2 tests) 18ms ✓ src/api/adapters/tauri/tests/misc-mapping.test.ts (8 tests) 32ms ✓ src/api/adapters/cached/audio.test.ts (2 tests) 11ms Not implemented: navigation to another Document ✓ src/api/adapters/tauri/utils.test.ts (2 tests) 14ms ✓ src/lib/utils/download.test.ts (3 tests) 42ms ✓ src/api/adapters/tauri/tests/core-mapping.test.ts (8 tests) 35ms ✓ src/lib/observability/client.test.ts (2 tests) 8ms ✓ src/lib/audio/device-persistence.integration.test.ts (8 tests) 34ms ✓ src/api/adapters/tauri/tests/environment.test.ts (3 tests) 39ms ✓ src/api/adapters/mock/data.test.ts (6 tests) 21ms ✓ src/api/adapters/tauri/sections/sections.test.ts (7 tests) 29ms ✓ src/lib/storage/utils.test.ts (7 tests) 33ms ✓ src/lib/ai-providers/model-catalog-utils.test.ts (4 tests) 29ms ✓ src/hooks/ui/use-animated-words.test.ts (3 tests) 37ms ✓ src/lib/preferences/validation.test.ts (3 tests) 16ms ✓ src/api/adapters/cached/projects.test.ts (3 tests) 11ms ✓ src/lib/preferences/validation-events.test.ts (3 tests) 15ms ✓ src/lib/preferences/integrations.test.ts (2 tests) 12ms ✓ src/lib/utils/index.test.ts (7 tests) 27ms ✓ src/lib/utils/object.test.ts (5 tests) 24ms ✓ src/api/adapters/tauri/constants.test.ts (4 tests) 10ms ✓ src/lib/integrations/utils.test.ts (6 tests) 14ms ✓ src/lib/ai-providers/strategies/custom.test.ts (4 tests) 16ms src/hooks/audio/use-asr-config.test.ts (12 tests | 5 failed) 21415ms ✓ starts with isLoading true 15ms ✓ loads configuration successfully 61ms ✓ handles load error 58ms ✓ refreshes configuration 56ms ✓ starts reconfiguration job successfully 59ms ✓ handles rejected update 55ms ✓ handles API error during update 56ms × updates config when job completes with new configuration 5016ms × refreshes config when job completes without new configuration 5008ms × stops reconfiguring and reports failure status 5007ms × stops reconfiguring and reports cancelled status 5003ms × can be called without error 1018ms ✓ src/api/adapters/cached/apps.test.ts (2 tests) 10ms ✓ src/api/adapters/cached/templates.test.ts (2 tests) 10ms ✓ src/lib/config/app-config.test.ts (4 tests) 12ms ✓ src/api/adapters/cached/triggers.test.ts (2 tests) 12ms ✓ src/lib/config/config.test.ts (4 tests) 9ms ✓ src/lib/utils/event-emitter.test.ts (3 tests) 10ms ✓ src/lib/audio/speaker.test.ts (2 tests) 32ms ✓ src/contexts/storage.test.ts (4 tests) 19ms ✓ src/components/features/settings/integrations-section/helpers.test.ts (2 tests) 15ms ✓ src/api/adapters/tauri/sections/summarization.test.ts (2 tests) 9ms ✓ src/api/core/connection.test.ts (3 tests) 7ms ✓ src/lib/utils/id.test.ts (2 tests) 7ms ✓ src/components/features/analytics/analytics-utils.test.ts (3 tests) 11ms ✓ src/lib/preferences/local-only-keys.test.ts (2 tests) 8ms ✓ src/pages/meeting-detail/constants.test.ts (2 tests) 7ms ✓ src/lib/preferences/tags.test.ts (1 test) 6ms ✓ src/lib/ui/cva.test.ts (1 test) 4ms ✓ src/components/features/recording/index.test.ts (1 test) 4ms src/api/adapters/mock/stream.test.ts (5 tests | 5 failed) 50069ms × emits VAD and transcript updates 10043ms × stops emitting after close 10009ms × emits vad_end when activity stops 10005ms × does not emit when no callback registered 10005ms × accepts audio chunks without throwing 10005ms

⎯⎯⎯⎯⎯⎯ Failed Tests 11 ⎯⎯⎯⎯⎯⎯⎯

FAIL src/hooks/audio/use-asr-config.test.ts > useAsrConfig > updateConfig > updates config when job completes with new configuration Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". src/hooks/audio/use-asr-config.test.ts:177:5 175| }); 176| 177| it('updates config when job completes with new configuration', asy… | ^ 178| vi.useFakeTimers(); 179| mockAPI.getAsrConfiguration.mockResolvedValue(mockConfig);

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/11]⎯

FAIL src/hooks/audio/use-asr-config.test.ts > useAsrConfig > updateConfig > refreshes config when job completes without new configuration Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". src/hooks/audio/use-asr-config.test.ts:217:5 215| }); 216| 217| it('refreshes config when job completes without new configuration'… | ^ 218| vi.useFakeTimers(); 219| const updatedConfig = { ...mockConfig, modelSize: 'small' as con…

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/11]⎯

FAIL src/hooks/audio/use-asr-config.test.ts > useAsrConfig > updateConfig > stops reconfiguring and reports failure status Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". src/hooks/audio/use-asr-config.test.ts:260:5 258| }); 259| 260| it('stops reconfiguring and reports failure status', async () => { | ^ 261| vi.useFakeTimers(); 262| mockAPI.getAsrConfiguration.mockResolvedValue(mockConfig);

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/11]⎯

FAIL src/hooks/audio/use-asr-config.test.ts > useAsrConfig > updateConfig > stops reconfiguring and reports cancelled status Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". src/hooks/audio/use-asr-config.test.ts:299:5 297| }); 298| 299| it('stops reconfiguring and reports cancelled status', async () =>… | ^ 300| vi.useFakeTimers(); 301| mockAPI.getAsrConfiguration.mockResolvedValue(mockConfig);

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/11]⎯

FAIL src/hooks/audio/use-asr-config.test.ts > useAsrConfig > cancelPolling > can be called without error TypeError: Cannot read properties of null (reading 'isLoading')

Ignored nodes: comments, script, style

<html> <head />
</html> src/hooks/audio/use-asr-config.test.ts:346:31 344| 345| await waitFor(() => { 346| expect(result.current.isLoading).toBe(false); | ^ 347| }); 348| runWithExpensiveErrorDiagnosticsDisabled node_modules/@testing-library/dom/dist/config.js:47:12 checkCallback node_modules/@testing-library/dom/dist/wait-for.js:124:77 Timeout.checkRealTimersCallback node_modules/@testing-library/dom/dist/wait-for.js:118:16

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/11]⎯

FAIL src/api/adapters/mock/stream.test.ts > MockTranscriptionStream > emits VAD and transcript updates FAIL src/api/adapters/mock/stream.test.ts > MockTranscriptionStream > stops emitting after close FAIL src/api/adapters/mock/stream.test.ts > MockTranscriptionStream > emits vad_end when activity stops FAIL src/api/adapters/mock/stream.test.ts > MockTranscriptionStream > does not emit when no callback registered FAIL src/api/adapters/mock/stream.test.ts > MockTranscriptionStream > accepts audio chunks without throwing Error: Hook timed out in 10000ms. If this is a long-running hook, pass a timeout value as the last argument or configure it globally with "hookTimeout". src/test/setup.ts:37:1 35| 36| // Clean up client logs after each test to prevent timer-related errors 37| afterEach(async () => { | ^ 38| await act(async () => { 39| await Promise.resolve();

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/11]⎯

FAIL src/api/adapters/tauri/sections/meetings.test.ts > createMeetingApi > starts transcription and returns a stream TypeError: vite_ssr_import_5.TauriTranscriptionStream is not a constructor Object.startTranscription src/api/adapters/tauri/sections/meetings.ts:120:16 118| transcription_api_key: transcriptionKey, 119| }); 120| return new TauriTranscriptionStream(meetingId, invoke, listen); | ^ 121| } catch (error) { 122| const details = extractErrorDetails(error, 'Failed to start re… src/api/adapters/tauri/sections/meetings.test.ts:204:20

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/11]⎯

Test Files 3 failed | 172 passed (175) Tests 11 failed | 1528 passed | 2 skipped (1541) Start at 09:52:08 Duration 53.14s (transform 14.08s, setup 85.42s, import 25.26s, tests 109.97s, environment 78.92s)

make: *** [Makefile:106: coverage-ts] Error 1 ✗ Quality checks failed Fix the issues above or use 'git commit --no-verify' to bypass