feat(errors): classify the install 'no store entry' failure
Some checks are pending
Security / Security check (push) Waiting to run

Even with the honest install badge the hub error stays reachable
(stale store snapshot, race with a store refresh, older hub). The
friendly-error mapper now gives it its own headline plus a hint
naming the three acquisition paths — local module install, adding
the providing store, configuring the MCP/n8n integration — in EN
and DE, with the verbatim hub message kept copyable. Matcher unit
tests EN+DE guard the classification.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-07-22 13:48:31 +02:00
parent 08227410e6
commit e28fffee61
7 changed files with 87 additions and 2 deletions

View file

@ -204,6 +204,20 @@ FriendlyError? _matchHubPattern(String detail, AppLocalizations l) {
hint: l.errMcpUnreachableHint,
);
}
// Install target unresolvable the hub's install resolver found
// no store entry with that exact name ("no store entry for 'X' —
// hint"). Distinct from capability-not-installed below: the store
// cannot deliver it at all, so the recovery is one of the three
// acquisition paths, not the Fix button. Reachable despite the
// honest badge (stale store snapshot, race with a store refresh,
// older hub).
if (detail.contains('no store entry for')) {
return FriendlyError(
headline: l.errNoStoreEntry,
detail: detail,
hint: l.errNoStoreEntryHint,
);
}
// Capability not in registry hub returns NotFound with this
// shape from the flow engine.
if (detail.toLowerCase().contains('no capability provider') ||