fix(studio): theme picker confirms applied + surfaces load failures
Some checks failed
Security / Security check (push) Failing after 2s

Two operator-visible fixes prompted by 'I picked a theme but
nothing changed':

  - Theme picker tile taps now show a brief "Theme applied:
    <name>" snackbar — the picker applies themes instantly, so
    the operator needs a confirming cue. Slow `_pluginThemes`
    loads no longer read as "click did nothing".
  - `_pluginThemes` failures (plugin unreachable, manifest
    drift, etc.) write to `FaiLog` so `fai admin doctor` and
    Studio's inline log viewer can surface them. Previously
    swallowed silently, which is what made debugging this so
    miserable.
  - Settings dialog's primary button relabelled to
    "Connect to endpoint" (was "Save & connect") so operators
    don't mistake it for "save my theme choice". The theme
    selection persists at tile-tap time; the Settings dialog
    has nothing left to "save".
  - Theme section header gains an explicit "(applies instantly)"
    cue for the same reason.

Also fixes a pre-existing curly-braces lint in the n8n add-
endpoint dialog. Studio bumped to 0.62.1, editor pinned via
path override at 0.15.1.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-06-04 02:25:11 +02:00
parent 8f5cd2528b
commit 805f1b4c1f
9 changed files with 91 additions and 17 deletions

View file

@ -313,7 +313,16 @@ class AppLocalizationsEn extends AppLocalizations {
'Server text in English — Studio shows it as supplied.';
@override
String get themePluginHeader => 'Theme plugin';
String get themePluginHeader => 'Theme plugin (applies instantly)';
@override
String themeApplied(String name) {
return 'Theme applied: $name';
}
@override
String get themePluginFailed =>
'Theme plugin could not load — keeping previous theme.';
@override
String get themePluginNone => 'Built-in (no plugin)';
@ -358,7 +367,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get settingsTls => 'TLS';
@override
String get settingsSaveAndConnect => 'Save & connect';
String get settingsSaveAndConnect => 'Connect to endpoint';
@override
String get settingsLanguage => 'Language';