fix(ui): never hang on a blank frame when the hub is unreachable
main() awaited the hub health probe before runApp(); a gRPC-web error out of HubRepository.connect propagated and left the app on a white page. Guard the settings+probe in main() with a MockRepository fallback so the first frame always paints. Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
parent
136d3b48c6
commit
9dfa418e92
1 changed files with 16 additions and 2 deletions
|
|
@ -9,8 +9,22 @@ import 'theme/reclaim_theme.dart';
|
|||
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
final settings = await HubSettings.load();
|
||||
final repository = await _pickRepository(settings);
|
||||
// Acquiring settings + probing the hub must never prevent the
|
||||
// first frame. Any failure here falls back to demo data so the
|
||||
// app always paints instead of hanging on a blank page.
|
||||
HubSettings settings;
|
||||
EvaluationRepository repository;
|
||||
try {
|
||||
settings = await HubSettings.load();
|
||||
repository = await _pickRepository(settings);
|
||||
} catch (_) {
|
||||
settings = const HubSettings(
|
||||
host: HubSettings.defaultHost,
|
||||
port: HubSettings.defaultPort,
|
||||
secure: false,
|
||||
);
|
||||
repository = const MockRepository();
|
||||
}
|
||||
runApp(ReclaimApp(repository: repository, settings: settings));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue