Repository navigation
Sync exact bookmark locations and annotation selections - #50
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 509578d985
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Bookmarks now retain exact EPUB/PDF reader locators through upload, storage and the PowerSync stream. Annotation locations accept validated text ranges or normalized PDF rectangles so the client can reopen and render highlights.
Adds nullable
bookmarks.reader_locatorJSONB in migrationb9c0d1e2f345, validates finite coordinates and supported locator shapes, and preserves existing ownership, retry, atomicity and deletion behavior. Freehand notes continue to save without a location.Validation: 42 focused tests passed, including migration upgrade/downgrade and bookmark preservation, upload ownership and retries, malformed locations and stream configuration. The changed annotation/freehand-note round-trip test and all 13 bookmark upload tests passed again after final review. Ruff and mypy passed.
Deploy the migration, API validation and updated PowerSync stream before the consuming client. No production migration or live cross-device sync test was performed.
Closes #49. Supports FR-3_4 and FR-4_1. Coordinated PRs: client#94 and reader#8.