Deluan
b94a214c91
refactor(scheduler): streamline scheduling logic and remove unused callback tracking
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:29 -05:00
Deluan
005fc684ed
feat(scheduler): add scheduler callback schema and implementation for plugins
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:29 -05:00
Deluan
3a6cdb3ed3
refactor(manifest): remove unused ConfigPermission from permissions schema
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:29 -05:00
Deluan
f4c6461c0a
feat(scheduler): implement Scheduler service with one-time and recurring scheduling capabilities
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:29 -05:00
Deluan
b84089cea4
feat(plugins): add WASI build constraints to client wrapper templates, to avoid lint errors
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:29 -05:00
Deluan
44c69de525
feat(scheduler): add Scheduler service interface with host function wrappers for scheduling tasks
2025-12-31 17:06:29 -05:00
Deluan
c059db4c9c
refactor(generator): remove error handling for response.Error in client templates
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
ba27a8ceef
feat(plugins): generate client wrappers for host functions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
a0a5168f5f
fix(generator): error-only methods in response handling
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
097774f9c2
feat(plugins): implement SubsonicAPI host function integration with permissions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
62612391da
feat(subsonicapi): update Call method to return JSON string response
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
de90e191bb
feat(hostgen): add hostgen tool for generating Extism host function wrappers
...
- Implemented hostgen tool to generate wrappers from annotated Go interfaces.
- Added command-line flags for input/output directories and package name.
- Introduced parsing and code generation logic for host services.
- Created test data for various service interfaces and expected generated code.
- Added documentation for host services and annotations for code generation.
- Implemented SubsonicAPI service with corresponding generated code.
2025-12-31 17:06:28 -05:00
Deluan
9481ba3662
feat(plugins): add metadata agent and scrobbler schemas for bootstrapping plugins
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
1733129537
refactor(plugins): clean up manifest struct and improve plugin loading logic
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
415eac5399
feat(plugins): integrate logs
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
905cd613f3
feat(plugins): implement scrobbler plugin with authorization and scrobbling capabilities
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
876ecb29c8
feat(plugins): enhance plugin logging and set User-Agent header
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
5ddc763bb4
feat(plugins): add Wikimedia plugin for Navidrome to fetch artist metadata
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
6ac3ce3511
test(plugins): ignore goroutine leaks from notify library in tests
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
fed00e1838
tests(plugins): more optimizations
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
f0f191266c
tests(plugins): optimize tests
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
39be1878cb
tests(plugins): change BeforeEach to BeforeAll in MetadataAgent tests
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
42d48300bb
fix(plugins): race condition in plugin manager
2025-12-31 17:06:28 -05:00
Deluan
40ce71294e
refactor(plugins): implement plugin function call helper and refactor MetadataAgent methods
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
8cd3785ac4
fix(plugins): improve error handling and logging in plugin manager
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
41bc04214f
refactor(plugins): standardize variable names and remove superfluous wrapper functions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
66bd5f7a55
feat(plugins): add auto-reload functionality for plugins with file watcher support
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
373f5fb3d9
feat(plugins): add auto-reload functionality for plugins with file watcher support
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
22561abadc
feat(plugins): add capability detection for plugins based on exported functions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
b3ec005fa2
feat(plugins): implement new plugin system with using Extism
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
c8887eac6b
chore(plugins): remove the old plugins system implementation
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:06:28 -05:00
Deluan
735c0d9103
chore(deps): remove direct dependency on golang.org/x/exp
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-31 17:03:44 -05:00
Deluan
fc9817552d
fix(subsonic): make getUser?username comparison case-insensitive
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-19 17:56:40 -05:00
Xabi
0c1b65d3e6
fix(ui): update Basque translation ( #4815 )
...
Added missing strings and a fix or two
2025-12-19 08:32:13 -05:00
Deluan
47b448c64f
chore(deps): update action versions in pipeline configuration
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-19 08:30:18 -05:00
Deluan
834fa494e4
chore(deps): update golangci-lint to v2.7.2
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-19 08:25:51 -05:00
Deluan
5d34640065
chore(deps): update dependencies for maruel/natural to v1.3.0 and tetratelabs/wazero to v1.11.0
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-19 08:24:45 -05:00
Deluan
9ed309ac81
feat(scanner): implement file-based target passing for large target lists
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-16 16:08:32 -05:00
Deluan
8c80be56da
fix(scanner): ensure FullScanInProgress reflects current scan request during interrupted scans
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-16 12:16:00 -05:00
Deluan
cde5992c46
fix(scanner): execute GetFolderUpdateInfo in batches to avoid "Expression tree is too large (maximum depth 1000)"
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-16 11:37:13 -05:00
Deluan
017676c457
fix(ui): export all missing files instead of first 1000
...
Fixes #4721
2025-12-16 06:43:02 -05:00
Deluan
2d7b716834
fix(scanner): remove stale role associations when artist role changes. Fix #4242
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-16 06:38:50 -05:00
Deluan
c7ac0e4414
chore(docker): update Alpine base image to version 3.20 and bump XX_VERSION to 1.9.0
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-15 14:10:34 -05:00
Deluan
c9409d306a
chore(deps): update Go dependencies to latest versions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-15 13:09:06 -05:00
Deluan
ebbe62bbbd
fix(ui): update delete button color in AMusic theme
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-14 13:51:01 -05:00
dragonish
42c85a18e2
fix(ui) Improve player buttons in AMusic theme ( #4797 )
...
* fix(ui): improve the lyric button of the AMusic theme
* fix(amusic): update styles for music player panel SVG and disabled button states
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
Co-authored-by: Deluan <deluan@navidrome.org>
2025-12-13 13:04:29 -05:00
Deluan
7ccf44b8ed
feat: rename HTTPSecurityHeaders.CustomFrameOptionsValue to HTTPHeaders.FrameOptions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-13 12:38:43 -05:00
Deluan
603cccde11
fix(subsonic): always enable getNowPlaying endpoint regardless of configuration
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-11 15:44:21 -05:00
Deluan
6ed6524752
fix(subsonic): add username parameter validation for GetUser endpoint
...
Fixes #4794
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-10 18:30:26 -05:00
Deluan
a081569ed4
fix(deezer): add order parameter to artist search for improved ranking
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-12-10 13:31:24 -05:00