Certain characters in file names result in non-retrievable resources #25
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Seems I'm stumbling over weird issues today: The comic series
The Wicked + The Divine(McCelvie/Wilson, 2015), represented in this folder structure has two problems with Panels, the iOS comics reader (at least with that reader, I have not tested with any other opds-capable reader at the moment):Problems:
The Wicked + The Divinecan't be listed: I suspect the+character, being an HTTP meta character, gets mis-interpreted as a space character somehow.The Wicked and the Divine, the issue file itself has only pages that can't be viewed: Retrieving the pages returns a 422 and Panels shows "error" symbols on any of the page images. Again, suspect that's due to the+character in the name.Logs
I'm relying on logs from
tsnsrv, the https reverse proxy for tailscale.Seems to indicate that the folder is found, but then comicopds doesn't return any content for the folder.
Update, the second problem at least looks like a Panels bug; the link generated by ComicOPDS looks like this:
Here, it looks like both the + and the ; characters are the problem (and other file names have issues with the
'character, too): Replacing just the + with "and" still results in broken page images, you also have to replace the ; character with something else.Grump, the subsection problem seems like a Panels bug, too; here's the OPDS entry for the folder I renamed to contain a + sign:
I'll report this to the Pages folks, not sure there's anything you can do here.
Actually, one more update: It seems like all these issues stem from
+in request URLs being possibly misinterpreted. While the client should definitely try to be as conservative as possible (and not translate escape sequences to the characters they stand for), auto-translating+tois a pretty common bug in web libraries (I've definitely seen it before in Rack, the ruby webserver). Maybe this is a thing that ComicOPDS can shore up, also.