Fix/startos UI empty interface (#3143)

fix: give StartOS UI interface a non-empty id

The iface object in StartOsUiComponent had id: '' (empty string).
Any plugin whose action calls sdk.serviceInterface.get() with
that id triggers an RPC to the host with an empty
serviceInterfaceId, which Rust's ServiceInterfaceId type rejects
via its ID regex (^[a-z0-9]+(-[a-z0-9]+)*$).

The container runtime appends the method name to every error
message as "${msg}@${method}", so the empty-string failure
surfaces in the UI as:

  Action Failed: Deserialization Error: Invalid ID: @get-service-interface

Setting id: 'startos-ui' makes it a valid, stable identifier
that passes the regex and accurately names the interface.
This commit is contained in:
crissuper20
2026-03-30 12:00:14 -06:00
committed by GitHub
parent f46cdc6ee5
commit 8359712cd9

View File

@@ -54,7 +54,7 @@ export default class StartOsUiComponent {
private readonly i18n = inject(i18nPipe)
readonly iface: T.ServiceInterface = {
id: '',
id: 'startos-ui',
name: 'StartOS UI',
description: this.i18n.transform(
'The web user interface for your StartOS server, accessible from any browser.',