chain-studio/lib/pages
flemming-it ea2cd87b5e fix(runs): stop claiming the hub is unreachable on RPC-level errors
The runs monitor folded every load failure into 'hub not reachable',
contradicting the sidebar's green connected dot whenever the hub
answered but the RPC failed — most visibly against a pre-0.22 hub
whose version predates the ListInvocations RPC (UNIMPLEMENTED).

Classify the failure instead (top-level, unit-tested):
- UNIMPLEMENTED -> 'this view needs a newer hub version' with a
  doctor-page link (the update banner lives there)
- FAILED_PRECONDITION from the detached gate -> the regular
  feature-off empty state with the guide button
- UNAVAILABLE / DEADLINE_EXCEEDED / socket-level failures -> the
  honest 'hub not reachable' state (unchanged)
- everything else -> a load-failed state with the friendly error
  and a copyable detail box

The error view is a public callback-driven widget so the tests pump
each variant without a live hub. New DE+EN strings for the too-old
and load-failed states; grpcCodeOf/grpcMessageOf exposed from the
friendly-error mapper instead of duplicating the duck-typing.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
2026-07-18 17:33:11 +02:00
..
approvals.dart feat: workspace switcher, per-project filters and run stamping (stage 1) 2026-07-12 13:49:51 +02:00
audit.dart feat(audit): full-history JSONL export in the actions menu 2026-07-18 01:49:20 +02:00
doctor.dart fix(doctor): honest module count, temp-path audit warning, connection line 2026-07-18 00:56:46 +02:00
federation.dart fix(federation): primary action in the app bar and empty state, no FAB 2026-07-18 00:08:51 +02:00
flows.dart feat(store): trust gate before every module install 2026-07-17 23:44:14 +02:00
runs.dart fix(runs): stop claiming the hub is unreachable on RPC-level errors 2026-07-18 17:33:11 +02:00
setup_gate.dart feat(setup): first-run gate, hub-first preview, honest wording — setup before the app 2026-07-17 00:59:22 +02:00
store.dart fix(store,audit,workspace): usertest low-findings tail (0.72.1) 2026-07-18 01:08:09 +02:00
welcome.dart fix(welcome,store): sticky flow-completed tick, carousel position text 2026-07-18 00:36:00 +02:00