Open LorenzHorvath opened 6 days ago
Thanks for raising this and for the suggestion! (It seems to be generally useful.)
My main worries regarding the idea (off-the-cuff, haven't thought too deeply):
My preferred solution would be something more git-like in the sense of comparing with the most recent common ancestor, as it feels more generally flexible, but it's also far more complicated (it also doesn't directly help with, say, 4, (edit: it won't help deal with 4a (we still need a dialog etc.) but would catch 4b) though it would resolve spurious bumping of the timestamp).
@Stvad might have more refined thoughts as the creator! :)
(One partial alternative — just for data-loss — would be snapshotting before an import.)
Currently, an import always overwrites the cards in the existing deck. This can cause significant issues, especially when multiple people are working on the same deck simultaneously, leading to lost changes—a problem I have encountered frequently over the past few months.
This might be a naive suggestion, but isn't there a straightforward technical solution? We could export the last modified field of each card to the JSON file, compare the last modified timestamp of the note being imported to that of the existing note, and decide which one to keep based on that comparison.
Of course, we need to ensure that performance remains stable. I myself am currently dealing with around 6,000 cards in a single deck.
I would appreciate hearing your thoughts on this, especially considering that I'm not familiar with the intricacies of the CrowdAnki implementation.