Deluan
2a81ec9b5a
docs: update plugin system design with security enhancements
...
Added local network access control flag, plugin verification system, and capabilities declaration to the HLD. Updated implementation plan to remove UserPreference functionality from PoC scope while maintaining security features like local network control and hash verification. Added future extensions section outlining potential plugin types beyond metadata agents.
2025-04-13 10:18:28 -04:00
Deluan
4d4625c766
docs: Add table of contents to plugin HLD
...
Add a two-level TOC with links to all major sections of the document
2025-04-13 00:15:08 -04:00
Deluan
626e5a7bb0
docs: Add plugin directory structure info and implementation plan
...
- Add section 5.6 describing the plugin directory structure\n- Add new implementation plan document with phased approach\n- Include progress tracking with checkboxes
2025-04-13 00:10:23 -04:00
Deluan
41535b54f5
docs: Add agent system integration to plugin HLD
...
- Add section 3.7 describing integration with existing agent system\n- Include visualization diagram of plugin-agent architecture\n- Document plugin adapter approach and future evolutions
2025-04-12 23:30:08 -04:00
Deluan
7e835b4557
Update plugin initialization flow to pass configuration during Init()
2025-04-12 22:05:45 -04:00
Deluan
67c4fa2c9d
Improve sequence diagram by breaking down Navidrome Core into specific components
2025-04-12 21:38:05 -04:00
Deluan
438fd93d8e
Clarify Permission Manager responsibilities in HLD
2025-04-12 21:33:54 -04:00
Deluan
96f446c4a0
Add support for wildcard URL permissions in plugin system
2025-04-12 18:46:27 -04:00
Deluan
449dd53edf
Add High-Level Design document for plugin system
2025-04-12 17:19:25 -04:00
Deluan
a6f1f7b7e3
fix(server): albumtype in Smart Playlists
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-11 23:53:16 -04:00
Deluan Quintão
49b8cfc261
fix(artwork): always select the coverArt of the first disc in multi-disc albums ( #3950 )
...
* feat(artwork): sort image files for consistent cover art selection
Signed-off-by: Deluan <deluan@navidrome.org>
* feat(artwork): improve album cover art selection by considering disc numbers
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-11 23:39:57 -04:00
Deluan
bcea8b832a
chore(deps): update Go version to 1.24.2 in go.mod
2025-04-11 23:18:00 -04:00
Deluan Quintão
58367afaea
refactor: external_metadata -> external.Provider ( #3903 )
...
* tests for TopSongs
Signed-off-by: Deluan <deluan@navidrome.org>
* convert to Ginkgo
Signed-off-by: Deluan <deluan@navidrome.org>
* consolidate tests
Signed-off-by: Deluan <deluan@navidrome.org>
* rename external metadata -wip
Signed-off-by: Deluan <deluan@navidrome.org>
* rename external metadata to extdata.Provider
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor tests - wip
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor test helpers
Signed-off-by: Deluan <deluan@navidrome.org>
* remove reflection
Signed-off-by: Deluan <deluan@navidrome.org>
* use mock.Mock
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor
Signed-off-by: Deluan <deluan@navidrome.org>
* fix
Signed-off-by: Deluan <deluan@navidrome.org>
* receive Agents interface in Provider constructor
Signed-off-by: Deluan <deluan@navidrome.org>
* use mock for Agents
Signed-off-by: Deluan <deluan@navidrome.org>
* tests for SimilarSongs
Signed-off-by: Deluan <deluan@navidrome.org>
* remove duplication
Signed-off-by: Deluan <deluan@navidrome.org>
* ArtistImage tests
Signed-off-by: Deluan <deluan@navidrome.org>
* AlbumImage tests
Signed-off-by: Deluan <deluan@navidrome.org>
* fix provider error handling
Signed-off-by: Deluan <deluan@navidrome.org>
* UpdateAlbumInfo tests - wip
Signed-off-by: Deluan <deluan@navidrome.org>
* UpdateAlbumInfo tests - wip
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor
Signed-off-by: Deluan <deluan@navidrome.org>
* UpdateArtistInfo tests - wip
Signed-off-by: Deluan <deluan@navidrome.org>
* clean up
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor
Signed-off-by: Deluan <deluan@navidrome.org>
* fix test descriptions
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor: rename extdata package to external
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-08 21:11:09 -04:00
Deluan
6b59f5f73a
feat(ui): add genre and mood fields to AlbumSongs component
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-08 18:13:37 -04:00
Deluan Quintão
5f0c1e7387
chore(deps) upgrade Go dependencies, including golangci-lint ( #3937 )
...
* chore(deps): update Go dependencies
Signed-off-by: Deluan <deluan@navidrome.org>
* chore(deps): upgrade golangci-lint
Signed-off-by: Deluan <deluan@navidrome.org>
* build: upgrade golangci-lint-action to v7
Signed-off-by: Deluan <deluan@navidrome.org>
* go mod tidy
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-07 19:42:00 -03:00
Deluan Quintão
a057a680f1
fix(ui): update Greek, Esperanto, Polish, Russian, Turkish translations from POEditor ( #3894 )
...
Co-authored-by: navidrome-bot <navidrome-bot@navidrome.org>
v0.55.2
2025-04-05 08:54:29 -03:00
Deluan Quintão
f9081bbe6b
fix(server): first user created should be admin, when using reverse proxy ( #3920 )
...
Fix #3902
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-05 08:24:14 -03:00
Deluan Quintão
73eb0e254b
feat(ui): add mood column to Album and Song list views ( #3925 )
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-05 08:23:52 -03:00
Deluan Quintão
2b84c574ba
fix: restore old date display/sort behaviour ( #3862 )
...
* fix(server): bring back legacy date mappings
Signed-off-by: Deluan <deluan@navidrome.org>
* reuse the mapDates logic in the legacyReleaseDate function
Signed-off-by: Deluan <deluan@navidrome.org>
* fix mappings
Signed-off-by: Deluan <deluan@navidrome.org>
* show original and release dates in album grid
Signed-off-by: Deluan <deluan@navidrome.org>
* fix tests based on new year mapping
Signed-off-by: Deluan <deluan@navidrome.org>
* fix(subsonic): prefer returning original_year over (recording) year
when sorting albums
Signed-off-by: Deluan <deluan@navidrome.org>
* fix case when we don't have originalYear
Signed-off-by: Deluan <deluan@navidrome.org>
* show all dates in album's info, and remove the recording date from the album page
Signed-off-by: Deluan <deluan@navidrome.org>
* better?
Signed-off-by: Deluan <deluan@navidrome.org>
* add snapshot tests for Album Details
Signed-off-by: Deluan <deluan@navidrome.org>
* fix(subsonic): sort order for getAlbumList?type=byYear
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-30 17:06:58 -04:00
Deluan
88f87e6c4f
chore: replace album placeholder
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-30 13:41:32 -04:00
Deluan
cf100c4eb4
chore(subsonic): update snapshot tests to use version 1.16.1
2025-03-27 22:50:22 -04:00
Deluan Quintão
5ab345c83e
chore(server): add more info to scrobble errors logs ( #3889 )
...
* chore(server): add more info to scrobble errors
Signed-off-by: Deluan <deluan@navidrome.org>
* chore(server): add more info to scrobble errors
Signed-off-by: Deluan <deluan@navidrome.org>
* chore(server): add more info to scrobble errors
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-27 18:57:06 -04:00
Deluan
46a2ec0ba1
feat(ui): hide absolute paths from regular users
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-25 20:05:24 -04:00
Deluan
3394580413
feat(ui): add Norwegian translation
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-25 17:43:25 -04:00
Michachatz
112ea281d9
feat(ui): add Greek translation ( #3892 )
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-25 17:33:58 -04:00
Deluan Quintão
c837838d58
fix(ui): update French, Polish, Turkish translations from POEditor ( #3834 )
...
Co-authored-by: navidrome-bot <navidrome-bot@navidrome.org>
2025-03-24 17:52:03 -04:00
matteo00gm
9e9465567d
fix(ui): update Italian translations ( #3885 )
2025-03-24 17:49:23 -04:00
Deluan
651ce163c7
fix(ui): sort playlist by album_artist
, bpm
and channels
...
fix #3878
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-24 16:41:54 -04:00
Deluan Quintão
55ce28b2c6
fix(bfr): force upgrade to read all folders. ( #3871 )
...
* chore(scanner): add trace logs
Signed-off-by: Deluan <deluan@navidrome.org>
* fix(bfr): force upgrade to read all folders. It was skipping folders for certain timezones
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-24 15:22:59 -04:00
Deluan
d331ee904b
fix(ui): sort playlist by year
...
fix #3878
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-24 15:08:17 -04:00
Deluan
3a0ce6aafa
fix(scanner): elapsed time for folder processing is wrong in the logs
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-23 12:36:38 -04:00
Deluan
1806552ef6
chore: remove more outdated TODOs
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-23 11:53:43 -04:00
Deluan
223e88d481
chore: remove some BFR-related TODOs that are not valid anymore
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-23 11:37:20 -04:00
Deluan Quintão
57e0f6d3ea
feat(server): custom ArtistJoiner config ( #3873 )
...
* feat(server): custom ArtistJoiner config
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor(ui): organize ArtistLinkField, add tests
Signed-off-by: Deluan <deluan@navidrome.org>
* feat(ui): use display artist
* feat(ui): use display artist
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-23 10:53:21 -04:00
Deluan
1c691ac0e6
feat(docker): automatically loads a navidrome.toml file from /data, if available
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-22 17:33:56 -04:00
Deluan
264d73d73e
fix(server): don't break if the ND_CONFIGFILE does not exist
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-22 17:08:03 -04:00
Deluan
296259d781
feat(ui): show bitDepth in song info dialog
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-22 15:48:29 -04:00
Deluan
3f9d173495
fix(scanner): support ID3v2 embedded images in WAV files
...
Fix #3867
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-22 15:48:07 -04:00
Deluan
b386981b7f
fix(scanner): better log message when AutoImportPlaylists is disabled
...
Fix #3861
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-22 15:08:26 -04:00
Deluan Quintão
be7cb59dc5
fix(scanner): allow disabling splitting with the Tags
config option ( #3869 )
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-22 12:34:35 -04:00
Nicolas Derive
63dc0e2062
fix(ui): update Français, reorder translation according to en.json template ( #3839 )
...
Update french translation and reorder the file the same way as the en.json template, making comparison easier.
2025-03-22 12:31:32 -04:00
Xabi
1e1dce92b6
fix(ui): update Basque translation ( #3864 )
...
* Update Basque localisation
added missing strings
* Update eu.json
2025-03-22 12:29:43 -04:00
Deluan
d78c6f6a04
fix(subsonic): ArtistID3 should contain list of AlbumID3
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-20 22:10:46 -04:00
Deluan Quintão
59ece40393
fix(server): better embedded artwork extraction with ffmpeg ( #3860 )
...
- `-map 0:v` selects all video streams from the input
- `-map -0:V` excludes all "main" video streams (capital V)
This combination effectively selects only the attached pictures
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-20 19:26:40 -04:00
Deluan
491210ac12
fix(scanner): ignore NaN ReplayGain values
...
Fix: https://github.com/navidrome/navidrome/issues/3858
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-20 12:42:09 -04:00
Deluan
cd552a55ef
fix(scanner): pass datafolder and cachefolder to scanner subprocess
...
Fix #3831
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-19 22:15:20 -04:00
Deluan
ee2c2b19e9
fix(dockerfile): remove the healthcheck, it gives more headaches than benefits.
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-19 20:18:56 -04:00
Deluan
0147bb5f12
chore(deps): upgrade viper to 1.20.0, add tests for the supported config formats
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-18 19:16:47 -04:00
Rob Emery
1ed8930107
fix(msi): don't override custom ini config ( #3836 )
...
Previously addLine would add-or-update, resulting in the custom settings being overriden on upgrade. createLine will only add to the ini if the key doesn't already exist.
2025-03-18 18:23:04 -04:00
Deluan
e457f21306
chore(server): show square flag in resize artwork logs
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-03-18 12:43:52 -04:00