so I noticed that the way anki is set up, is that in some cases where the queue of cards is rearranged, anki requires a full deck resync by sending all the data of the cards to the server again. Isn’t this inefficient? Had a linked list been used behind the scenes couldn’t you save a ton of data coming in and out the servers by just sending the update with an appended indexes of the shifts? in the best case the user syncs immediately and its reflected online and where ever they sync and pull the data, in worst case they do a few more cards and the orders get changed, but at that point you would still be sending just the updated positions or the transfers from the “new” cards to the learning cards ect, and not a whole deck, assuming it was built on a linked list and not a queue. You could hide from the user that a linkedlist is being used and make it appear as a queue still.
I’m not sure if theres any flaws with my logic since i’m not fully familiar with the github repository, but I did notice that sending a whole deck to be resynced seemed inefficient if it could be avoided.