mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 08:21:39 -06:00
5d55b8aa0d
KOReader page-stat uploads can grow an existing derived session as more page events arrive, but only newly inserted sessions reached achievement evaluation. A session that crossed a threshold by being updated showed progress past that threshold while the badge stayed locked. Carry the updated sessions out of the repository instead of a bare count and emit for them too. The oversized-upload branch emitted a backfill event that nothing listened for, so subscribe achievement evaluation to it as well; those runs are serialized per user and a burst collapses into one trailing re-run, since each backfill re-evaluates the whole catalogue. Awards from that branch stay silent: an upload that large is a device catching up, and notifying per badge would burst a toast for every historical unlock. Fixes #991