mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
[Bug]: Match & Out of Print Audible Titles #2763
Closed
opened 2026-04-25 00:10:17 +02:00 by adam
·
6 comments
No Branch/Tag Specified
master
book_tags_genres_dedupe
episode_download_fallback
Issue-4540-SortBy-StartedDate-and-FinishedDate
episode_meta_tagging
fix_authorize_race_condition
redirect_transcode_requests
progress_updated_sort
fix_ereader_socket_event
fix_change_empty_root_password
fix_podcast_session_track_index
fix_set_token
session_modal_user
localize_durations
fix_oidc_create_user
jwt_auth_refactor
fix_scanner_deleting_single_file_books
fix_mediaprogress_updatedat_2
experimental_next_client
podcast_episode_duration
episode-timestamps-clickable
book_author_secondary_sort_title
podcast_useragents
pathexists_user_access
fix_pathexists_join
book_author_secondary_sort
clean_duplicate_mediaprogress
sanitize_html_description
trix_prevent_attachments
check_path_api_fix
fix_mediaprogress_updatedat
increase_express_json_limit
fix_dockerfile_nunicode
search_episodes
audiobook_tools_update
episode_secondary_sorts
hls_stream_url_update
new_session_track_endpoint
audiobook_tools_enhancements
watcher_rescans_update
player_track_tooltip
fix_exclude_prefixes_crash
socket_item_events
fix_podcast_episode_scanner_promise
new_stats_controller
count_cache_for_userpermissions
parsing-opf-v3
validate_migration_files
fix-quick-match-all-crash
fix-chapter-end-sleep-timer
stringify_sequelize_query
remove-col-ambiguity
fix_next_prev_edit_description
details_trim_whitespace
fix_content_url_basepath
fix_logger_fatal
progress_bar_visibility
batch-edit-populate-map-details
feed_generator_updates
bookmark-modal-updates
migrate-library-item-in-scanner
migrate-new-library-items
migrate-podcasts-new-library-item-2
migrate-podcasts-new-library-item
fix-remove-episode-from-playlist
playback-session-use-new-library-item
refactor-library-item
fix-heatmap-caption
feed-episodes-upsert
share-media-player-media-session-api
remove-old-playlist
remove_old_collection_object
plugin-implementation-demo
feed_migration
refactor-feeds-from-item
fix_remove_authors_no_books
v2.17.3-fk-constraints-migration
migrations-first-upgrade
sqlite_2
feature/nuxt-target-server
waveform
sqlite
playlists
video
v2.35.1
v2.35.0
v2.34.0
v2.33.2
v2.33.1
v2.33.0
v2.32.1
v2.32.0
v2.31.0
v2.30.0
v2.29.0
v2.28.0
v2.27.0
v2.26.3
v2.26.2
v2.26.1
v2.26.0
v2.25.1
v2.25.0
v2.24.0
v2.23.0
v2.22.0
v2.21.0
v2.20.0
v2.19.5
v2.19.4
v2.19.3
v2.19.2
v2.19.1
v2.19.0
v2.18.1
v2.18.0
v2.17.7
v2.17.6
v2.17.5
v2.17.4
v2.17.3
v2.17.2
v2.17.1
v2.17.0
v2.16.2
v2.16.1
v2.16.0
v2.15.1
v2.15.0
v2.14.0
v2.13.4
v2.13.3
v2.13.2
v2.13.1
v2.13.0
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.11.0
v2.10.1
v2.10.0
v2.9.0
v2.8.1
v2.8.0
v2.7.2
v2.7.1
v2.7.0
v2.6.0
v2.5.0
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.23
v2.2.22
v2.2.21
v2.2.20
v2.2.19
v2.2.18
v2.2.17
v2.2.16
v2.2.15
v2.2.14
v2.2.13
v2.2.12
v2.2.11
v2.2.10
v2.2.9
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.5
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.19
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v1.7.2
v1.7.1
v1.7.0
v1.6.0
v1.5.5
v1.5.0
v1.4.11
v1.4.9
v1.4.7
v1.4.6
v1.4.4
v1.4.2
v1.4.0
v1.4.1
v1.3.4
v1.3.3
v1.3.1
v1.2.8
v1.2.6
v1.2.5
v1.2.4
v1.2.1
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.9
v1.1.8
v1.0.0
0.9.61-beta.0
0.9.61-beta
Labels
Clear labels
authentication
backlog
bug
chapter editor
config-issue
ebooks
encoding/embedding
enhancement
help wanted
listening sessions & progress
planned
possible plugin
progress sync
pull-request
sorting/filtering/searching
unable to reproduce
upload
users & permissions
waiting
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
adam (Adam Melkus)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/audiobookshelf#2763
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking 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?
Originally created by @LeeThompson on GitHub (May 10, 2025).
What happened?
If you match (or worse, quick match) an Audible title that has been reissued or discontinued some "bad things" happen:
If it has been reissued: All information (including reader if it changed) will be updated to reflect the reissue.
If it hasn't been reissued and isn't available any longer if you're lucky nothing will happen but if the title matches too much you'll get a completely different book wiping out all of the information about that book.
If you're doing a match, you can catch these before the "damage" is done. With a quick match you will end up doing a lot of fixing.
What did you expect to happen?
The software needs to make some better decisions.
If matching and the ASIN doesn't match, do not change any records.
If the ASIN isn't present in the current audiobookshelf record; double check title & author (and series if applicable).
Steps to reproduce the issue
This is a bit difficult to reproduce as you would have to own a discontinued or revised titles.
I will give examples for both cases.
In 2013 Audible released a science-fiction audiobook by Michael McCollum titled "The Clouds of Saturn". (ASIN: B00B89GKI8). Doing a quick match or match in audiobookshelf has it match with a book called "Saturn's Story" by Jill Logan. (ASIN: B0DYFR8CYC)
In 2017 Audible released "Cold Welcome" by Elizabeth Moon (ASIN: B06Y2H1WCT) with narrator Brittany Pressley. In 2024 this book was reissued with a new recording (ASIN B0D8517NWS) with narrator Carrie Coello. No matter what the ASIN and release year are set in audiobookshelf, it will switch the meta information to the reissue.
Audiobookshelf version
v2.21.0
How are you running audiobookshelf?
Docker
What OS is your Audiobookshelf server hosted from?
Other (list in "Additional Notes" box)
If the issue is being seen in the UI, what browsers are you seeing the problem on?
None
Logs
Additional Notes
Synology host (Debian variant)
@nichwall commented on GitHub (May 10, 2025):
This is really only an issue with quick match, because add you said the user can validate any changes using a normal match.
Quick Match uses the first result from the metadata provider you selected. If it doesn't exist, then you will get "random" data.
Related to https://github.com/advplyr/audiobookshelf/issues/841
@mikiher commented on GitHub (May 11, 2025):
Yeah, for some time I've been wanting to implement some match confidence score that estimates how likely it is that a match result is the right one. It doesn't seem like a hard thing to achieve - obviously, the best clue is the duration difference (which is why matches are ordered by duration diff), and you can of course add additional signals.
After you have that score, the question becomes what to do when you quick match and the match confidence score is below some threshold. There are a number of possible options, but at the minimum, you can just reject the match, which shouldn't be hard to implement.
Does this sound like good approach? I can take a stab at implementing this.
@advplyr commented on GitHub (May 11, 2025):
I think match confidence is a good idea.
It would be easier to write the match confidence algorithm to work for any provider including custom providers if the providers were standardized. I've wanted to standardize providers for a while. It is a bigger project so it wouldn't need to be a part of the match confidence update.
Plenty of users organize their ebooks in Abs which is a lot harder to match confidently without duration.
As far as the UI/UX for this, I like the suggestion of allowing you to accept the results of the quick match before saving (in #841). I'm not sure what that would look like but my initial thought is a dialog opens up (similar to the series inner dialog) showing the results of the quick match, confidence score, and the list of values that will be updated.
The reason I like that better than updating the inputs in the edit modal is it will allow us to put information about the match, like match confidence score, and it will be easier to show the user which fields will be updated.
@mikiher commented on GitHub (May 11, 2025):
I can try to write a default one using existing metadata from providers. They are already mostly returning roughly the same fields, aren't they? I'll need to look at the code.
Not sure if that's much harder. You can get a lot of metadata from the book itself (assuming it's an epub or pdf), especially the publisher which can distinguish between editions.
My thought was to at least initially separate between ebooks and audiobooks. The match confidence algorithm would be somewhat different.
Sure. And we also need to deal with bulk matching, which makes this a little more complicated.
@advplyr commented on GitHub (May 11, 2025):
Yeah mostly the same but it is messy.
Makes sense
Yeah we should leave the confirmation step out of bulk matching for now.
There are 2 types of bulk matching. Bulk matching the entire library and bulk matching selected items.
Bulk matching the entire library won't make sense to build a confirmation step for. Maybe we add a library setting in the future to set a cut off on how low the confidence score can be for the match to be accepted.
There are feature requests open for locking items from being able to get changed, locking individual fields on items, and locking specific fields across the whole library. Those types of features could be helpful for bulk matching
@LeeThompson commented on GitHub (May 13, 2025):
This all seems to be a step in the right direction.