From e9538b66b79b29a6fd4947e8d793a572a03251f1 Mon Sep 17 00:00:00 2001 From: flemming-it Date: Sat, 23 May 2026 10:37:37 +0200 Subject: [PATCH] fix(welcome): module check now looks at capabilities, not module names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The welcome checklist's "Install a text module" item used: m.any((x) => x.name.startsWith('text.')) But ModuleSummary.name is the module identifier (text-extract, text-summarize, …), not the capability identifier (text.extract, text.summarize, …). The check never matched even when several text-* modules were installed — Stefan saw the item pending with 4 text capabilities live. Fix: check capability names instead, which carry the dot-namespace: m.any((x) => x.capabilities.any((c) => c.startsWith('text.'))) Semantically aligned with the onboarding intent ("any text.* capability available"). Signed-off-by: flemming-it --- lib/pages/welcome.dart | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/pages/welcome.dart b/lib/pages/welcome.dart index cf1e85b..017fedc 100644 --- a/lib/pages/welcome.dart +++ b/lib/pages/welcome.dart @@ -434,7 +434,14 @@ class _OnboardingChecklistState extends State<_OnboardingChecklist> { .catchError((_) => false); final module = hub .listModules() - .then((m) => m.any((x) => x.name.startsWith('text.'))) + // ModuleSummary.name is the module identifier + // (e.g. `text-extract`, with a hyphen). The Onboarding- + // Hinweis fragt nach einem Text-Modul — das ist auf + // Capability-Ebene das `text.*`-Präfix (mit Punkt). + // Vorher haben wir den Modul-Namen geprüft und damit + // nie gematcht, obwohl text-extract / text-summarize / + // text-translate installiert waren. + .then((m) => m.any((x) => x.capabilities.any((c) => c.startsWith('text.')))) .catchError((_) => false); final flow = hub .recentEvents(limit: 100)