You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new exists: bool field is added to the FolderDetails schema to track filesystem existence. The backend performs runtime os.path.isdir() checks when retrieving folders. The frontend displays a "Missing" badge when exists is false and disables tagging operations on missing folders.
Added exists: bool = True field to FolderDetails schema and implemented os.path.isdir() filesystem check in get_all_folders route to populate the exists attribute at retrieval time.
Backend Tests backend/tests/test_folders.py
Added mock of os.path.isdir in test_get_all_folders_success; updated assertions to verify exists=True on returned folder objects and confirm isdir was called twice.
API Documentation docs/backend/backend_python/openapi.json
Updated FolderDetails schema to include new exists: boolean property with default value true.
Frontend Type Definitions frontend/src/types/Folder.ts
Added optional exists?: boolean property to FolderDetails interface.
Updated rendering logic to compute isMissing = folder.exists === false; added "Missing" badge display, disabled AI Tagging toggle for missing folders, and applied conditional red styling to delete button for missing folders.
🐰 A rabbit hops through folders one by one, Checking if each path still sees the sun— "Missing!" it calls when the path's gone away, So users can clean up their stale array! ✨
Check skipped - CodeRabbit’s high-level summary is enabled.
Title check
✅ Passed
The PR title 'fix: highlight missing folders in settings' directly aligns with the main objective to detect missing folders and surface that state in the Settings UI.
Linked Issues check
✅ Passed
The PR addresses all primary requirements from issue #1081: detects when folders no longer exist via filesystem check [backend/app/routes/folders.py], exposes the exists flag in response [backend/app/schemas/folders.py], and displays missing folders with a 'Missing' badge in the UI [FolderManagementCard.tsx] while disabling tagging and highlighting deletion.
Out of Scope Changes check
✅ Passed
All changes directly support the objective of detecting and highlighting missing folders: backend filesystem checks, schema updates, frontend UI indicators, and refetch logic when Settings is revisited.
Docstring Coverage
✅ Passed
Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing touches
📝 Generate docstrings
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds filesystem existence detection for saved folders and improves Settings → Folder Management UI to clearly indicate missing folders.
Changes
GET /folders/all-foldersnow returnsexistsfor each folder (checked via filesystem).How to test
Closes #1081
Summary by CodeRabbit
New Features
Improvements
✏️ Tip: You can customize this high-level summary in your review settings.