mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
[Bug] Some authors have lastFirst set to null #1577
Open
opened 2026-04-24 23:50:33 +02:00 by adam
·
8 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#1577
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 @nichwall on GitHub (Dec 4, 2023).
Describe the issue
(reported in Discord)
Some authors do not have
lastFirstset, causing authors to be sorted incorrectly. This can also cause duplicate authors to appear. (https://discord.com/channels/942908292873723984/942914154254176257/1181034467087876166)This may also be what is causing duplicate authors in other languages (https://discord.com/channels/942908292873723984/942908295579062335/1179099817088135188)

Steps to reproduce the issue
2.3.3and attempted upgrades to new releases when they come out (2.4.xthrough2.6.0) before reverting to2.3.3due to performance bugs and some things not being sorted (authors).Audiobookshelf version
2.3.3,2.4.x,2.5.0,2.6.0How are you running audiobookshelf?
Docker
@nichwall commented on GitHub (Dec 4, 2023):
This may have been introduced before
2.5.0and not really noticed until2.5.0because of changes regarding whether authors without books are displayed or not (and admin vs regular user views). Prior to that the main symptom would have been sorting out of order.@advplyr commented on GitHub (Dec 4, 2023):
I don't think the duplicate authors has to do with the
lastFirstissue but maybe I'm missing something@nichwall commented on GitHub (Dec 4, 2023):
It may not be related, I was just documenting the issue where the column isn't populated and thought to add it in case others notice duplicates as well. I feel like it's been mentioned a few times lately but I can't remember who/when/where.
@nichwall commented on GitHub (Dec 5, 2023):
What may have happened is the
lastFirstcolumn did not exist in2.3.3, but did exist in2.4.3(I haven't gone through all of the2.4.x, those were just two servers I already had set up when I looked at their databases).We recommended rolling back to
2.3.3without needing to restore from a backup because new columns were added in2.4.xbut weren't used in2.3.3and that simplified the "test out the new version" for users. So, if a user upgraded and decided they wanted to roll back to2.3.3, the column would exist on the2.3.3version but not be populated by new entries, and then not migrated when upgrading again since the column already existed. I think, not 100% sure on how the migration works.This might explain why authors added in
2.3.3for UndeadWookie had sorting issues after upgrading (since they rolled back to2.3.3). I am leaning towards this also causing duplicate authors because of adding Defiant by Brandon Sanderson (on2.3.3) caused a duplicate author because the "real" Sanderson had thelastFirstcolumn filled, but the "new" did not, causing a duplicate.It may be worth adding a check for all Null fields (that shouldn't be Null) in the database during startup just to make sure everything is populated. Not sure if that would handle duplicates.
@nichwall commented on GitHub (Dec 5, 2023):
After further Discord discussion, it's probably not causing the duplicate authors, and isn't true for every book/author/series added in
2.3.3so there may be someone else going on.@Hallo951 commented on GitHub (Dec 6, 2023):
I had the same problem. In my case, the error was caused by the new scanner settings. For test purposes, I had set the "folder structure" to the highest priority and rescanned my database. As a result, the authors in all audiobooks for which the folder structure did not match the author stored in the metafile were overwritten with the information from the folder structure. For example, if I have various audiobooks written by several authors in the "Multible Authors" folder, the correct authors are replaced by the name "Multible Authors" in the "Folder Structure" scanner setting. In this case, however, the correct/original author portraits with 0 books remain on the author page. The same phenomenon occurs if the top folder name of an audiobook, which represents the author name, differs from the author name stored in the database for the same audiobook (e.g. due to a space). If this is the case, a new author is created on the authors' overview page and you have two authors who appear identical but are actually different.
@nichwall commented on GitHub (Feb 3, 2024):
I think I found the problem. The
migrationPatch2function skips the migration if the columns already exist, so if a user rolls back to a previous version then it will skip this part of the update.https://github.com/advplyr/audiobookshelf/blob/432e25565e9a4aca43d9c3194f7babe89eb6206b/server/utils/migrations/dbMigration.js#L1627-L1630
@pwinnski commented on GitHub (Sep 23, 2024):
I installed this very recently, so recently that right now I'm cursing github's use of "3 weeks ago" in lieu of actual useful dates. I genuinely can't figure out if I started with v2.13.1 or v2.13.2, but I installed whatever the "latest" docker tag pointed to on 2024-08-31.
Oh yes! The docker registry is MUCH better, when you hover over "3 weeks ago" it gives you a date and time. So I started with v2.13.0, no migrationPath2 for me.
I do note there's been a fix related to this very issue in v2.13.2, in this commit: https://github.com/advplyr/audiobookshelf/commit/db86bfd63d7011fdd1323d5a9c8325861f1b65b2