4602 Commits

Author SHA1 Message Date
Deluan
e2d0c5626c feat: implement Rust PDK
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
c19ce124d5 refactor(plugins): consolidate PDK module path and update Go version to 1.25
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
034e8af90b build: mark .wasm files as intermediate for cleanup after building .ndp
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
3d14349b99 refactor(plugins): update request/response types to use private naming conventions
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
810ee687fa refactor(plugins): update function signatures to return values directly instead of response structs
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
312a31f688 refactor(plugins): update error handling for methods to return errors directly
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
723b19c8de refactor(plugins): reorganize and sort type definitions for consistency
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
25b5acad8a test: make all test plugins use the PDK
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
9ac0764cc2 refactor(plugins): update scrobbler interface to return errors directly instead of response structs
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:07 -05:00
Deluan
306b2fc525 refactor(plugins): streamline plugin function signatures and error handling
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
31842b2c3d refactor(plugins): consistent naming/types across PDK
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
d81e641cc6 feat(plugins): implementation of the Navidrome Plugin Development Kit with generated client wrappers and service interfaces - Phase 5
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
0fb497ed73 feat(plugins): implementation of the Navidrome Plugin Development Kit with generated client wrappers and service interfaces - Phase 4
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
b4b7b91cf7 feat(plugins): implementation of the Navidrome Plugin Development Kit with generated client wrappers and service interfaces - Phase 3
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
05455de90b feat(plugins): implementation of the Navidrome Plugin Development Kit with generated client wrappers and service interfaces - Phase 2 (2)
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
80e134420c feat(plugins): implementation of the Navidrome Plugin Development Kit with generated client wrappers and service interfaces - Phase 2
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
4e0cd7571b feat(plugins): add initial implementation of the Navidrome Plugin Development Kit code generator - Pahse 1
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
4f9d0a5016 feat(plugins): update client template file names for consistency
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
bbb1596b4b feat(plugins): generate Go client stubs for non-WASM platforms
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
1d18b3a092 feat(plugins): add Go client library with host function wrappers and documentation
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
b8ff660485 feat(plugins): enhance Rust code generation with typed struct support and improved type handling
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
d5458fb16d refactor: reduce cyclomatic complexity by refactoring main function
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
1b589f292f refactor(plugins): update JSON field names to camelCase for consistency
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
7afe906d11 feat(plugins): generate Rust lib.rs file to expose host function wrappers
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
de45079ff6 feat(plugins): add Rust host function library and example implementation of Discord Rich Presence plugin in Rust
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
dfaf22248a feat(plugins): update config handling in PluginShow to track last record state
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
cef1d339a3 feat(plugins): integrate event broker into plugin manager
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
628e0b58b7 docs: enhance README with Extism plugin development resources and recommendations
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
b970ef6b26 feat(plugins): implement KVStore service for persistent key-value storage
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
7664b22f04 docs: update README for .ndp plugin packaging and installation instructions
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
9d4b838ecb feat(plugins): add support for .ndp plugin packages and update build process
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
64b63a9561 feat(i18n): add Portuguese translations for plugin management and notifications
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
bece0b671f feat(plugins): rename ErrorIndicator to EnabledOrErrorField and enhance error handling logic
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
2fa30e8779 feat(ui): adjust grid layout in InfoRow component for improved responsiveness
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
be5a47964b feat(plugins): implement configuration management UI with key-value pairs support
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
822fb0370c fix(build): update target to wasm32-wasip1 for improved WASI support
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
0fc0f3c105 docs: update README to reflect JSON configuration format for plugins
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
766689428d feat(plugins): add Library Inspector plugin for periodic library inspection and file size logging
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
eef9599013 feat(library): add Library service for metadata access and filesystem integration
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
9a070a63fc docs: update READMEs
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
422062921f refactor(plugins): introduce ToggleEnabledSwitch for managing plugin enable/disable state
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
d3d9af8a00 refactor(plugins): update newWebSocketService to use WebSocketPermission for allowed hosts
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
c51d1c8c26 refactor(plugins): streamline error handling and improve plugin retrieval logic
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
8b16065981 refactor(plugins): break manager.go into smaller, focused files
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:06 -05:00
Deluan
1f2a61b8e4 refactor(plugins): enhance debug logging for plugin actions and recompile logic
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:05 -05:00
Deluan
8e80a9b836 feat(plugins): add subsonicRouter to Manager and refactor host service registration
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:05 -05:00
Deluan
9d783eab9f refactor(plugins): update GetManager to accept DataStore parameter
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:05 -05:00
Deluan
e20af107cf refactor(plugins): inject PluginManager into native API
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:05 -05:00
Deluan
25f8ee7629 feat(plugins UI): add error handling for plugin enable/disable actions
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:05 -05:00
Deluan
6de941c4f0 feat(plugins UI): refactor to use MUI and RA components
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-12 08:16:05 -05:00