Deluan
d5458d3135
feat: implement user/library and plugin management integration with cleanup on deletion
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
8722c7809d
feat: add manual plugin rescan functionality and corresponding UI action
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
64baa16129
fix: remove unnecessary bulkActionButtons prop from PluginList component
2026-01-12 08:16:08 -05:00
Deluan
ce85775b66
reorder migrations
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
58165be3c7
feat: update Portuguese translations for user and library permissions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
605792d7f8
feat: add GetAdmins method to retrieve admin users from the plugin
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
ae5ecc6ac3
fix: implement dynamic loading for buffered scrobbler plugins
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
01b31178c0
feat: add user permission for processing scrobbles in Discord Rich Presence plugin
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
06a2a4d89c
feat: add library permission management to plugin system
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
801466445d
fix: show proper error in the UI when enabling a plugin fails
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
5f54944366
feat: implement user permissions for SubsonicAPI and scrobbler plugins
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
d660bbd900
test: add integration tests for UsersService enable gate behavior
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
2d4a3c621c
refactor: remove UserID from scrobbler request structure
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
5c1b8498ce
refactor: streamline users integration tests and enhance plugin user management
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
08280eaea8
feat: add users permission management to plugin system
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
6ab277bf9e
test: add ndpgen plugin tests in the pipeline and update Makefile
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
df1ed336cc
refactor: rename List method to Keys for clarity in configuration management
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
1f24c14b9e
refactor: update interface types to use 'any' in plugin repository methods
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
f8ea65dbc8
refactor: make MockPDK private
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
1fdeb54961
feat: enhance plugin manager to support metrics recording
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
84d421c9df
feat: implement ConfigService for plugin configuration management
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
68b4e2052c
feat: conditionally include error handling in generated client code templates
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
9e9d5cd615
fix: context cancellation and implement WebSocket callback timeout for improved error handling
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
5c7173b61c
fix: update return types in minimalPlugin and wikimediaPlugin methods to use pointers
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:08 -05:00
Deluan
188a3a19d5
feat: add unit tests for Discord plugin and RPC functionality
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
363177e1d4
feat: add PDK abstraction layer with mock support for non-WASM builds
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
b95d3d7831
feat: add support for experimental WebAssembly threads
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
dd94355c46
refactor: Discord RPC struct to encapsulate WebSocket logic
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
93e9f12685
feat: implement mock service instances for non-WASM builds using testify/mock
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
a427166084
fix: handle URL parsing errors and use atomic upsert in plugin repository
...
Added proper error handling for url.Parse calls in PublicURL and AbsoluteURL
functions. When parsing fails, PublicURL now falls back to AbsoluteURL, and
AbsoluteURL logs the error and returns an empty string, preventing malformed
URLs from being generated.
Replaced the non-atomic UPDATE-then-INSERT pattern in plugin repository Put
method with a single atomic INSERT ... ON CONFLICT statement. This eliminates
potential race conditions and improves consistency with the upsert pattern
already used in host_kvstore.go.
2026-01-12 08:16:07 -05:00
Deluan
ac3889cac9
docs: update README to include Rust PDK crate information for plugin developers
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
5c087a12af
docs: clarify artwork URL generation capabilities in service descriptions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
0ec82e83f6
docs: correct example link for library inspector in README
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
f8149c320f
docs: update Go and Rust plugin developer sections for clarity
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
374dd2343d
fix(plugins): update response types in testMetadataAgent methods to use pointers
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
89d9aa1434
feat(plugins): implement XTP JSONSchema validation for generated schemas
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
aa03d53524
test(plugins): add unit tests for rustOutputType and isPrimitiveRustType functions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
169bbb9d0a
fix(plugins): update IsAuthorized method to return boolean instead of response object
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
e750bf8232
fix(plugins): enhance type handling for Rust and XTP output in capability generation
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
867000b70a
fix(plugins): update return types in metadata interfaces to use pointers
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
fc89abd0ea
refactor(plugins): update plugin instance creation to accept context for cancellation support
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
6210af8d90
docs: update README to reflect changes in plugin import paths
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
f0c8e98c6d
test(plugins): conditionally run goleak checks based on CI environment
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
37473a7096
fix(plugins): generate host wrappers
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
221ccdc18d
docs: update plugin registration docs
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
633a26a273
refactor(plugins): update export wrappers to use //go:wasmexport for WebAssembly compatibility
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
06c2556a8f
refactor(plugins): rename scheduler callback methods for consistency and clarity
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
53aa1a67ee
refactor(plugins): update macro names for websocket and metadata registration to improve clarity and consistency
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
3bfce4cc9c
refactor(plugins): update Discord Rich Presence and Library Inspector plugins to use nd-pdk for service calls and implement lifecycle management
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
2b2b673581
refactor(plugins): reorganize Rust output structure to follow standard conventions
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00