remove useless mutext lock

This commit is contained in:
otsmr 2026-05-13 03:38:39 +02:00
parent f2b27e19f2
commit 09129639e1

View file

@ -4,7 +4,6 @@ import 'dart:io';
import 'package:clock/clock.dart'; import 'package:clock/clock.dart';
import 'package:drift/drift.dart'; import 'package:drift/drift.dart';
import 'package:hashlib/random.dart'; import 'package:hashlib/random.dart';
import 'package:mutex/mutex.dart';
import 'package:twonly/globals.dart'; import 'package:twonly/globals.dart';
import 'package:twonly/locator.dart'; import 'package:twonly/locator.dart';
import 'package:twonly/src/database/daos/contacts.dao.dart'; import 'package:twonly/src/database/daos/contacts.dao.dart';
@ -36,48 +35,44 @@ import 'package:twonly/src/services/signal/session.signal.dart';
import 'package:twonly/src/utils/log.dart'; import 'package:twonly/src/utils/log.dart';
import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/utils/misc.dart';
final lockHandleServerMessage = Mutex();
Future<void> handleServerMessage(server.ServerToClient msg) async { Future<void> handleServerMessage(server.ServerToClient msg) async {
return lockHandleServerMessage.protect(() async { Log.info('Processing a message from the server.');
Log.info('Processing a message from the server.');
/// Returns means, that the server can delete the message from the server. /// Returns means, that the server can delete the message from the server.
final ok = client.Response_Ok()..none = true; final ok = client.Response_Ok()..none = true;
var response = client.Response()..ok = ok; var response = client.Response()..ok = ok;
try { try {
if (msg.v0.hasRequestNewPreKeys()) { if (msg.v0.hasRequestNewPreKeys()) {
response = await handleRequestNewPreKey(); response = await handleRequestNewPreKey();
} else if (msg.v0.hasNewMessage()) { } else if (msg.v0.hasNewMessage()) {
Log.info('Got 1 message from the server.'); Log.info('Got 1 message from the server.');
await handleClient2ClientMessage(msg.v0.newMessage); await handleClient2ClientMessage(msg.v0.newMessage);
} else if (msg.v0.hasNewMessages()) { } else if (msg.v0.hasNewMessages()) {
Log.info( Log.info(
'Got ${msg.v0.newMessages.newMessages.length} messages from the server.', 'Got ${msg.v0.newMessages.newMessages.length} messages from the server.',
); );
for (final newMessage in msg.v0.newMessages.newMessages) { for (final newMessage in msg.v0.newMessages.newMessages) {
try { try {
await handleClient2ClientMessage(newMessage); await handleClient2ClientMessage(newMessage);
} catch (e) { } catch (e) {
Log.error(e); Log.error(e);
}
} }
} else {
Log.error('Unknown server message: $msg');
} }
} catch (e) { } else {
Log.error(e); Log.error('Unknown server message: $msg');
} }
} catch (e) {
Log.error(e);
}
final v0 = client.V0() final v0 = client.V0()
..seq = msg.v0.seq ..seq = msg.v0.seq
..response = response; ..response = response;
await apiService.sendResponse(ClientToServer()..v0 = v0); await apiService.sendResponse(ClientToServer()..v0 = v0);
AppState.gotMessageFromServer = true; AppState.gotMessageFromServer = true;
Log.info('Message from server proccessed.'); Log.info('Message from server proccessed.');
});
} }
DateTime lastPushKeyRequest = clock.now().subtract(const Duration(hours: 1)); DateTime lastPushKeyRequest = clock.now().subtract(const Duration(hours: 1));