Your comments

I did edit the base template theme to more match plex colours and add the button to be able to go home from the top nav bar on any page, but didn't change anything to references those 2 files in the studio folder or the jpg. I fact I had forgotten they were even there and was surprised when the pages loaded. Maybe try creating a new theme, simply name it on the settings page and see if that makes a difference?

I simply have a file named folder.jpg in the folder for the studio and some of the comics as well. My images are 312x312 and work well with the new update. My folder structure is D:\<comics><image><Kill or be Killed>kill or be killed 01.cbz

On the studio page I also have a header image on some of the studios, that is driven by this code in a html & css file.

Image 810

The header.jpg is 2200x512  hope this help. obviously there is nothing to check for viewport size but it scales nicely regardless for me. as you can see the mix of comics with and without their own folder.jpg, lots of work to fill in all the missing ones. I hope this helps.

Image 811

I look forward to this being released, I would love to see my collection of books organized like that.

The only thing I have noticed around that is on the settings popup to select flat or folder view the apply button does not appear clickable but actual is responding and saving the settings. But I haven't seen your issue with my installation and like you have multiple sub folders in several places, for books, comics and magazines, about 150k collection.

Yeah it's always best if we now why but I've learnt that development doesn't always gives us that and I take the win :) Correct I get the web view not the view you posted above. I just tried FBReader though and it is displaying as above. There must be something in moonreader which is causing it. I suspect that it must now be loading chrome in the background when you pull up an opds feed. Not an issue with your code though

I setup a new instance because my current db is over 30gb to get it ready to share with you. What I am scanning is just the fantasy & scifi book library which was the root of the problem. It finished and I was able to get moonreader to login and was able to access all the books without any problem. The interface is now a web interface not the previous folder navigation style, but that maybe because the url is simply host:port/collection/opds 

Thank you for looking into it more for me and fixing the issue, it looks like I need to do a complete db rebuild. I appreciate your time, cheers.

Sure here is the last log from moonreader where I get the same error:

Invalidated OPDS content, please contact owner of this OPDS site to verify below error:

At line 6, column 20: not well-formed (invalid token)

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dcterms="http://purl.org/dc/terms/"
      xmlns:pse="http://vaemendis.net/opds-pse/ns" xmlns:opds="http://opds-spec.org/2010/catalog" xml:lang="en"
      xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
    <id>http://5c97d45ac2ab4b96abb759e355834af9-174130-folders</id>
    <title>Fantasy & SciFi</title>
    <updated>2023-12-30T07:28:49-06:00</updated>
    <icon>/collection/theme/common/favicon.ico</icon>
    <author>
        <name>Ubooquity server</name>
        <uri>/collection</uri>
    </author>

    <link type="application/atom+xml; profile=opds-catalog; kind=navigation" rel="self" href="/collection/opds/books/174130"/>
    <link type="application/atom+xml; profile=opds-catalog; kind=navigation" rel="start" href="/collection/opds"/>

    <entry>
        <title>Aaronovitch, Ben</title>
        <id>174131</id>
        <updated>2023-11-28T15:32:40-06:00</updated>
        <content type="html"/>
        <link type="application/atom+xml; profile=opds-catalog; kind=acquisition" rel="subsection"
              href="/collection/opds/books/174131/?displayFiles=true"/>
    </entry>
    <entry>
        <title>Abraham, Daniel</title>
        <id>174145</id>
        <updated>2023-11-28T15:32:41-06:00</updated>
        <content type="html"/>
        <link type="application/atom+xml; profile=opds-catalog; kind=acquisition" rel="subsection"
              href="/collection/opds/books/174145/?displayFiles=true"/>
    </entry>
...
    <entry>
        <title>Ishiguro, Kazuo</title>
        <id>176925</id>
        <updated>2023-11-28T15:35:31-06:00</updated>
        <content type="html">
        <link type="application/atom+xml; profile=opds-catalog; kind=acquisition" rel="subsection" href="/collection/opds/books/176925/?displayFiles=true">
    </content></entry>


<!-- Powered by Ubooquity -->


So I though I would delete and add my OPDS library to moonreader again incase it was caching something as I still saw the line <title>Fantasy & SciFi. However that has opened a new problem authentication fails everytime. I have a special character in my password, so removed that and tried just alphanumeric numeric and no password and they all fail with the 2 android apps I use moonreader & fbreader for OPDS feeds. If i try a browser though the opds url works everytime. I use http not https

I have been unable to find any logs inside of android that I can access for moonreader or fbreader that might show the request they are sending

here is the log with the login failures, debug mode enabled. collection is my reverse proxy

20231230 15:17:42 [Thread-1625] INFO com.ubooquity.a - Internal server started. Listening on port 2202 (library) and 2203 (admin)
20231230 15:17:58 [qtp1140697305-1717] INFO com.ubooquity.d.d - Basic authentication failed. Access Denied. [login:Expattx ][ip:192.168.50.1]
20231230 15:18:09 [qtp1140697305-1719] INFO com.ubooquity.d.d - Basic authentication failed. Access Denied. [login:expattx ][ip:192.168.50.1]
20231230 15:18:24 [qtp1140697305-1701] WARN o.e.j.server.handler.ContextHandler - Unimplemented getRequestCharacterEncoding() - use org.eclipse.jetty.servlet.ServletContextHandler
20231230 15:18:24 [qtp1140697305-1701] INFO com.ubooquity.d.d - Logon attempt with expired timestamp. Access denied. [login:Expattx ][ip:192.168.50.1]
20231230 15:18:24 [qtp1140697305-1701] INFO com.ubooquity.provider.h.b - Using template LOGIN with following parameters:
rootPath: "/collection"
loginScripts: "\n"
hiddenInputs: "
\"d0809793df2c3be1a77a229781cfe1cdb1a2a\"\
\n
\"1703971104432\"\
\n
"
formId: "loginform"
loginFieldName: "login"
passwordFieldId: "passwordfield"
onLoginClick: "submitform();"

I tried this again with version 3.0.2 and get the same error still was this included with the duplicate scan fix?

My scans show as complete now and I can launch another scan as well. On my library previously it never showed complete and after anywhere between 24-48 hrs after I started a scan the app would crash or my pc would lock up if I didn't stop the server and start again. Did you make any changes to the duplicate detection that you would like me to try out and see if there are any improvements apart from the new flag?

I had a problem with OPDS on moonreader which was caused by the & symbol in one of the category names in my library which will be fixed in the next beta version. Maybe there is a special character in your file/folder structure causing issues?