💄 Optimize connection experience
This commit is contained in:
parent
8e0e2dacfe
commit
b9461e5019
@ -55,6 +55,8 @@ class ChatProvider extends ChangeNotifier {
|
|||||||
if (!noRetry) {
|
if (!noRetry) {
|
||||||
await auth.client!.refreshToken(auth.client!.currentRefreshToken!);
|
await auth.client!.refreshToken(auth.client!.currentRefreshToken!);
|
||||||
connect(auth, noRetry: true);
|
connect(auth, noRetry: true);
|
||||||
|
} else {
|
||||||
|
rethrow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,6 +95,8 @@ class NotifyProvider extends ChangeNotifier {
|
|||||||
if (!noRetry) {
|
if (!noRetry) {
|
||||||
await auth.client!.refreshToken(auth.client!.currentRefreshToken!);
|
await auth.client!.refreshToken(auth.client!.currentRefreshToken!);
|
||||||
connect(auth, noRetry: true);
|
connect(auth, noRetry: true);
|
||||||
|
} else {
|
||||||
|
rethrow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import 'package:solian/providers/chat.dart';
|
|||||||
import 'package:solian/providers/keypair.dart';
|
import 'package:solian/providers/keypair.dart';
|
||||||
import 'package:solian/providers/notify.dart';
|
import 'package:solian/providers/notify.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
import 'package:solian/widgets/exts.dart';
|
||||||
|
|
||||||
class ProviderInitializer extends StatefulWidget {
|
class ProviderInitializer extends StatefulWidget {
|
||||||
final Widget child;
|
final Widget child;
|
||||||
@ -29,18 +30,22 @@ class _ProviderInitializerState extends State<ProviderInitializer> {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (await auth.isAuthorized()) {
|
try {
|
||||||
if (auth.client == null) {
|
if (await auth.isAuthorized()) {
|
||||||
await auth.loadClient();
|
if (auth.client == null) {
|
||||||
}
|
await auth.loadClient();
|
||||||
|
}
|
||||||
|
|
||||||
nty.fetch(auth);
|
nty.fetch(auth);
|
||||||
chat.connect(auth);
|
chat.connect(auth);
|
||||||
keypair.channel = await nty.connect(
|
keypair.channel = await nty.connect(
|
||||||
auth,
|
auth,
|
||||||
onKexRequest: keypair.provideKeypair,
|
onKexRequest: keypair.provideKeypair,
|
||||||
onKexProvide: keypair.receiveKeypair,
|
onKexProvide: keypair.receiveKeypair,
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
context.showErrorDialog(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
notify.close();
|
notify.close();
|
||||||
@ -56,4 +61,4 @@ class _ProviderInitializerState extends State<ProviderInitializer> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return widget.child;
|
return widget.child;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user