Summary
When downloading files via Chrome (or other apps), the file doesn't update in Marlin when the download completes. The temporary/partial download file remains shown instead of the final file.
Current Behavior
- Chrome downloads show as
.crdownload files (or similar temp files)
- When download completes, Chrome renames the file to its final name
- Marlin doesn't reflect this change - still shows the old temp file
- May need to manually refresh to see the real file
Expected Behavior
- File watcher should detect the rename/replacement
- UI should update automatically to show the final file
- Thumbnail should generate for the new file type
Likely Causes
- File watcher not catching renames: May only watch for create/delete, not rename events
- Debouncing too aggressive: Change events may be getting dropped
- Temp file delete + new file create: If Chrome deletes temp and creates new (vs rename), both events need handling
- Platform-specific: Different behavior on macOS/Windows/Linux file watchers
Files to Investigate
- File watcher implementation in Rust backend
- How rename events are handled vs create/delete
- Debouncing/batching logic for file system events
Test Cases
- Chrome
.crdownload → final file
- Firefox
.part → final file
- Safari download completion
- Any app that writes to temp then renames
Acceptance Criteria
Summary
When downloading files via Chrome (or other apps), the file doesn't update in Marlin when the download completes. The temporary/partial download file remains shown instead of the final file.
Current Behavior
.crdownloadfiles (or similar temp files)Expected Behavior
Likely Causes
Files to Investigate
Test Cases
.crdownload→ final file.part→ final fileAcceptance Criteria