+1
Planned

OPDS feed id is not unique

Spectrogonk 2 years ago updated 2 years ago 9

Right now the OPDS feed is is a fixed value instead of a globally unique ID (per the Atom / OPDS specs).


It would be super useful if this were a unique id, since there’s no other good way to uniquely identify a feed - network addresses can change or even be shared (eg. two servers in different LANs can use the same IP).


Any chance there’s a per-installation serial-number stored somewhere in the db that could be used to construct a UUID for this purpose?

Under review

I guess a UUID could be generated upon first startup and saved in the preferences file (rather than the database, that I consider "expendable").


But first I'd like to understand your use case: in which situation did similar feed ids of two Ubooquity instances have been an issue ?

+1

Oops, posted from the wriong  twitter account...


I'm doing a rewrite of my current iOS app, in which OPDS feeds (and various other sources of comics) are mirrored in the app, and have a bunch of associated state - sync settings, reading position, reading-list membership and whatnot.


Having a unique server ID is most important for syncing bookmarks / reading-positions between different instances of the app - two copies of the app might be accessing the same comics on the same server via different URLs (eg. public vs private IP vs DNS name). Or if they're super-unlucky, they might be accessing different comics on different servers via the exact same URL (eg. a link-local address, or the same MDNS name).


So in order to sync bookmarks I need to generate stable, universally unique comic IDs, which means I need a stable UUID for the feed / server they came from, and while using the URL of a feed to ID it would work much of the time, it would also break in a bunch of scenarios.


Cheers!

Just to be sure, you are talking about the ID of the root page (currently named "opdsRoot"), right ?

I'm asking because other OPDS pages (when you start browsing) have different IDs (although not unique either yet).


Personally I only use the root page’s id. But if you’re going to do it, doing it throughout would seem like a good idea, eg:

urn:ubooquity:<library-id>:<page-name>

Planned

That was the plan, just wanted to be sure you were not expecting the same id for all pages. :)


Off topic, and I apologise, but it is very exciting to see Chunky Reader under active development. 

It’s exciting to finally be getting somewhere with the dang thing after so many false starts :)

can't wait for the new chunky release as well as the next few releases of ubooquity. so cool. keep it going guys, this is going to be awesome!