mirror of
https://github.com/navidrome/navidrome.git
synced 2025-08-10 00:52:20 +00:00
* fix(plugins): silence repeated “Plugin not found” spam for inactive Spotify/Last.fm plugins
Navidrome was emitting a warning when the optional Spotify or
Last.fm agents weren’t enabled, filling the journal with entries like:
level=warning msg="Plugin not found" capability=MetadataAgent name=spotify
Fixed by completely disable the plugin system when Plugins.Enabled = false.
Signed-off-by: Deluan <deluan@navidrome.org>
* style: update test description for clarity
Signed-off-by: Deluan <deluan@navidrome.org>
* fix: ensure plugin folder is created only if plugins are enabled
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
36 lines
1.1 KiB
Go
36 lines
1.1 KiB
Go
package plugins
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/navidrome/navidrome/log"
|
|
"github.com/navidrome/navidrome/plugins/api"
|
|
"github.com/tetratelabs/wazero"
|
|
)
|
|
|
|
// newWasmWebSocketCallback creates a new adapter for a WebSocketCallback plugin
|
|
func newWasmWebSocketCallback(wasmPath, pluginID string, m *managerImpl, runtime api.WazeroNewRuntime, mc wazero.ModuleConfig) WasmPlugin {
|
|
loader, err := api.NewWebSocketCallbackPlugin(context.Background(), api.WazeroRuntime(runtime), api.WazeroModuleConfig(mc))
|
|
if err != nil {
|
|
log.Error("Error creating WebSocket callback plugin", "plugin", pluginID, "path", wasmPath, err)
|
|
return nil
|
|
}
|
|
return &wasmWebSocketCallback{
|
|
wasmBasePlugin: newWasmBasePlugin[api.WebSocketCallback, *api.WebSocketCallbackPlugin](
|
|
wasmPath,
|
|
pluginID,
|
|
CapabilityWebSocketCallback,
|
|
m.metrics,
|
|
loader,
|
|
func(ctx context.Context, l *api.WebSocketCallbackPlugin, path string) (api.WebSocketCallback, error) {
|
|
return l.Load(ctx, path)
|
|
},
|
|
),
|
|
}
|
|
}
|
|
|
|
// wasmWebSocketCallback adapts a WebSocketCallback plugin
|
|
type wasmWebSocketCallback struct {
|
|
*wasmBasePlugin[api.WebSocketCallback, *api.WebSocketCallbackPlugin]
|
|
}
|