• Will Chen's avatar
    Use idiomatic react-query for useProposal (#2018) · a4747a49
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > **Refactor: proposal fetching via react-query**
    > 
    > - Replaces Jotai state/effects with `useQuery` in `useProposal`
    (`queryKey: ["proposal", chatId]`, `enabled` gating, `refetch` exposed,
    error typed as `Error`)
    > - Deletes `src/atoms/proposalAtoms.ts`; `proposalResultAtom` removed
    > - In `useStreamChat`, stop using `useProposal`; on stream end, call
    `queryClient.invalidateQueries({ queryKey: ["proposal", chatId] })`
    > - In `ChatInput`, display `proposalError.message` and keep using
    `refreshProposal()` from the hook
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    9739b1befe76a7cb491594815d3d92977ad6a1c6. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    
    
    
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Refactored proposal fetching to use React Query’s useQuery, removing
    Jotai state and simplifying refresh and error handling. Improves
    reliability and makes the hook easier to use.
    
    - **Refactors**
    - Replaced custom state/effects with useQuery (key: ["proposal",
    chatId], enabled only when chatId).
    - Removed proposalAtoms and Jotai; hook now returns proposalResult,
    isLoading, error, refreshProposal.
    - Updated useStreamChat to invalidate the proposal query via QueryClient
    (invalidateQueries(["proposal", chatId])).
      - ChatInput now displays proposalError.message for clearer errors.
      - Added meta: { showErrorToast: true } to surface fetch errors.
    
    <sup>Written for commit 9739b1befe76a7cb491594815d3d92977ad6a1c6.
    Summary will update automatically on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    a4747a49
名称
最后提交
最后更新
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...