| Filename | Latest commit message | Latest commit date |
|---|---|---|
The composer saved a stored card with the card's current heads as its parents, so whatever had arrived meanwhile was replaced, not merged: - another device's change to the side the person left alone was overwritten silently; - an edit made while saving, saved before the card was read back, stood beside the first save: a conflict with itself; - a new card left again before it was read back wasn't written at all, while it showed as saved. A draft now keeps the revisions its content came from (`base`): taken with the stored content while the person hasn't changed it, and its own revision after each save. A save replaces exactly those (`CardRepository.saveEdit`), so what another device wrote meanwhile stays a head of its own and merges per side (ADR 0003): a side only it changed comes through, a side both changed is a conflict to settle. A changed draft takes new conflicts only once it is saved. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me> |
||
| .. | ||
| card_blocs_test.dart | ||
| card_composer_bloc_test.dart | ||