-
Notifications
You must be signed in to change notification settings - Fork 33
Description
In GothenburgBitFactory/taskwarrior#3530 @snaka224 mentioned they edited the DB. They probably aren't the first or only person to do so!
The result is a "corrupted" DB in the sense that an invariant is invalidated: the cumulative effects of the ops in the operations table are not the same as the tasks table.
Let's add some tests for that circumstance to ensure that at least the "blast radius" of this corruption is limited.
- TC does not panic or crash
- Sync continues to run successfully
- Only the modified task is affected locally
- After sync, only the modified task is different between replicas
This would be a good first task since it just requires writing some tests. If bugs are found, we can file and fix those separately. The resulting tests are probably a mix of unit-style tests (such as for apply when an Update operation is applied to a task that has been deleted) and integration tests (for things that involve running sync). There are already some example integration tests in taskchampion/tests.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status