Unusable on iOS/iPadOS with WebDAV due to fetching duration

Hey there! First of all: I really like Infuse for its simplicity, but I can simply no longer use it due to the way it’s “fetching details” for my library.

I’ve read a lot of posts about this in this forum, but also on Reddit, and it doesn’t seem to have been resolved for years now.

I have a server with around 3000 media files that is connected to Infuse via WebDAV. So nothing crazy. I’m using iCloud sync and have metadata fetching enabled in the Infuse settings. As suggested by others, I ran the initial indexing on an Apple TV 4K that never sleeps. It took like an hour to grab the metadata and “fetch details”, which is already quite extreme for such a small library, but okay. I can live with that. And no, i’m definitely not on a slow internet connection.

But now, syncing the library to the iPhone and iPad (Infuse Pro 8.3.5) is such a pain with this setup! It’s almost impossible to sync the library due to the way these devices work and how Infuse handles the fetching of details. It does NOT just sync from iCloud, even though the Apple TV already grabbed all the data. It fetches everything from scratch on every device. This makes the entire iCloud sync quite pointless.

And if the screen goes off just for a few seconds, or if you switch to another app, the fetching starts again at 0 when you come back. Not where you left off. At ZERO! This is just nuts. I know Apple devices are strict regarding background tasks, but this entire approach is just off.

In other apps like VidHub, fetching metadata and media details for the same library via WebDAV takes seconds! Even re-fetching the entire library for cache invalidation takes seconds. And syncing everything through iCloud just works on all devices.

So why is it so hard for Infuse, for so many years now, to rethink its fetching approach? I would still prefer Infuse in terms of UI, but in terms of UX it has become unusable.

And please, I know I can host my own metadata, but that is not my question. My question is: will Infuse ever improve their fetching approach to speed things up?

Thanks!

I think that if you look closely, you’ll see that even though it starts again at zero the total is lower. Example, you see fetching 100 of 1000 and your screen sleeps when it restarts at zero again it’s 0 of 900. I just do the sync when I have the phone on charge and let it rip.

Fair enough! But this does still not answer the question, why Infuse fetching works this way in the first place. Why are other apps capable of doing this in seconds, while Infuse takes hours to do it? Why is iCloud sync not working for this purpose and the library is refetched on every single device?

Infuse uses iCloud to store the basic info like shares, favorites, and settings.

I believe the reason that Infuse doesn’t store the metadata in iCloud is that a large number of users only have the base iCloud account that has a 5 Gig limit. It doesn’t take a very big library to hit the 5 Gig amount and if the user has any other items stored in iCloud that 5 Gigs gets used up fast. That’s why each device does it’s own fetching.

Based on the comment linked below by James, it should sync through iCloud across devices. So you would have to “fetch details” only once on one device and have it everywhere. In my understanding, this has nothing to do with the metadata itself.

I just checked again and it doesn’t seem to work as you described. Yesterday evening, I started fetching 2,805 files with the phone plugged in. It reached about 500/2,805. I kept the app open, but the display turned off during the night.

This morning it shows “fetching details (1 of 2,805)”. So the mechanism seems to be broken. The progress is not stored. It starts from scratch. Even though it says there is 508MB of metadata in the app. And iCloud sync doesn’t work either, even though it should according to the comment by @james above. I’m not using plex or anything like that. Just a simple node.js server that delivers a directory of files through webdav.

Infuse has 3 distinct indexing steps.

  • Fetching Metadata = Download textual metadata from TMDB
  • Fetching Artwork = Download artwork from TMDB
  • Fetching Details = Read file details (runtime, resolution, codecs, etc…) from the actual video files

Fetching Details is the slowest step since it needs to download a portion of each video file to scan it. The speed at which this can be done mainly depends on the connection speed between Infuse and the source where the files are stored.

Infuse has options to disable this step (and some other steps) which can help shorten indexing times. More info can be found in this guide.

Hey @james, thanks for getting back. I’ll try that out.

One more question: why is iCloud sync not working? I’m not using Plex or anything like that. Just a simple directory on my server connected via WebDAV. I’ve already fetched all the metadata and details on my Apple TV, so why would I need to run the whole process again from scratch on each device?

For anyone looking to change the fetching settings: You can find them in the “Add Files” flow under Advanced. To change them later, you need to go to “Add Files” again, retrieve your saved share, and click the pencil to edit.

Some feedback for the Infuse team: The time it takes to fetch details seems to have been a pain for many users for years now. Maybe it would be better to disable this by default?

I’d guess that most people won’t take the time to research the issue and write here to resolve it. They’ll likely just switch to another app out of frustration when fetching takes hours on every device.

Also, since this is a critical setting for the user experience, it should be much more visible during setup and easier to change later on. It’s absolutely not clear that this can be configured in the “Add Files” dialog, and it’s not mentioned in the documentation on support.firecore.com either.

1 Like