From 9eea69b3dd0157bb65923f9a5a69cba9e3b40d33 Mon Sep 17 00:00:00 2001 From: otsmr Date: Sat, 1 Nov 2025 14:58:02 +0100 Subject: [PATCH] fixing analyzer --- lib/src/database/daos/groups.dao.dart | 6 ++-- lib/src/database/twonly.db.dart | 2 +- lib/src/services/api/server_messages.dart | 5 ++-- lib/src/services/group.services.dart | 16 ++++++---- .../group_create_select_group_name.view.dart | 4 ++- .../group_create_select_members.view.dart | 29 ++++++++++--------- 6 files changed, 37 insertions(+), 25 deletions(-) diff --git a/lib/src/database/daos/groups.dao.dart b/lib/src/database/daos/groups.dao.dart index 52a837c..60e0d37 100644 --- a/lib/src/database/daos/groups.dao.dart +++ b/lib/src/database/daos/groups.dao.dart @@ -67,14 +67,16 @@ class GroupsDao extends DatabaseAccessor with _$GroupsDaoMixin { ) async { await (update(groupMembers) ..where( - (c) => c.groupId.equals(groupId) & c.contactId.equals(contactId))) + (c) => c.groupId.equals(groupId) & c.contactId.equals(contactId), + )) .write(updates); } Future removeMember(String groupId, int contactId) async { await (delete(groupMembers) ..where( - (c) => c.groupId.equals(groupId) & c.contactId.equals(contactId))) + (c) => c.groupId.equals(groupId) & c.contactId.equals(contactId), + )) .go(); } diff --git a/lib/src/database/twonly.db.dart b/lib/src/database/twonly.db.dart index 6b02b5c..aa8390e 100644 --- a/lib/src/database/twonly.db.dart +++ b/lib/src/database/twonly.db.dart @@ -44,7 +44,7 @@ part 'twonly.db.g.dart'; SignalContactPreKeys, SignalContactSignedPreKeys, MessageActions, - GroupHistories + GroupHistories, ], daos: [ MessagesDao, diff --git a/lib/src/services/api/server_messages.dart b/lib/src/services/api/server_messages.dart index 344a419..b072b30 100644 --- a/lib/src/services/api/server_messages.dart +++ b/lib/src/services/api/server_messages.dart @@ -1,4 +1,5 @@ import 'dart:async'; + import 'package:drift/drift.dart'; import 'package:hashlib/random.dart'; import 'package:mutex/mutex.dart'; @@ -11,15 +12,15 @@ import 'package:twonly/src/model/protobuf/api/websocket/client_to_server.pb.dart import 'package:twonly/src/model/protobuf/api/websocket/server_to_client.pb.dart' as server; import 'package:twonly/src/model/protobuf/client/generated/messages.pb.dart'; -import 'package:twonly/src/services/api/client2client/groups.c2c.dart'; -import 'package:twonly/src/services/api/messages.dart'; import 'package:twonly/src/services/api/client2client/contact.c2c.dart'; +import 'package:twonly/src/services/api/client2client/groups.c2c.dart'; import 'package:twonly/src/services/api/client2client/media.c2c.dart'; import 'package:twonly/src/services/api/client2client/messages.c2c.dart'; import 'package:twonly/src/services/api/client2client/prekeys.c2c.dart'; import 'package:twonly/src/services/api/client2client/pushkeys.c2c.dart'; import 'package:twonly/src/services/api/client2client/reaction.c2c.dart'; import 'package:twonly/src/services/api/client2client/text_message.c2c.dart'; +import 'package:twonly/src/services/api/messages.dart'; import 'package:twonly/src/services/signal/encryption.signal.dart'; import 'package:twonly/src/utils/log.dart'; import 'package:twonly/src/utils/misc.dart'; diff --git a/lib/src/services/group.services.dart b/lib/src/services/group.services.dart index 201430a..4168dbe 100644 --- a/lib/src/services/group.services.dart +++ b/lib/src/services/group.services.dart @@ -161,14 +161,20 @@ Future fetchGroupState(Group group) async { final groupStateServer = GroupState.fromBuffer(response.bodyBytes); final envelope = EncryptedGroupStateEnvelop.fromBuffer( - groupStateServer.encryptedGroupState); + groupStateServer.encryptedGroupState, + ); final chacha20 = FlutterChacha20.poly1305Aead(); - final secretBox = SecretBox(envelope.encryptedGroupState, - nonce: envelope.nonce, mac: Mac(envelope.mac)); + final secretBox = SecretBox( + envelope.encryptedGroupState, + nonce: envelope.nonce, + mac: Mac(envelope.mac), + ); - final encryptedGroupStateRaw = await chacha20.decrypt(secretBox, - secretKey: SecretKey(group.stateEncryptionKey!)); + final encryptedGroupStateRaw = await chacha20.decrypt( + secretBox, + secretKey: SecretKey(group.stateEncryptionKey!), + ); final encryptedGroupState = EncryptedGroupState.fromBuffer(encryptedGroupStateRaw); diff --git a/lib/src/views/groups/group_create_select_group_name.view.dart b/lib/src/views/groups/group_create_select_group_name.view.dart index 8b97054..e6cd4b2 100644 --- a/lib/src/views/groups/group_create_select_group_name.view.dart +++ b/lib/src/views/groups/group_create_select_group_name.view.dart @@ -36,7 +36,9 @@ class _GroupCreateSelectGroupNameViewState await createNewGroup(textFieldGroupName.text, widget.selectedUsers); if (wasSuccess) { // POP - Navigator.popUntil(context, (route) => route.isFirst); + if (mounted) { + Navigator.popUntil(context, (route) => route.isFirst); + } return; } diff --git a/lib/src/views/groups/group_create_select_members.view.dart b/lib/src/views/groups/group_create_select_members.view.dart index 2340746..103bdde 100644 --- a/lib/src/views/groups/group_create_select_members.view.dart +++ b/lib/src/views/groups/group_create_select_members.view.dart @@ -138,19 +138,20 @@ class _StartNewChatView extends State { ), child: SingleChildScrollView( child: LayoutBuilder( - builder: (context, constraints) { - // Wrap will use the available width from constraints.maxWidth - return Wrap( - spacing: 8, - children: selected.map((w) { - return _Chip( - contact: allContacts - .firstWhere((t) => t.userId == w), - onTap: toggleSelectedUser, - ); - }).toList(), - ); - }), + builder: (context, constraints) { + // Wrap will use the available width from constraints.maxWidth + return Wrap( + spacing: 8, + children: selected.map((w) { + return _Chip( + contact: allContacts + .firstWhere((t) => t.userId == w), + onTap: toggleSelectedUser, + ); + }).toList(), + ); + }, + ), ), ); } @@ -241,7 +242,7 @@ class _Chip extends StatelessWidget { FontAwesomeIcons.xmark, color: Colors.grey, size: 12, - ) + ), ], ), ),