Fix plugin config UI: use JSONForms uiSchema format, not RJSF
Navidrome's plugin config editor renders manifest.json's config.uiSchema
directly through @jsonforms/react (JsonForms component), not
react-jsonschema-form. The previous uiSchema ({"field": {"ui:widget":
"password"}}) is RJSF syntax, which JsonForms can't map to any
renderer, producing "No applicable renderer found" and blocking
plugin configuration/enabling entirely.
Replace it with a proper JSONForms UI schema (VerticalLayout of
Control elements referencing each property by JSON pointer), using
options.format: "password" on the two secret fields, matching how
Navidrome's own OutlinedTextRenderer picks the password input type.
Bump to 0.1.1.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018n5ffHCn5QUjpDtuWTk3fh
This commit is contained in:
+18
-3
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Scrobbled",
|
||||
"author": "Matt Daubney",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"description": "Scrobbles Navidrome playback to a self-hosted Scrobbled (Last.fm-compatible) server.",
|
||||
"website": "https://scrobbled.uk",
|
||||
"permissions": {
|
||||
@@ -44,8 +44,23 @@
|
||||
}
|
||||
},
|
||||
"uiSchema": {
|
||||
"scrobbled_password": { "ui:widget": "password" },
|
||||
"shared_secret": { "ui:widget": "password" }
|
||||
"type": "VerticalLayout",
|
||||
"elements": [
|
||||
{ "type": "Control", "scope": "#/properties/server_url" },
|
||||
{ "type": "Control", "scope": "#/properties/api_key" },
|
||||
{
|
||||
"type": "Control",
|
||||
"scope": "#/properties/shared_secret",
|
||||
"options": { "format": "password" }
|
||||
},
|
||||
{ "type": "Control", "scope": "#/properties/scrobbled_username" },
|
||||
{
|
||||
"type": "Control",
|
||||
"scope": "#/properties/scrobbled_password",
|
||||
"options": { "format": "password" }
|
||||
},
|
||||
{ "type": "Control", "scope": "#/properties/navidrome_username" }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user