Downloading from OPDS doesn’t keep order

If I have 3 titles:

Comic 001
Comic Annual 001
Comic 002

I have them set to a manual order in my OPDS service (in my case, Komga). Note that the Annual comic is manually ordered to be in the second place so it respects release order. When I download the comics, they appear in my offline folder in alphabetical order:

Comic 001
Comic 002
Comic Annual 001

This results in me having to manually order the comics in Panels after the download. Is there a way to have Panels respect the order when it downloads?

Thanks, @Raven, for bringing this up.

Yep, this is a known issue, and it doesn’t have an easy fix, to be honest.
Panels could try to respect the order from OPDS, but you could download the content into any folder, which might have content already. What should we do in that case?

I think that the best approach, for now, is not to copy the files into your library but use the “Download” option. That will store the comics locally so you can access them offline while keeping the original organization.

The only viable option that I see, is to respect the order when copying to your library, when the target folder is completely empty, o when you are downloading a whole folder from OPDS. I’m happy to implement something like that.
Nonetheless, if you download a folder containing, let’s say, 10 comics. Then you add more comics to your OPDS, and you try to download the new content into the same folder, it wouldn’t respect the order.
Panels doesn’t know where the content came from after it’s downloaded.

Does that make sense?

That makes total sense. Personally (and others may use things differently), I think just appending the ordered comics to the end of the folder’s contents in all cases would work. I’ll use two examples:

  1. I have my Batman comics with Annuals. Let’s say I haven’t copied those comics to my iPad in a while and I have about 10 that I haven’t copied. Appending those 10 in the OPDS order to the end of the comics in the folder would work great.

  2. I have my Star Wars comics that I don’t read series-by-series. I read several series at the same time in release order so that the intertwining stories make more sense. In that case, I keep read lists of the order. Adding comics to the end of a copied folder in the OPDS order would also work in that case.

As far as the “Download” option, I think I’m just unaware how it works. How do I clear the downloaded file once I’m done reading it? Can I see a list of downloaded files rather than copied ones? Can I clear just the downloaded and not the copied ones?

Thanks so much for your help

I like your suggestions. Sounds like a good compromise. It won’t always work perfectly for everyone, but it will probably cover a big percentage of use cases. I’m happy to go forward with this approach because it’s better than what we have atm.

It will take me some time to implement this because we are pretty busy with some other stuff. But it’s not a massive lift and prioritizing should be easy, hopefully, within the next two months.

About the Download, I’ll answer you today/tomorrow with a detailed explanation.

That sounds great. It’ll be a big help for me.

For the “Downloads”, it may be good to have some in-app messaging explaining.

I found an issue and wanted to fix it before explaining that part.
This is how it works.

As you can see, you can download the comic and access it later. You can use the Komga (or any other OPDS server) library as another library. It’s not just a way to import your comics but to consume them directly.
If you download the comics, they will be accessible offline.

Panels caches the OPDS requests locally and show you the previously visited pages if no connection is available.

Currently, there is an issue in the version on the AppStore, which makes it load for a minute before showing the cached content. We think this is due to a change in recent versions of iOS.
When we implemented this, the requests to the server would fail immediately when there is no internet. But now, it waits until the request times out.

The next version of panels fixes this and restores the previous behavior.