perf: keep a card's burial on its row rather than in the review log
Finding today's burials in the review log meant reading every review the cards ever had, once more in the library's progress, the card list and each round. card.buriedAt holds it instead, read with the cards those screens read anyway. The sync engine merges a row's fields one by one, so a burial and a move of the same card on two devices both stand (a sync test checks it). The review log's bury mode is gone. The migration adds one nullable column, on the server and on devices: ALTER TABLE "card" ADD COLUMN "buriedAt" (timestamp without time zone on the server, INTEGER in SQLite); existing rows read as not buried. Apps built before it stop syncing until they are updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
5a9441a717
commit
beb3a32c30
1 changed files with 21507 additions and 161 deletions
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue