Fix plugin config UI: use JSONForms uiSchema format, not RJSF
CI / lint (push) Successful in 10s
CI / test (push) Successful in 10s
CI / build (push) Successful in 23s
CI / publish (push) Successful in 11s
CI / notify (push) Successful in 5s

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:
2026-09-27 23:46:55 +01:00
co-authored by Claude Sonnet 5
parent 0c669122ea
commit 3fb34c5ac7
3 changed files with 20 additions and 5 deletions
+18 -3
View File
@@ -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" }
]
}
}
}