john-okeefe
00a083b60b
Rename backend code references: Bookmann → Bookhoard
...
Backend changes:
- Update import paths: bookmann/internal → bookhoard/internal
- Rename struct fields: BookmannUUID → BookhoardUUID
- Update handler function names: mapContentIdToBookmannUUID → mapContentIdToBookhoardUUID
- Update HTTP response headers: X-Bookmann-* → X-Bookhoard-*
- Update service and middleware references
- Update main.go imports and references
This is part 2 of the project rename to Bookhoard.
2026-02-01 16:11:54 -05:00
john-okeefe
c1b3f51380
feat(conflicts): add bulk resolve and dismiss operations
...
- BulkResolveConflicts: resolve multiple conflicts with configurable strategies
- most_recent: choose most recently updated source
- highest_progress: choose source with highest reading progress
- manual: use specified winning source
- BulkDismissConflicts: dismiss multiple resolved conflicts at once
- ResolveHighestProgress: convenience endpoint for high-progress strategy
- Return detailed results for each operation
2026-02-01 12:15:42 -05:00
john-okeefe
d28002e4cb
feat(sync): Add Kobo/Koreader sync and conflict handling
...
- Add Kobo markup/sync endpoints for bookshelves
- Add Koreader progress sync with SHA-256 support
- Add sync conflict detection and resolution
- Update ebook scanner for better file matching
2026-01-31 22:32:09 -05:00
john-okeefe
2d2d643873
Add sync conflict detection and resolution system
...
Implement conflict detection for concurrent reading progress updates from different devices. Adds conflict management endpoints for listing, viewing, and resolving conflicts.
- Add ConflictHandler with CRUD endpoints for conflict management
- Implement automatic conflict detection in KOReader progress updates
- Add WebSocket broadcast for real-time conflict notifications
- Add database query for listing user conflicts by status
- Add integration tests and Bruno API test collection
2026-01-31 11:45:52 -05:00