iCloud flashcard sync: automatic database merging (follow up)

etm001

状元
Hi,

In a previous thread it was mentioned that automatic merging of flashcard databases might be coming in v3.2:
In (probably) 3.2 we're adding support for automatic merging of changes between database versions, which will make waiting for a file to sync less annoying at least (no 'which version do you want to keep' screen), but there isn't a good way we know of to force an immediate iCloud sync. (maybe in iOS 8?)
Is this still coming? It would definitely be nice to have. For now, I do my best to ensure that my iPhone and iPad have Internet access before/after a flashcard session to ensure that DB updates upload/download. It's not too onerous, but it is a kind of a mysterious waiting game (I realize Pleco has no control over when iCloud sync occurs). A few other thoughts/comments:
  • I recently started a flashcard session on my iPad, reviewing about 2-4 cards before Pleco notified me that there was an iCloud conflict (I had spotty Internet connectivity at the time). It made me wonder how/when Pleco learns of pending iCloud sync updates?
  • I think it could be helpful to see a timestamp of the last successful DB sync in "Organize Cards" and/or on the "New Test" screen. (Perhaps this is less helpful if/when automatic DB merging is available).
Thanks!
 

mikelove

皇帝
Staff member
Still coming, but in (probably) 3.3 instead of 3.2; it took so long to get 3.1 stable on Android (yet another instance of Android taking up a much larger share of programming time than its share of sales) that we've now pushed up much closer than we'd like to be to the release of iOS 8 and - even more importantly - the new large-screen iPhone, so 3.2 is going to be a relatively small update just focusing on internal cleanup / UI refinements for those, with the first round of major flashcard improvements pushed back to 3.3.

As far how we learn about updates, the system notifies us that there's a new version of a database available and if there's a conflict we then put up an alert. I'm not actually sure if we could get a reliable sync timestamp, since we aren't initiating a sync - there's not really any way we can confirm with Apple's server that you're using the most up-to-date version of the database as of such-and-such time, it's pretty much all going the other direction.
 

etm001

状元
I'm not actually sure if we could get a reliable sync timestamp, since we aren't initiating a sync - there's not really any way we can confirm with Apple's server that you're using the most up-to-date version of the database as of such-and-such time, it's pretty much all going the other direction.

I'm confused. When Pleco prompts about a database conflict, it displays device names and a timestamp for the database on each device. I would assume that the timestamp is critical in determining which database is most recent? If so, then if the timestamp is unreliable how can synchronization be performed reliably?
 

mikelove

皇帝
Staff member
The timestamp is the last time that database was modified - that's not the same as the last time that we updated the database's status with the server. So the server might not know about some recent changes even though the timestamp of the database on the device would reflect them correctly.
 
Top