diff --git a/bruno/collection.bru b/bruno/collection.bru index 3b89165..66123ad 100644 --- a/bruno/collection.bru +++ b/bruno/collection.bru @@ -5,27 +5,3 @@ auth { auth:bearer { token: {{token}} } - -folder "Auth" { - import "./user/**" -} - -folder "Libraries" { - import "./library/**" -} - -folder "Media Items" { - import "./media-items/**" -} - -folder "Scanner" { - import "./scanner/**" -} - -folder "Progress" { - import "./progress/**" -} - -folder "Universal Progress" { - import "./universal-progress/*" -} diff --git a/bruno/koreader/README.md b/bruno/koreader/README.md index 5502e95..c30ff74 100644 --- a/bruno/koreader/README.md +++ b/bruno/koreader/README.md @@ -243,9 +243,82 @@ Syncs periodically to save bandwidth. Bookmann tries multiple strategies to match books: -1. **By UUID**: Most reliable if your book files have unique IDs -2. **By file path**: Matches exact file path -3. **By title + author**: Fallback for unmatched books +1. **By UUID**: Most reliable if your book files have unique IDs (confidence: 1.0) +2. **By SHA-256**: Hash-based matching for reliable identification (confidence: 0.9) +3. **By file path**: Matches exact file path and creates device alias (confidence: 0.7) +4. **By title + author**: Fallback for unmatched books (confidence: 0.5) +5. **By title only**: Last resort match (confidence: 0.4) + +### SHA-256 Matching (Phase 7 Enhancement) + +Bookmann now supports SHA-256 hash matching for reliable book identification: + +```json +{ + "books": [ + { + "sha256": "a1b2c3d4e5f6...", + "file_path": "/mnt/onboard/Book.epub", + "percentage": 0.65, + "page": 142, + "total_pages": 310 + } + ] +} +``` + +**Benefits**: +- Works even if file path changes +- Reliable across device re-formats +- Automatic device file alias creation +- Per-annotation SHA-256 support for mixed-book syncs + +### Device File Alias System + +When a book is matched with a file path, Bookmann automatically creates a device file alias: + +- **UUID + FilePath**: Creates alias with confidence 1.0 +- **SHA-256 + FilePath**: Creates alias with confidence 0.9 +- **FilePath only**: Creates alias with confidence 0.7 +- **Title match + FilePath**: Creates alias with confidence 0.5-0.7 + +Once created, aliases enable future syncs without UUID or SHA-256: + +```json +{ + "books": [ + { + "file_path": "/mnt/onboard/Book.epub", + "percentage": 0.70 + } + ] +} +``` + +### Per-Annotation SHA-256 + +Sync bookmarks/notes/highlights for multiple books in one request: + +```json +{ + "highlights": [ + { + "text": "Quote from book 1", + "pos0": "/6/4[chap1]!/4/2/1:0", + "pos1": "/6/4[chap1]!/4/2/1:50", + "color": "#ffff00", + "book_sha256": "abc123..." + }, + { + "text": "Quote from book 2", + "pos0": "/6/4[chap1]!/4/2/1:0", + "pos1": "/6/4[chap1]!/4/2/1:50", + "color": "#00ff00", + "book_sha256": "def456..." + } + ] +} +``` ## Conflict Resolution