Better websocket reconnection and maintainer

This commit is contained in:
2024-05-13 22:12:37 +08:00
parent b9461e5019
commit f43f9e91f6
7 changed files with 36 additions and 34 deletions

View File

@ -55,12 +55,11 @@ class _ChatMessageContentState extends State<ChatMessageContent> {
final keypair = context.watch<KeypairProvider>();
if (keypair.keys[widget.item.decodedContent['keypair_id']] == null) {
WidgetsBinding.instance.addPostFrameCallback((_) {
if (keypair.requestKey(
keypair.requestKey(
widget.item.decodedContent['keypair_id'],
widget.item.decodedContent['algorithm'],
widget.item.sender.account.externalId!,
)) {
}
);
});
} else {
content = keypair.decodeViaAESKey(

View File

@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:solian/providers/auth.dart';
@ -43,6 +45,11 @@ class _ProviderInitializerState extends State<ProviderInitializer> {
onKexRequest: keypair.provideKeypair,
onKexProvide: keypair.receiveKeypair,
);
Timer.periodic(const Duration(seconds: 1), (timer) {
nty.connect(auth);
chat.connect(auth);
});
}
} catch (e) {
context.showErrorDialog(e);