| ▲ | cyberax 4 hours ago | |
Soft deletes + GC for the win! We have an offline-first infrastructure that replicates the state to possibly offline clients. Hard deletes were causing a lot of fun issues with conflicts, where a client could "resurrect" a deleted object. Or deletion might succeed locally but fail later because somebody added a dependent object. There are ways around that, of course, but why bother? Soft deletes can be handled just like any regular update. Then we just periodically run a garbage collector to hard-delete objects after some time. | ||