Your comments

I'd say there's a bug with large libraries on Challenger Viewer, try with a restricted user or a test lib with less books.
Get in touch with Challenger Viewer developer if it works with a smaller lib.
Hi Tom,

I don't know if the server-sync'd read state is coming soon or not, but do you think it could also be added in your OPDS page streaming extension ? to get the last page I think it would be pretty easy, something like pse:current="x" in <link> section. Tricky part (maybe not :)) is to push back the new current page to ubooquity.
POST /opds-comics/readstate/{comicID} (data var: current={currentPage}, force=[null|yes])

Without "force" argument, server would decided whether or not the state needs to be updated.
With "force" argument, server would update no matter what (that way OPDS client can allow any user to rollback to any page)

We also need to have the ability to check current readstate for any comic :
GET /opds-comics/readstate/{comicID}

That way when you resume your OPDS client with a comic already open, we can check if user have read any pages with another client/browser, and prompt him to go to that page or not.

Maybe you already thought of all this, anyway, what do you think ?

And since It's my first comment here, I'd like to thank you for all your work !