- Fix polling feedback loop by removing tasks from useEffect deps
- Increase polling intervals to 8s (tasks) and 10s (projects)
- Clean up dead code in DraggableTaskCard and TaskBoardView
- Remove unused imports and debug logging
- Improve task comparison logic for better polling efficiency
Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Add optional force parameter to loadTaskCountsForAllProjects to bypass cache
- Remove legacy temp-ID filtering that prevented some projects from getting counts
- Force refresh task counts immediately when tasks change (bypass 5-min cache)
- Keep cache for regular polling to reduce API calls
- Ensure all projects get task counts regardless of ID format
- Update API parameter names from generic {id} to descriptive names ({project_id}, {task_id}, etc.)
- Fix usePolling hook documentation to match actual (url, options) signature
- Remove false exponential backoff claim from polling features
- Add production considerations section to optimistic updates pattern
- Correct hook name from useProgressPolling to useCrawlProgressPolling
- Remove references to non-existent endpoints
Co-Authored-By: Claude <noreply@anthropic.com>
Created a simple, pragmatic guide for implementing optimistic updates
when needed in the future. Focuses on KISS principles with straightforward
save-update-rollback pattern. Clearly marked as future state, not current.
Co-Authored-By: Claude <noreply@anthropic.com>
Deleted unused useOptimisticUpdates.ts hook that was never imported.
Removed optimistic update references from documentation since we don't
have a consolidated pattern for it. Current approach is simpler direct
state updates followed by API calls.
Co-Authored-By: Claude <noreply@anthropic.com>
Updated progress endpoints to match actual implementation.
Removed migration/historical references and anti-patterns section.
Focused on current best practices and architecture patterns.
Co-Authored-By: Claude <noreply@anthropic.com>
Removed references to deleted files (progressService.ts,
projectCreationProgressService.ts, ProjectCreationProgressCard.tsx).
Updated to document what exists now rather than migration history.
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix API_NAMING_CONVENTIONS.md: Changed 'documents' to 'docs' and used
distinct placeholders ({project_id} and {doc_id}) to match actual API routes
- Fix POLLING_ARCHITECTURE.md: Updated import path to use relative import
(from ..utils.etag_utils) to match actual code structure
- ARCHITECTURE.md: List formatting was already correct, no changes needed
These changes ensure documentation accurately reflects the actual codebase.
- Add concise documentation explaining current ETag implementation
- Document that we use simple equality check, not full RFC 7232
- Clarify this works for our browser-to-API use case
- Note limitations for future CDN/proxy support
Addresses Code Rabbit feedback about RFC compliance by documenting
the known limitations of our simplified implementation.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Created naming standards documentation covering:
- Service method naming patterns
- API endpoint conventions
- Component and hook naming
- State variable naming
- Type definitions
- Common patterns and anti-patterns
- Migration notes from Socket.IO
Major refactoring to simplify the architecture:
1. Socket.IO Removal:
- Removed all Socket.IO dependencies and code (~4,256 lines)
- Replaced with HTTP polling for real-time updates
- Added new polling hooks (usePolling, useDatabaseMutation, etc.)
- Removed socket services and handlers
2. Status Consolidation:
- Removed UI/DB status mapping layer
- Using database values directly (todo, doing, review, done)
- Removed obsolete status types and mapping functions
- Updated all components to use database status values
3. Simplified Architecture:
- Cleaner separation between frontend and backend
- Reduced complexity in state management
- More maintainable codebase
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>