Thread: Aura H2O AutoShelf beta
View Single Post
Old 10-09-2015, 08:35 AM   #72
davidfor
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
 
Posts: 24,905
Karma: 47303824
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Quote:
Originally Posted by frostschutz View Post
That's what I'm seeing.

Also when you delete a shelf it suddenly uses a different timestamp format (.123 fraction seconds instead of Z at the end). So I tried using that instead, no luck.
The timestamp format in the database is a little inconsistent. The end in "Z" format is probably the most common, but the milliseconds is used as well.
Quote:
The sync also sets the shelf type to 'Custom'. It seems setting it back to nothing makes the sync-permanent-delete work better
At one time I thought that Kobo were going to use the shelf mechanism in other ways. I assumed that the Type would be used to indicate this and "Custom" was for shelves created by the user. The "SmartShelves" has been the only other use, but I don't remember if that used different type or not.
Quote:
It could also be something else. The old AutoShelf re-created the shelves on every run (new ID, new everything) and who knows what Kobo makes of that on the sync-server-side. The current AutoShelf version keeps the created shelves (or their IDs anyway).
In the KoboTouch driver, I create the shelves in the same way that the device does. When I delete them, if the _IsSynced is false, I delete the row. If it is true, I change _IsDeleted to true. That way, at the next sync, the deletion is synced and hence passed to any other devices. For a synced shelf, if the row is simply deleted, the shelf comes back at the next sync.

If you were just deleting the rows, then I would expect that shelves would come back during a sync.
davidfor is offline   Reply With Quote