Repository navigation
Show a notice for stale analyses in the loaded book (#375) - #398
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
jasonleenaylor
left a comment
There was a problem hiding this comment.
LGTM. Nice extraction of the shared dismissal hook, and the description's edge cases match the code. A few questions inline.
This review was assisted by Claude Opus 5.5.
alex-rawlings-yyc
left a comment
There was a problem hiding this comment.
@alex-rawlings-yyc made 4 comments.
Reviewable status: 0 of 26 files reviewed, all discussions resolved (waiting on alex-rawlings-yyc).
a91776b to
e4b53fc
Compare
jasonleenaylor
left a comment
There was a problem hiding this comment.
LGTM, handling singular and plural later is fine. There should honestly be an i18n library way of doing it surfaced through paranext-core.
This review was assisted by Claude Opus 5.5.
jasonleenaylor
left a comment
There was a problem hiding this comment.
@jasonleenaylor reviewed 26 files and all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on alex-rawlings-yyc).
Closes #375. Closes #349.
While the loaded book has stale glosses or free translations the reader hasn't dismissed, a banner under the lost-boundaries one counts them, naming only the kinds present ("3 glosses and 2 free translations in this book no longer match the text."). Review glosses opens the catalog filtered to Stale + this book, clearing the search and every other filter. With a book filter on, Stale now keeps only rows stale in a selected book, so a row stale only in EXO no longer passes Stale + GEN, whether the filter was set by Review glosses or by hand. Next free translation goes to the next segment showing one after the focused word (or the active verse), wrapping round, and turns the free translation line on if it's off.
Dismissal names the records it covered, as the lost-boundaries banner's does: a newly stale gloss or translation raises the banner again reporting only itself, one that stops being stale drops out of the dismissal, and replacing the draft clears it. That logic moved out of the lost-boundaries hook into a shared
useRecordDismissal, unchanged. The counts and Next cover only undismissed records; Review glosses lists every stale gloss in the book, since the catalog's Stale filter knows nothing of dismissal.The analysis store remounts when the draft is replaced, so the dismissal lives in the loader, fed by a renderless reporter inside the store that passes the loaded book's stale records up only when they change.
Checked in the running app.
Screenshots
Glosses and free translations

Review glosses (before / after)


Next free translation from verse 6 with the line off (before / after)


Glosses only, after discarding the stale translations

Raised again for a translation staled after dismissal

This change is