diff --git a/app/lib/data/hub_endpoint.dart b/app/lib/data/hub_endpoint.dart index b20f433..663d9a4 100644 --- a/app/lib/data/hub_endpoint.dart +++ b/app/lib/data/hub_endpoint.dart @@ -49,7 +49,7 @@ class HubSettings { port: prefs.getInt(_kPort) ?? defaultPort, secure: prefs.getBool(_kSecure) ?? false, authToken: prefs.getString(_kToken), - useHub: prefs.getBool(_kUseHub) ?? false, + useHub: prefs.getBool(_kUseHub) ?? true, ); } diff --git a/app/lib/data/hub_repository.dart b/app/lib/data/hub_repository.dart index 9c6e35b..2f1676e 100644 --- a/app/lib/data/hub_repository.dart +++ b/app/lib/data/hub_repository.dart @@ -94,8 +94,8 @@ class HubRepository implements EvaluationRepository { if (bag == null) return null; final normJson = _asMap(bag['norm']); + if (normJson == null) return null; final skmJson = _asMap(bag['skm']); - if (normJson == null || skmJson == null) return null; final norm = Norm( eli: (normJson['eli'] as String?) ?? 'eli/unknown', @@ -108,8 +108,17 @@ class HubRepository implements EvaluationRepository { paragraphs: _parseParagraphs(normJson['paragraphs']), ); - final skmEur = _asDouble(skmJson['total_eur_per_year']); - final tierLowest = _parseTier(skmJson['tier_lowest']); + final cohortJson = _asMap(bag['cohort']); + final affected = _asInt(cohortJson?['count']); + + // SKM may be missing if the flow only ran the normalize-/ + // cohort-arm (e.g. flows/durchstich-from-file.yaml). Default + // to zero and let the tier fall back to the cohort source's + // tier — that's still the most-honest reading. + final skmEur = _asDouble(skmJson?['total_eur_per_year']); + final tierLowest = skmJson != null + ? _parseTier(skmJson['tier_lowest']) + : _parseTier(cohortJson?['tier']); final benefitJson = _asMap(bag['benefit']); final benefit = _asDouble(benefitJson?['total']); @@ -117,9 +126,6 @@ class HubRepository implements EvaluationRepository { final frustJson = _asMap(bag['frust']); final frust = _asDouble(frustJson?['composite_frust']); - final cohortJson = _asMap(bag['cohort']); - final affected = _asInt(cohortJson?['count']); - return Evaluation( norm: norm, skmEurPerYear: skmEur,