[Bug]: Changing a library's metadata provider doesn't seem to actually change it #2964

Closed
opened 2026-04-25 00:12:26 +02:00 by adam · 7 comments
Owner

Originally created by @Phantomwise on GitHub (Aug 22, 2025).

What happened?

I created a library and accidentally chose iTunes as the metadata provider instead of Audible.com. So, when matching books, the default provider is iTunes. If I manually change it to Audible, it will continue to match with Audible for the next books. But if I switch library and come back, or refresh, sometimes that reset the provider to the default one, and matching once again happens with iTunes by default. So far it makes sense.

Then I edited the library options, and switched from iTunes to Audible.com.

Image

Yet when the default provider is reset it is reset to iTunes:

Image

I have tried manually changing the provider when matching to Google Books, to make it easier to see when the provider is reset to default. That way:

  • Provider on library creation: iTunes
  • Provider chosen in the library settings: Audible.com
  • Provider chosen manually during matching: Google Books

This made it clear that, when the provider gets reset, it is always reset to iTunes (chosen at the library creation), not Audible.com (currently chosen in the library settings).

What did you expect to happen?

The metadata provider is reset to the one chosen in the library options, not the one chosen at the library creation.

Steps to reproduce the issue

  1. Create a library with iTunes as the metadata provider
  2. Add some books and try to match them: iTunes will be the default provider
  3. Edit the library settings and change the metadata provider to Audible.com
  4. Open a book and manually change the matching provider to Google Books, so that it keeps Google Books as provider for the next matches
  5. Change libraries and refresh the page so that the default provider is reset and stops being Google Books (I haven't found a sure way to reset it, sometimes it does on refresh sometimes not, sometimes it does on library change sometimes not, so you might have to try both several times, or just clean and rebuild the container that should do it)
  6. When the provider is reset, it will get reset to iTunes, not Audible.com

Audiobookshelf version

v2.28.0

How are you running audiobookshelf?

Docker

What OS is your Audiobookshelf server hosted from?

Linux

If the issue is being seen in the UI, what browsers are you seeing the problem on?

Firefox

Logs


Additional Notes

I tried to stop the container, clean and rebuild the project, but it didn't help. It still defaults to iTunes. So I'll probably just delete the library and make a new one with the right provider this time, fortunately it's a new one so it won't take too long.

Originally created by @Phantomwise on GitHub (Aug 22, 2025). ### What happened? I created a library and accidentally chose iTunes as the metadata provider instead of Audible.com. So, when matching books, the default provider is iTunes. If I manually change it to Audible, it will continue to match with Audible for the next books. But if I switch library and come back, or refresh, sometimes that reset the provider to the default one, and matching once again happens with iTunes by default. So far it makes sense. Then I edited the library options, and switched from iTunes to Audible.com. <img width="1366" height="768" alt="Image" src="https://github.com/user-attachments/assets/4b4965cb-578b-499f-b4bf-50cb68425af1" /> Yet when the default provider is reset it is reset to iTunes: <img width="1366" height="768" alt="Image" src="https://github.com/user-attachments/assets/ffd75d29-924d-4f20-a157-9dc3e7880bd8" /> I have tried manually changing the provider when matching to Google Books, to make it easier to see when the provider is reset to default. That way: - Provider on library creation: iTunes - Provider chosen in the library settings: Audible.com - Provider chosen manually during matching: Google Books This made it clear that, when the provider gets reset, it is always reset to iTunes (chosen at the library creation), not Audible.com (currently chosen in the library settings). ### What did you expect to happen? The metadata provider is reset to the one chosen in the library options, not the one chosen at the library creation. ### Steps to reproduce the issue 1. Create a library with iTunes as the metadata provider 2. Add some books and try to match them: iTunes will be the default provider 4. Edit the library settings and change the metadata provider to Audible.com 3. Open a book and manually change the matching provider to Google Books, so that it keeps Google Books as provider for the next matches 6. Change libraries and refresh the page so that the default provider is reset and stops being Google Books (I haven't found a sure way to reset it, sometimes it does on refresh sometimes not, sometimes it does on library change sometimes not, so you might have to try both several times, or just clean and rebuild the container that should do it) 7. When the provider is reset, it will get reset to iTunes, not Audible.com ### Audiobookshelf version v2.28.0 ### How are you running audiobookshelf? Docker ### What OS is your Audiobookshelf server hosted from? Linux ### If the issue is being seen in the UI, what browsers are you seeing the problem on? Firefox ### Logs ```shell ``` ### Additional Notes I tried to stop the container, clean and rebuild the project, but it didn't help. It still defaults to iTunes. So I'll probably just delete the library and make a new one with the right provider this time, fortunately it's a new one so it won't take too long.
adam added the bug label 2026-04-25 00:12:26 +02:00
adam closed this issue 2026-04-25 00:12:28 +02:00
Author
Owner

@Phantomwise commented on GitHub (Aug 22, 2025):

Actually even after making a new library with Audible.com as provider, the provider still gets reset to iTunes, so maybe it's not a bug after all and it's the way it's intended to work? Sorry if that's the case.

@Phantomwise commented on GitHub (Aug 22, 2025): Actually even after making a new library with Audible.com as provider, the provider still gets reset to iTunes, so maybe it's not a bug after all and it's the way it's intended to work? Sorry if that's the case.
Author
Owner

@advplyr commented on GitHub (Aug 22, 2025):

The metadata provider you select when creating the library and the metadata provider you select when editing the library is the same thing. When you describe it it seems like you are considering them as different.

@advplyr commented on GitHub (Aug 22, 2025): The metadata provider you select when creating the library and the metadata provider you select when editing the library is the same thing. When you describe it it seems like you are considering them as different.
Author
Owner

@Phantomwise commented on GitHub (Aug 22, 2025):

Yes I thought they were supposed to be the same, which is why I thought it was a bug. But that was based on the assumption that, when you select a book and go to the "Match" tab, it would try to match the book with the provider chosen in the library setting. That's not what I got, when I do it defaults to iTunes (I can manually change it to something else, but it eventually reverts to iTunes, even if the provider selected is not iTunes). So I made the further assumption that it chose iTunes by default because that's the provider I chose when creating the library, and that it didn't register the change to Audible.com. But maybe I assumed wrong in both cases, maybe it's actually normal for the "Match" tab to use iTune by default even if it's not the provider selected in the library options?

@Phantomwise commented on GitHub (Aug 22, 2025): Yes I thought they were supposed to be the same, which is why I thought it was a bug. But that was based on the assumption that, when you select a book and go to the "Match" tab, it would try to match the book with the provider chosen in the library setting. That's not what I got, when I do it defaults to iTunes (I can manually change it to something else, but it eventually reverts to iTunes, even if the provider selected is not iTunes). So I made the further assumption that it chose iTunes by default because that's the provider I chose when creating the library, and that it didn't register the change to Audible.com. But maybe I assumed wrong in both cases, maybe it's actually normal for the "Match" tab to use iTune by default even if it's not the provider selected in the library options?
Author
Owner

@advplyr commented on GitHub (Aug 22, 2025):

I believe I found the bug and it has to do with switching to a podcast library and doing a match.

The provider that is selected in the match tab will first check to see if you have a provider saved in local storage. This is not library specific. See here:

Image

I'm not sure how familiar you are with webdev but you can open up the Application tab in developer tools and watch this value change when you run a search with a different provider on the match tab.

If you delete that key/value from local storage the match tab will use the library default.

Image

The bug is when switching to a podcast library and matching. It mistakenly updates the book-provider in local storage to iTunes (the only provider available for podcasts). It should only update the book-provider when changing the provider during a book library match.

@advplyr commented on GitHub (Aug 22, 2025): I believe I found the bug and it has to do with switching to a podcast library and doing a match. The provider that is selected in the match tab will first check to see if you have a provider saved in local storage. This is not library specific. See here: <img width="420" height="197" alt="Image" src="https://github.com/user-attachments/assets/abb5ddfd-d921-4831-b91d-08d6b82efd50" /> I'm not sure how familiar you are with webdev but you can open up the Application tab in developer tools and watch this value change when you run a search with a different provider on the match tab. If you delete that key/value from local storage the match tab will use the library default. <img width="272" height="146" alt="Image" src="https://github.com/user-attachments/assets/da29f997-3887-499d-8700-5f11dcefd421" /> The bug is when switching to a podcast library and matching. It mistakenly updates the `book-provider` in local storage to iTunes (the only provider available for podcasts). It should only update the `book-provider` when changing the provider during a book library match.
Author
Owner

@Phantomwise commented on GitHub (Aug 22, 2025):

I'm not sure how familiar you are with webdev but you can open up the Application tab in developer tools and watch this value change when you run a search with a different provider on the match tab.

I'm willing to try but I really have no idea what I am doing, I don't know how to get that value to show ^_^"

Image

Edit: Wait found it!

@Phantomwise commented on GitHub (Aug 22, 2025): > I'm not sure how familiar you are with webdev but you can open up the Application tab in developer tools and watch this value change when you run a search with a different provider on the match tab. I'm willing to try but I really have no idea what I am doing, I don't know how to get that value to show ^_^" <img width="1366" height="768" alt="Image" src="https://github.com/user-attachments/assets/c560e3dd-8b1a-4aa3-a6b2-757f3c46550a" /> Edit: Wait found it!
Author
Owner

@Phantomwise commented on GitHub (Aug 22, 2025):

I found it in another tab! And after some time checking now I feel very stupid.

Like you said, when I manually change the provider, the value gets set to the provider I choose, like book-provider:"audible" or book-provider:"google".

Image

What I did before was switch to other libraries, try to match, then coming back to the same one and try to match again. Redoing the same now, I realize that one the other libraries happens to be a podcast library, so when I switch to it and try to match I get book-provider:"itunes" since that's the only metadata provider available for podcasts. And when I go back to the previous book library, the provider stays iTunes until I manually change it back.

Image

The value doesn't seem to get overwritten with iTunes unless I'm matching a podcast.

The provider that is selected in the match tab will first check to see if you have a provider saved in local storage. This is not library specific. See here:

So the only problem was my wrong assumption that it was library specific...

If you delete that key/value from local storage the match tab will use the library default.

Not as far as I can see. When I delete the value it is recreated only when I try to match again, and then it gets recreated to the same value as it was before deleting it (if it was set to google before, it doesn't get recreated as book-provider:"audible" which is the library default, but as book-provider:"google").

Anyway thanks for explaining how to check it! ❤️

@Phantomwise commented on GitHub (Aug 22, 2025): I found it in another tab! And after some time checking now I feel very stupid. Like you said, when I manually change the provider, the value gets set to the provider I choose, like `book-provider:"audible"` or `book-provider:"google"`. <img width="1366" height="768" alt="Image" src="https://github.com/user-attachments/assets/b2f56960-9698-47f6-854f-29cff92999bc" /> What I did before was switch to other libraries, try to match, then coming back to the same one and try to match again. Redoing the same now, I realize that one the other libraries happens to be a podcast library, so when I switch to it and try to match I get `book-provider:"itunes"` since that's the only metadata provider available for podcasts. And when I go back to the previous book library, the provider stays iTunes until I manually change it back. <img width="1366" height="768" alt="Image" src="https://github.com/user-attachments/assets/ccaa3a91-2d63-4bbb-b698-136fb455243c" /> The value doesn't seem to get overwritten with iTunes unless I'm matching a podcast. > The provider that is selected in the match tab will first check to see if you have a provider saved in local storage. This is not library specific. See here: So the only problem was my wrong assumption that it was library specific... > If you delete that key/value from local storage the match tab will use the library default. Not as far as I can see. When I delete the value it is recreated only when I try to match again, and then it gets recreated to the same value as it was before deleting it (if it was set to google before, it doesn't get recreated as `book-provider:"audible"` which is the library default, but as `book-provider:"google"`). Anyway thanks for explaining how to check it! ❤️
Author
Owner

@github-actions[bot] commented on GitHub (Aug 26, 2025):

Fixed in v2.29.0.

@github-actions[bot] commented on GitHub (Aug 26, 2025): Fixed in [v2.29.0](https://github.com/advplyr/audiobookshelf/releases/tag/v2.29.0).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2964