From a0007b91780d2d5e0bc53ed4f04ec1a845d3605c Mon Sep 17 00:00:00 2001 From: flemming-it Date: Sat, 13 Jun 2026 14:44:31 +0200 Subject: [PATCH] fix: onboarding checklist ticks for any installed module, not just text.* MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The doc'd first install is debug.echo, but the Welcome onboarding checklist only went green for a text.* capability — so a user following the quickstart saw the box stay unchecked. Match any non-system (non-built-in) capability instead. Signed-off-by: flemming-it --- lib/pages/welcome.dart | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/pages/welcome.dart b/lib/pages/welcome.dart index 1782d45..235893c 100644 --- a/lib/pages/welcome.dart +++ b/lib/pages/welcome.dart @@ -551,15 +551,16 @@ class _OnboardingChecklistState extends State<_OnboardingChecklist> { .catchError((_) => false); final module = hub .listModules() - // 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. + // "A module is installed" = any installed module providing a + // non-built-in capability. We match on the capability rather + // than the module name (which is hyphenated, e.g. + // `text-extract`), and accept ANY provider — so the doc'd + // first install of `debug.echo` ticks the box, not just + // `text.*`. `system.*` are built-ins, not installs. .then( - (m) => m.any((x) => x.capabilities.any((c) => c.startsWith('text.'))), + (m) => m.any( + (x) => x.capabilities.any((c) => !c.startsWith('system.')), + ), ) .catchError((_) => false); final flow = hub