[Bug] Books are not synced with message "skipped, no uuid"
KOreader Sync plugin version
0.7.1
KOreader version
2025.04
Operating System
Linux
Connection type
Wired (over usb cable)
Describe the bug
When reading the metadata from my Kobo Clara BW, metadata is not correctly imported for all books. Some books are simply skipped and don't appear at all in the final sync window.
I currently have 24 books on the device - Calibre correctly recognizes all 24 books on the device:
But when I execute sync, only 15 of those books are synced:
I traced this back to the get_paths function. The remaining books are returned in the device.books() call, but their uuid is not set. I don't know why or how the UUID is not set, I'm not familiar at all with how calibre plugins work, but this is really annoying.
My question is: how do I get the books to have a UUID on the device?
Side note: Since get_paths returns a map of books by UUID, only a single book without UUID can be returned. It'd be more helpful if all books without UUID were returned (e.g. return a list of tuples rather than a dictionary) so that at least they all show up in the list.
How to reproduce
I can send my epub and kepub files over if it helps, I'm also willing to share my calibre library or anything else in private for debugging purposes. My template for sending books to the device is "{title} - {authors}".
Expected behavior
I would expect all books on the device to have a UUID and be synced correctly
Provide details output from plugin pop-up window
No response
Screenshots
No response
Any additional info
No response