RUN  v4.1.1 /home/sawyer/projects/bb/.claude/worktrees/wf_570fde41-63f-2/apps/app stderr | src/views/thread-detail/threadDetailView.keystroke-rerender.repro.test.tsx > #1304 composer keystrokes re-render the thread view > threadOpenContext -> useLocalOpenTargets must yield a stable openPathInFileTarget across renders [DEPRECATED] loadable is deprecated and will be removed in v3. Please use a userland util with the `unwrap` util: https://github.com/pmndrs/jotai/pull/3217 ❯ src/views/thread-detail/threadDetailView.keystroke-rerender.repro.test.tsx (2 tests | 2 failed) 26ms  × a view that only needs addQuote must not re-render on every composer keystroke 13ms  × threadOpenContext -> useLocalOpenTargets must yield a stable openPathInFileTarget across renders 12ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯  FAIL  src/views/thread-detail/threadDetailView.keystroke-rerender.repro.test.tsx > #1304 composer keystrokes re-render the thread view > a view that only needs addQuote must not re-render on every composer keystroke TypeError: accessor.addQuote is not a function  ❯ src/views/thread-detail/threadDetailView.keystroke-rerender.repro.test.tsx:95:69  93| // FAILS on main: `accessor.addQuote is not a function`.  94| act(() => {  95| (accessor as unknown as { addQuote: (text: string) => void }).ad…  | ^  96| "quoted selection",  97| );  ❯ ../../node_modules/.pnpm/@testing-library+react@16.3.2_@testing-library+dom@10.4.1_@types+react-dom@19.2.3_@types+reac_fbudjh4wbq5vikyvhkdgrz66ke/node_modules/@testing-library/react/dist/act-compat.js:47:24  ❯ process.env.NODE_ENV.exports.act ../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react.development.js:814:22  ❯ ../../node_modules/.pnpm/@testing-library+react@16.3.2_@testing-library+dom@10.4.1_@types+react-dom@19.2.3_@types+reac_fbudjh4wbq5vikyvhkdgrz66ke/node_modules/@testing-library/react/dist/act-compat.js:46:25  ❯ src/views/thread-detail/threadDetailView.keystroke-rerender.repro.test.tsx:94:5 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/2]⎯  FAIL  src/views/thread-detail/threadDetailView.keystroke-rerender.repro.test.tsx > #1304 composer keystrokes re-render the thread view > threadOpenContext -> useLocalOpenTargets must yield a stable openPathInFileTarget across renders AssertionError: expected [AsyncFunction] to be [AsyncFunction] // Object.is equality Compared values have no visual difference.  ❯ src/views/thread-detail/threadDetailView.keystroke-rerender.repro.test.tsx:127:20 125| // memo chain in useLocalOpenTargets, so this callback (and with i… 126| // MarkdownLocalFileContextMenuContext value) changes identity eve… 127| expect(second).toBe(first);  | ^ 128| }); 129| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/2]⎯  Test Files  1 failed (1)  Tests  2 failed (2)  Start at  15:10:35  Duration  1.68s (transform 352ms, setup 20ms, import 1.18s, tests 26ms, environment 371ms)