That thread is basically correct, but I have to wonder why you chose what might be the oldest thread here on the topic rather than a more recent one. It has been discussed plenty of times since then, with recommendations for how to solve the problem. But, there has been one change more recently that hasn't really been discussed.
The basics are that when the firmware sees a book, it imports details of the book into an internal database. Those details are the metadata and the ToC. The library lists are built from the database and when reading the book, the ToC from the database is used.
If the book is replaced, and the firmware detects this, it will be deleted from the database and then imported as a new book. It means the reading status, bookmarks and collections for the books are lost. This is the default behaviour of the device.
The drivers in calibre cheats. The change the device looks for is the size of the book. So, the when resending a book, the driver updates the size in the database to the new size and the device doesn't reimport the book. This means that the reading status is not lost. It would cause a problem when you changed the internal structure of the book, or the ToC, but if you were just fixing spelling or styles, it worked well. And if you needed to fix the ToC, you simply removed the book before resending it.
Earlier in the year I added an option for this to the driver. If the options is not checked, the driver will let the device handle the book using its default behaviour. If the option is checked (which is the default for the driver) then the driver will do the above to prevent the book from being reimported as new.
|