useCreateSource and useFileUpload only invalidated QUERY_KEYS.sources() which doesn't match the infinite scroll query key used by the notebook page (QUERY_KEYS.sourcesInfinite()). Added sourcesInfinite invalidation to both hooks so the source list auto-refreshes after adding sources.
36 lines
1.5 KiB
Text
36 lines
1.5 KiB
Text
Session 1 - Initializer Agent - 2026-04-06
|
|
|
|
## Completed
|
|
- Read and analyzed GitHub issue #526
|
|
- Researched the full source creation and listing flow (frontend + backend)
|
|
- Identified root cause: useCreateSource and useFileUpload don't invalidate QUERY_KEYS.sourcesInfinite
|
|
- Created claude-goal.md with detailed analysis
|
|
- Created feature_list.json with 8 test cases
|
|
- Created dev-init.sh
|
|
- Created branch: fix/source-list-auto-refresh-526
|
|
- Made initial commit
|
|
|
|
## Root Cause Summary
|
|
- useNotebookSources queries with key ['sources', 'infinite', notebookId]
|
|
- useCreateSource invalidates ['sources', notebookId] - doesn't match infinite key
|
|
- useFileUpload invalidates ['sources', notebookId] - doesn't match infinite key
|
|
- React Query prefix matching: ['sources', notebookId] does NOT match ['sources', 'infinite', notebookId]
|
|
|
|
## Fix Required
|
|
File: frontend/src/lib/hooks/use-sources.ts
|
|
|
|
1. In useCreateSource onSuccess (~line 96-129):
|
|
- After each QUERY_KEYS.sources(notebookId) invalidation, add QUERY_KEYS.sourcesInfinite(notebookId) invalidation
|
|
|
|
2. In useFileUpload onSuccess (~line 203-210):
|
|
- After QUERY_KEYS.sources(variables.notebookId) invalidation, add QUERY_KEYS.sourcesInfinite(variables.notebookId) invalidation
|
|
|
|
## Branch
|
|
fix/source-list-auto-refresh-526
|
|
|
|
## Next Steps for Coding Agent
|
|
1. Apply the fix to use-sources.ts (add sourcesInfinite invalidation)
|
|
2. Run frontend linting/type checks
|
|
3. Test manually or write unit tests
|
|
4. Mark feature_list.json tests as passing
|
|
5. Create PR
|