The initial issues sound like a corrupted database on the device. The factory reset would have fixed that. Though just signing out of the Kobo account and back in would have done it as well.
For the later problem with sideloaded kepubs could be an error in the book. The annotations rely on the ToC and if that is out of sync with the book, the annotations will not display properly. This could happen when the book is edited and the ToC not updated inside the book. Or if you update the ToCo and structure of the book and resend it to the device. In either case, the annotations will probably not be displayed in the book, but, should appear in the annotations list.
The other reason for annotations not appearing in kepubs is if the books have not been properly processed and do not have the Kobo specific spans. These are used for the locations within the book that are used by both annotations and the reading position. This should only happen if there are errors in the books. In some cases, the books will be sent as epubs instead. In other cases, the changes might only be partially done.
For either of these, the annotations should still be there when you eject the device. For them to disappear, usually means a corrupt database. But, the annotations plugin would probably have had errors if that was the case. The other reason for annotations to disappear is if the book is replace. The drivers can handle this, but, there is an option to turn off this handling and the device will import any replaced book as a new book. And that removes the annotations and reading status for the books.
To give a better idea, I would need to see the kepub version of the book. This will be a problem if the book is under copyright. If you have a book that is legal to post, that would be good. There is also the ScrambleEbook plugin that can be used to generate a postable version of the book. As th text is scrambled, that can make it hard to discuss where problems occur, but, it lets me see the book structure. It might also be useful to see a debug log from calibre when fetching the annotations. That might give some clues as to what is happening.
|