mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
d749c7737f
This commit adds several critical improvements discovered during
manual testing of SPEC-20 project-scoped rclone sync:
**Critical Bug Fixes:**
1. Path Normalization (fixes path doubling bug)
- API: Strip /app/data/ prefix in project_router.py
- CLI: Defensive normalization in project.py
- Rclone: Fix get_project_remote() path construction
- Prevents files syncing to /app/data/app/data/project/
2. Rclone Flag Fix
- Changed --filters-file to correct --filter-from flag
- Fixes "unknown flag" error in sync and bisync
**Enhancements:**
3. Automatic Database Sync
- POST to /{project}/project/sync after file operations
- Keeps database in sync with files automatically
- Skipped on --dry-run operations
4. Enhanced Project Removal
- Clean up local sync directory (with --delete-notes)
- Always remove bisync state directory
- Always remove cloud_projects config entry
- Informative messages about what was/wasn't deleted
5. Bisync State Reset Command
- New: bm project bisync-reset <project>
- Clears corrupted bisync metadata
- Safe recovery tool for bisync issues
6. Improved Project List UI
- Show Local Path column in cloud mode
- Conditionally show/hide columns based on config
- Prevent path truncation with no_wrap/overflow
- Apply path normalization to display
**Documentation:**
7. Cloud CLI Documentation
- Add troubleshooting: empty directory bisync issues
- Add troubleshooting: bisync state corruption
- Document bisync-reset command usage
- Explain rclone bisync limitations
8. SPEC-20 Updates
- Mark implementation complete
- Document all enhancements in Implementation Notes
- Update phase checklists with completed work
- Add manual testing results
**Tests:**
9. Unit Tests for --local-path
- Test config persistence with --local-path
- Test no config without --local-path
- Test tilde expansion
- Test nested directory creation
All changes tested manually end-to-end.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: phernandez <paul@basicmachines.co>