mirror of
https://gitlab.com/famedly/fluffychat.git
synced 2024-11-17 17:39:41 +01:00
fix: Wait for first sync on bootstrap
This commit is contained in:
parent
a6ab9a2ab0
commit
d6728783a2
@ -156,28 +156,29 @@ class ChatListController extends State<ChatList> {
|
||||
@override
|
||||
void initState() {
|
||||
_initReceiveSharingIntent();
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||
if (!Matrix.of(context).client.encryptionEnabled) return;
|
||||
await waitForFirstSync();
|
||||
if ((Matrix.of(context).client.database as FlutterMatrixHiveStore)
|
||||
.get(SettingKeys.dontAskForBootstrapKey) ==
|
||||
true) {
|
||||
return;
|
||||
}
|
||||
final crossSigning = await crossSigningCachedFuture;
|
||||
final needsBootstrap =
|
||||
Matrix.of(context).client.encryption?.crossSigning?.enabled ==
|
||||
false ||
|
||||
crossSigning == false;
|
||||
final isUnknownSession = Matrix.of(context).client.isUnknownSession;
|
||||
if (needsBootstrap || isUnknownSession) {
|
||||
firstRunBootstrapAction();
|
||||
}
|
||||
});
|
||||
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => waitForFirstSync().then((_) => checkBootstrap()),
|
||||
);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
void checkBootstrap() async {
|
||||
if (!Matrix.of(context).client.encryptionEnabled) return;
|
||||
if ((Matrix.of(context).client.database as FlutterMatrixHiveStore)
|
||||
.get(SettingKeys.dontAskForBootstrapKey) ==
|
||||
true) {
|
||||
return;
|
||||
}
|
||||
final crossSigning = await crossSigningCachedFuture;
|
||||
final needsBootstrap =
|
||||
Matrix.of(context).client.encryption?.crossSigning?.enabled == false ||
|
||||
crossSigning == false;
|
||||
final isUnknownSession = Matrix.of(context).client.isUnknownSession;
|
||||
if (needsBootstrap || isUnknownSession) {
|
||||
firstRunBootstrapAction();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_intentDataStreamSubscription?.cancel();
|
||||
|
Loading…
Reference in New Issue
Block a user