mirror of
https://github.com/navidrome/navidrome.git
synced 2026-09-09 12:12:49 -04:00
Compare commits
base: mirror/navidrome:artwork-serving
mirror/navidrome:master
mirror/navidrome:update-translations
mirror/navidrome:fix-forceformat-directplay
mirror/navidrome:dependabot/go_modules/github.com/gohugoio/hashstructure-1.1.0
mirror/navidrome:dependabot/go_modules/github.com/pressly/goose/v3-3.28.0
mirror/navidrome:dependabot/go_modules/github.com/andybalholm/cascadia-1.3.5
mirror/navidrome:album-embed-art-dedup
mirror/navidrome:artwork-explain-ui
mirror/navidrome:ci-skip-unchanged
mirror/navidrome:fork-fixes
mirror/navidrome:pglite-spike
mirror/navidrome:dependabot/npm_and_yarn/ui/browserslist-4.28.8
mirror/navidrome:dependabot/npm_and_yarn/ui/nanoid-3.3.18
mirror/navidrome:dependabot/npm_and_yarn/ui/fast-uri-3.1.7
mirror/navidrome:db-repair
mirror/navidrome:dependabot/github_actions/dot-github/workflows/actions/stale-11
mirror/navidrome:album-list-count-perf
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-662fce0d3c
mirror/navidrome:dependabot/npm_and_yarn/ui/postcss-8.5.26
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-13a87b32b3
mirror/navidrome:dependabot/npm_and_yarn/ui/brace-expansion-1.1.18
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-52cb9ca78b
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-5e5bd67c27
mirror/navidrome:dependabot/npm_and_yarn/ui/immutable-4.3.9
mirror/navidrome:artwork-serving
mirror/navidrome:artwork-worker
mirror/navidrome:external-placeholder-images
mirror/navidrome:artwork-foundation
mirror/navidrome:dependabot/github_actions/dot-github/workflows/actions/setup-node-7
mirror/navidrome:dependabot/github_actions/dot-github/workflows/actions/setup-go-7
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-dde228c6a6
mirror/navidrome:album-cover-upload
mirror/navidrome:feat/artwork-blurhash
mirror/navidrome:perf/title-sort-covering-index
mirror/navidrome:fix/media-file-bpm-not-null
mirror/navidrome:dependabot/npm_and_yarn/ui/ws-8.21.0
mirror/navidrome:fix/web-player-stale-playindex-skip
mirror/navidrome:feat/now-playing-visibility-control
mirror/navidrome:fix/cjk-search-covering-indexes
mirror/navidrome:feat/pid-artist
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-0944dd0cca
mirror/navidrome:dependabot/docker/crazy-max/osxcross-26.1-debian
mirror/navidrome:dependabot/npm_and_yarn/ui/babel/plugin-transform-modules-systemjs-7.29.4
mirror/navidrome:dependabot/npm_and_yarn/ui/testing-library/react-hooks-8.0.1
mirror/navidrome:dependabot/npm_and_yarn/ui/workbox-cli-7.4.1
mirror/navidrome:dependabot/npm_and_yarn/ui/react-drag-listview-2.0.0
mirror/navidrome:fix/scanner-empty-admin-user
mirror/navidrome:fix/artwork-top-level-album-parent
mirror/navidrome:fix/ext-auth-network-error
mirror/navidrome:dependabot/npm_and_yarn/ui/jsdom-29.1.0
mirror/navidrome:dependabot/npm_and_yarn/ui/vitest/coverage-v8-4.1.4
mirror/navidrome:dependabot/npm_and_yarn/ui/types/node-25.6.0
mirror/navidrome:feat/playlist-generator-capability
mirror/navidrome:fix/allow-users-without-libraries
mirror/navidrome:feat/transcoding-throttle
mirror/navidrome:feat/smart-playlist-background-eval
mirror/navidrome:feat/spellfix1-static
mirror/navidrome:copilot/add-instant-mix-button-another-one
mirror/navidrome:copilot/add-instant-mix-player-action-again
mirror/navidrome:copilot/add-instant-mix-button-again
mirror/navidrome:copilot/add-instant-mix-button
mirror/navidrome:copilot/add-instant-mix-player-action
mirror/navidrome:custom-collation-function
mirror/navidrome:claude/api-mediafiles-abstraction-XZ24V
mirror/navidrome:plugins-endpoints
mirror/navidrome:claude/create-release-workflow-Ylmsr
mirror/navidrome:os-fix-scrobble-response
mirror/navidrome:claude/add-tidal-metadata-agent-5fDRc
mirror/navidrome:global-nsp
mirror/navidrome:copilot/sub-pr-4770
mirror/navidrome:hr0kaq-codex/display-owner-in-playlistshow-view
mirror/navidrome:copilot/refactor-maintenance-operations
mirror/navidrome:copilot/fix-unicode-normalization-issue
mirror/navidrome:postgres
mirror/navidrome:new-api
mirror/navidrome:v0.63.2
mirror/navidrome:v0.63.1
mirror/navidrome:v0.63.0
mirror/navidrome:v0.62.0
mirror/navidrome:v0.61.2
mirror/navidrome:v0.61.1
mirror/navidrome:v0.61.0
mirror/navidrome:v0.60.3
mirror/navidrome:v0.60.2
mirror/navidrome:v0.60.0
mirror/navidrome:v0.59.0
mirror/navidrome:v0.58.5
mirror/navidrome:v0.58.0
mirror/navidrome:v0.57.0
mirror/navidrome:v0.56.1
mirror/navidrome:v0.56.0
mirror/navidrome:v0.55.2
mirror/navidrome:v0.55.1
mirror/navidrome:v0.55.0
mirror/navidrome:v0.54.5
mirror/navidrome:v0.54.4
mirror/navidrome:v0.54.3
mirror/navidrome:v0.54.2
mirror/navidrome:v0.54.1
mirror/navidrome:v0.53.3
mirror/navidrome:v0.53.2
mirror/navidrome:v0.53.1
mirror/navidrome:v0.53.0
mirror/navidrome:v0.52.5
mirror/navidrome:v0.52.0
mirror/navidrome:v0.51.1
mirror/navidrome:v0.51.0
mirror/navidrome:v0.50.2
mirror/navidrome:v0.50.1
mirror/navidrome:v0.50.0
mirror/navidrome:v0.49.3
mirror/navidrome:v0.49.2
mirror/navidrome:v0.49.1
mirror/navidrome:v0.49.0
mirror/navidrome:v0.48.0
mirror/navidrome:v0.47.5
mirror/navidrome:v0.47.0
mirror/navidrome:v0.46.0
mirror/navidrome:v0.45.1
mirror/navidrome:v0.45.0
mirror/navidrome:v0.44.1
mirror/navidrome:v0.44.0
mirror/navidrome:v0.43.0
mirror/navidrome:v0.42.1
mirror/navidrome:v0.42.0
mirror/navidrome:v0.41.1
mirror/navidrome:v0.41.0
mirror/navidrome:v0.40.0
mirror/navidrome:v0.39.0
mirror/navidrome:v0.38.0
mirror/navidrome:v0.37.0
mirror/navidrome:v0.36.1
mirror/navidrome:v0.36.0
mirror/navidrome:v0.35.1
mirror/navidrome:v0.35.0
mirror/navidrome:v0.34.1
mirror/navidrome:v0.34.0
mirror/navidrome:v0.33.0
mirror/navidrome:v0.32.0
mirror/navidrome:v0.31.0
mirror/navidrome:v0.30.1
mirror/navidrome:v0.30.0
mirror/navidrome:v0.29.0
mirror/navidrome:v0.28.0
mirror/navidrome:v0.27.0
mirror/navidrome:v0.26.1
mirror/navidrome:v0.26.0
mirror/navidrome:v0.25.0
mirror/navidrome:v0.24.0
mirror/navidrome:v0.23.1
mirror/navidrome:v0.23.0
mirror/navidrome:v0.22.0
mirror/navidrome:v0.21.0
mirror/navidrome:v0.20.0
mirror/navidrome:v0.19.0
mirror/navidrome:v0.18.0
mirror/navidrome:v0.17.0
mirror/navidrome:v0.16.1
mirror/navidrome:v0.16.0
mirror/navidrome:v0.15.0
mirror/navidrome:v0.14.5
mirror/navidrome:v0.14.4
mirror/navidrome:v0.14.3
mirror/navidrome:v0.14.2
mirror/navidrome:v0.14.1
mirror/navidrome:v0.14.0
mirror/navidrome:v0.13.0
mirror/navidrome:v0.12.0
mirror/navidrome:v0.11.1
mirror/navidrome:v0.11.0
mirror/navidrome:v0.10.0
mirror/navidrome:v0.9.3
mirror/navidrome:v0.9.2
mirror/navidrome:v0.9.1
mirror/navidrome:v0.9.0
mirror/navidrome:v0.8.4
mirror/navidrome:v0.8.3
mirror/navidrome:v0.8.2
mirror/navidrome:v0.8.1
mirror/navidrome:v0.8.0
mirror/navidrome:v0.7.3
mirror/navidrome:v0.7.2
mirror/navidrome:v0.7.1
mirror/navidrome:v0.7.0
mirror/navidrome:v0.6.2
mirror/navidrome:v0.6.1
mirror/navidrome:v0.6.0
mirror/navidrome:v0.5.0
mirror/navidrome:v0.4.2
mirror/navidrome:v0.4.1
mirror/navidrome:v0.4.0
mirror/navidrome:v0.3.2
mirror/navidrome:v0.3.1
mirror/navidrome:v0.3.0
...
compare: mirror/navidrome:fix/scanner-empty-admin-user
mirror/navidrome:master
mirror/navidrome:update-translations
mirror/navidrome:fix-forceformat-directplay
mirror/navidrome:dependabot/go_modules/github.com/gohugoio/hashstructure-1.1.0
mirror/navidrome:dependabot/go_modules/github.com/pressly/goose/v3-3.28.0
mirror/navidrome:dependabot/go_modules/github.com/andybalholm/cascadia-1.3.5
mirror/navidrome:album-embed-art-dedup
mirror/navidrome:artwork-explain-ui
mirror/navidrome:ci-skip-unchanged
mirror/navidrome:fork-fixes
mirror/navidrome:pglite-spike
mirror/navidrome:dependabot/npm_and_yarn/ui/browserslist-4.28.8
mirror/navidrome:dependabot/npm_and_yarn/ui/nanoid-3.3.18
mirror/navidrome:dependabot/npm_and_yarn/ui/fast-uri-3.1.7
mirror/navidrome:db-repair
mirror/navidrome:dependabot/github_actions/dot-github/workflows/actions/stale-11
mirror/navidrome:album-list-count-perf
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-662fce0d3c
mirror/navidrome:dependabot/npm_and_yarn/ui/postcss-8.5.26
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-13a87b32b3
mirror/navidrome:dependabot/npm_and_yarn/ui/brace-expansion-1.1.18
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-52cb9ca78b
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-5e5bd67c27
mirror/navidrome:dependabot/npm_and_yarn/ui/immutable-4.3.9
mirror/navidrome:artwork-serving
mirror/navidrome:artwork-worker
mirror/navidrome:external-placeholder-images
mirror/navidrome:artwork-foundation
mirror/navidrome:dependabot/github_actions/dot-github/workflows/actions/setup-node-7
mirror/navidrome:dependabot/github_actions/dot-github/workflows/actions/setup-go-7
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-dde228c6a6
mirror/navidrome:album-cover-upload
mirror/navidrome:feat/artwork-blurhash
mirror/navidrome:perf/title-sort-covering-index
mirror/navidrome:fix/media-file-bpm-not-null
mirror/navidrome:dependabot/npm_and_yarn/ui/ws-8.21.0
mirror/navidrome:fix/web-player-stale-playindex-skip
mirror/navidrome:feat/now-playing-visibility-control
mirror/navidrome:fix/cjk-search-covering-indexes
mirror/navidrome:feat/pid-artist
mirror/navidrome:dependabot/npm_and_yarn/ui/multi-0944dd0cca
mirror/navidrome:dependabot/docker/crazy-max/osxcross-26.1-debian
mirror/navidrome:dependabot/npm_and_yarn/ui/babel/plugin-transform-modules-systemjs-7.29.4
mirror/navidrome:dependabot/npm_and_yarn/ui/testing-library/react-hooks-8.0.1
mirror/navidrome:dependabot/npm_and_yarn/ui/workbox-cli-7.4.1
mirror/navidrome:dependabot/npm_and_yarn/ui/react-drag-listview-2.0.0
mirror/navidrome:fix/scanner-empty-admin-user
mirror/navidrome:fix/artwork-top-level-album-parent
mirror/navidrome:fix/ext-auth-network-error
mirror/navidrome:dependabot/npm_and_yarn/ui/jsdom-29.1.0
mirror/navidrome:dependabot/npm_and_yarn/ui/vitest/coverage-v8-4.1.4
mirror/navidrome:dependabot/npm_and_yarn/ui/types/node-25.6.0
mirror/navidrome:feat/playlist-generator-capability
mirror/navidrome:fix/allow-users-without-libraries
mirror/navidrome:feat/transcoding-throttle
mirror/navidrome:feat/smart-playlist-background-eval
mirror/navidrome:feat/spellfix1-static
mirror/navidrome:copilot/add-instant-mix-button-another-one
mirror/navidrome:copilot/add-instant-mix-player-action-again
mirror/navidrome:copilot/add-instant-mix-button-again
mirror/navidrome:copilot/add-instant-mix-button
mirror/navidrome:copilot/add-instant-mix-player-action
mirror/navidrome:custom-collation-function
mirror/navidrome:claude/api-mediafiles-abstraction-XZ24V
mirror/navidrome:plugins-endpoints
mirror/navidrome:claude/create-release-workflow-Ylmsr
mirror/navidrome:os-fix-scrobble-response
mirror/navidrome:claude/add-tidal-metadata-agent-5fDRc
mirror/navidrome:global-nsp
mirror/navidrome:copilot/sub-pr-4770
mirror/navidrome:hr0kaq-codex/display-owner-in-playlistshow-view
mirror/navidrome:copilot/refactor-maintenance-operations
mirror/navidrome:copilot/fix-unicode-normalization-issue
mirror/navidrome:postgres
mirror/navidrome:new-api
mirror/navidrome:v0.63.2
mirror/navidrome:v0.63.1
mirror/navidrome:v0.63.0
mirror/navidrome:v0.62.0
mirror/navidrome:v0.61.2
mirror/navidrome:v0.61.1
mirror/navidrome:v0.61.0
mirror/navidrome:v0.60.3
mirror/navidrome:v0.60.2
mirror/navidrome:v0.60.0
mirror/navidrome:v0.59.0
mirror/navidrome:v0.58.5
mirror/navidrome:v0.58.0
mirror/navidrome:v0.57.0
mirror/navidrome:v0.56.1
mirror/navidrome:v0.56.0
mirror/navidrome:v0.55.2
mirror/navidrome:v0.55.1
mirror/navidrome:v0.55.0
mirror/navidrome:v0.54.5
mirror/navidrome:v0.54.4
mirror/navidrome:v0.54.3
mirror/navidrome:v0.54.2
mirror/navidrome:v0.54.1
mirror/navidrome:v0.53.3
mirror/navidrome:v0.53.2
mirror/navidrome:v0.53.1
mirror/navidrome:v0.53.0
mirror/navidrome:v0.52.5
mirror/navidrome:v0.52.0
mirror/navidrome:v0.51.1
mirror/navidrome:v0.51.0
mirror/navidrome:v0.50.2
mirror/navidrome:v0.50.1
mirror/navidrome:v0.50.0
mirror/navidrome:v0.49.3
mirror/navidrome:v0.49.2
mirror/navidrome:v0.49.1
mirror/navidrome:v0.49.0
mirror/navidrome:v0.48.0
mirror/navidrome:v0.47.5
mirror/navidrome:v0.47.0
mirror/navidrome:v0.46.0
mirror/navidrome:v0.45.1
mirror/navidrome:v0.45.0
mirror/navidrome:v0.44.1
mirror/navidrome:v0.44.0
mirror/navidrome:v0.43.0
mirror/navidrome:v0.42.1
mirror/navidrome:v0.42.0
mirror/navidrome:v0.41.1
mirror/navidrome:v0.41.0
mirror/navidrome:v0.40.0
mirror/navidrome:v0.39.0
mirror/navidrome:v0.38.0
mirror/navidrome:v0.37.0
mirror/navidrome:v0.36.1
mirror/navidrome:v0.36.0
mirror/navidrome:v0.35.1
mirror/navidrome:v0.35.0
mirror/navidrome:v0.34.1
mirror/navidrome:v0.34.0
mirror/navidrome:v0.33.0
mirror/navidrome:v0.32.0
mirror/navidrome:v0.31.0
mirror/navidrome:v0.30.1
mirror/navidrome:v0.30.0
mirror/navidrome:v0.29.0
mirror/navidrome:v0.28.0
mirror/navidrome:v0.27.0
mirror/navidrome:v0.26.1
mirror/navidrome:v0.26.0
mirror/navidrome:v0.25.0
mirror/navidrome:v0.24.0
mirror/navidrome:v0.23.1
mirror/navidrome:v0.23.0
mirror/navidrome:v0.22.0
mirror/navidrome:v0.21.0
mirror/navidrome:v0.20.0
mirror/navidrome:v0.19.0
mirror/navidrome:v0.18.0
mirror/navidrome:v0.17.0
mirror/navidrome:v0.16.1
mirror/navidrome:v0.16.0
mirror/navidrome:v0.15.0
mirror/navidrome:v0.14.5
mirror/navidrome:v0.14.4
mirror/navidrome:v0.14.3
mirror/navidrome:v0.14.2
mirror/navidrome:v0.14.1
mirror/navidrome:v0.14.0
mirror/navidrome:v0.13.0
mirror/navidrome:v0.12.0
mirror/navidrome:v0.11.1
mirror/navidrome:v0.11.0
mirror/navidrome:v0.10.0
mirror/navidrome:v0.9.3
mirror/navidrome:v0.9.2
mirror/navidrome:v0.9.1
mirror/navidrome:v0.9.0
mirror/navidrome:v0.8.4
mirror/navidrome:v0.8.3
mirror/navidrome:v0.8.2
mirror/navidrome:v0.8.1
mirror/navidrome:v0.8.0
mirror/navidrome:v0.7.3
mirror/navidrome:v0.7.2
mirror/navidrome:v0.7.1
mirror/navidrome:v0.7.0
mirror/navidrome:v0.6.2
mirror/navidrome:v0.6.1
mirror/navidrome:v0.6.0
mirror/navidrome:v0.5.0
mirror/navidrome:v0.4.2
mirror/navidrome:v0.4.1
mirror/navidrome:v0.4.0
mirror/navidrome:v0.3.2
mirror/navidrome:v0.3.1
mirror/navidrome:v0.3.0
4
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
fec03d8780 |
fix(scanner): check user ID instead of IsAdmin for playlist import guard
The condition `!u.IsAdmin && u.ID == ""` was wrong — with the synthetic admin fallback (IsAdmin: true, ID: ""), it evaluated to false and allowed playlist import with an empty OwnerID. The check should be just `u.ID == ""` to skip whenever there's no real user. |
||
|
|
5b01636d33 |
Revert "fix(scanner): skip library filter for empty user ID on fresh installs"
This reverts commit
|
||
|
|
fda536ff17 |
fix(playlists): prevent playlist import when no admin user exists
Signed-off-by: Deluan <deluan@navidrome.org> |
||
|
|
91647ed46f |
fix(scanner): skip library filter for empty user ID on fresh installs
When no admin user exists (fresh DB), WithAdminUser falls back to
model.User{ID: ""}. The empty ID bypassed neither the invalidUserId
("-1") check nor the IsAdmin check in applyLibraryFilter, causing
Phase 3's GetTouchedAlbums to filter by user_id="" and find zero
albums. The album refresh never ran, leaving multi-disc albums with
incomplete folder_ids from Phase 1.
Fix: treat empty user ID the same as invalidUserId in
applyLibraryFilter, skipping the library filter entirely. This is
more targeted than making the fallback user admin, which would affect
other callers like Phase 4 playlist import.
Signed-off-by: Deluan <deluan@navidrome.org>
|
1 changed files with 1 additions and 1 deletions
@@ -50,7 +50,7 @@ func (p *phasePlaylists) produce(put func(entry *model.Folder)) error {
|
||||
return nil
|
||||
}
|
||||
u, _ := request.UserFrom(p.ctx)
|
||||
if !u.IsAdmin {
|
||||
if u.ID == "" {
|
||||
log.Warn(p.ctx, "Playlists will not be imported, as there are no admin users yet, "+
|
||||
"Please create an admin user first, and then update the playlists for them to be imported")
|
||||
return nil
|
||||
|
||||
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.