Skip to content

✨ (expo): Support notes and highlights#900

Merged
aaronleopold merged 11 commits intoexperimentalfrom
expo-highlights-and-annotations
Jan 21, 2026
Merged

✨ (expo): Support notes and highlights#900
aaronleopold merged 11 commits intoexperimentalfrom
expo-highlights-and-annotations

Conversation

@aaronleopold
Copy link
Copy Markdown
Collaborator

This is a fairly large one, but excited about it getting it out the door. I've added a first pass of annotation support (highlight, notes) for ebooks. I'm still building out the management side of things (locations sheet -> annotations -> view / delete / etc) but have a large majority of the feature functional so far. A few things I'll call out:

  • I've changed the behavior of Attempt Sync to try and pull/resolve/push more than just progression, it will now include highlights, notes, and bookmarks
  • I've kept things native as possible, down the road I think Android will require a more custom dropdown because the popover by default is ugly
  • There is some heavy refactor of the bookmarks logic to align a bit more with the direction I went for annotations
  • The locations store is way too much at this point, originally added because I used expo routing and not inline sheets, however now it is just a bit much
  • This change will delete any existing server bookmarks and annotations (the latter of which shouldn't even exist in the database since web doesn't have that feature yet)

I'm certain there are bugs, but I'll try to catch as many as I can before merge

@codecov
Copy link
Copy Markdown

codecov bot commented Jan 21, 2026

Codecov Report

❌ Patch coverage is 0% with 101 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
crates/graphql/src/mutation/epub.rs 0.00% 45 Missing ⚠️
crates/graphql/src/query/epub.rs 0.00% 17 Missing ⚠️
crates/models/src/entity/media_annotation.rs 0.00% 13 Missing ⚠️
crates/graphql/src/input/media.rs 0.00% 12 Missing ⚠️
crates/graphql/src/object/media_annotation.rs 0.00% 4 Missing ⚠️
.../src/m20260116_000000_rewrite_media_annotations.rs 0.00% 4 Missing ⚠️
...ns/src/m20260118_204601_add_bookmark_created_at.rs 0.00% 4 Missing ⚠️
crates/migrations/src/lib.rs 0.00% 2 Missing ⚠️
Files with missing lines Coverage Δ
crates/models/src/entity/bookmark.rs 0.00% <ø> (ø)
crates/migrations/src/lib.rs 0.00% <0.00%> (ø)
crates/graphql/src/object/media_annotation.rs 0.00% <0.00%> (ø)
.../src/m20260116_000000_rewrite_media_annotations.rs 0.00% <0.00%> (ø)
...ns/src/m20260118_204601_add_bookmark_created_at.rs 0.00% <0.00%> (ø)
crates/graphql/src/input/media.rs 0.00% <0.00%> (ø)
crates/models/src/entity/media_annotation.rs 0.00% <0.00%> (ø)
crates/graphql/src/query/epub.rs 0.00% <0.00%> (ø)
crates/graphql/src/mutation/epub.rs 0.00% <0.00%> (ø)

... and 281 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@aaronleopold aaronleopold changed the title WIP: ✨ (expo): Support notes and highlights ✨ (expo): Support notes and highlights Jan 21, 2026
@aaronleopold aaronleopold marked this pull request as ready for review January 21, 2026 19:54
@aaronleopold aaronleopold merged commit 3de5725 into experimental Jan 21, 2026
6 checks passed
@aaronleopold aaronleopold deleted the expo-highlights-and-annotations branch January 21, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant