Fix: Issue with opening directly in chats

This commit is contained in:
otsmr 2026-05-17 20:23:37 +02:00
parent c77c369212
commit 5bcb3b3efe
4 changed files with 23 additions and 9 deletions

View file

@ -1,5 +1,10 @@
# Changelog
## 0.2.14
- Fix: Issue with opening directly in chats
- Fix: Multipe smaller issues
## 0.2.13
- New: Tutorial on how to use zoom.

View file

@ -30,7 +30,7 @@ Future<void> setupNotificationWithUsers({
// HotFIX: Search for user with id 0 if not there remove all
// and create new push keys with all users.
final pushUser = pushUsers.firstWhereOrNull((x) => x.userId == 0);
final pushUser = pushUsers.firstWhereOrNull((x) => x.userId.toInt() == 0);
if (pushUser == null) {
Log.info('Clearing push keys');
await setPushKeys(SecureStorageKeys.receivingPushKeys, []);
@ -51,7 +51,7 @@ Future<void> setupNotificationWithUsers({
final contacts = await twonlyDB.contactsDao.getAllContacts();
for (final contact in contacts) {
final pushUser = pushUsers.firstWhereOrNull(
(x) => x.userId == contact.userId,
(x) => x.userId.toInt() == contact.userId,
);
if (pushUser != null && pushUser.pushKeys.isNotEmpty) {
@ -124,7 +124,9 @@ Future<void> sendNewPushKey(int userId, PushKey pushKey) async {
Future<void> updatePushUser(Contact contact) async {
final pushKeys = await getPushKeys(SecureStorageKeys.receivingPushKeys);
final pushUser = pushKeys.firstWhereOrNull((x) => x.userId == contact.userId);
final pushUser = pushKeys.firstWhereOrNull(
(x) => x.userId.toInt() == contact.userId,
);
if (pushUser == null) {
pushKeys.add(
@ -148,7 +150,9 @@ Future<void> updatePushUser(Contact contact) async {
Future<void> handleNewPushKey(int fromUserId, int keyId, List<int> key) async {
final pushKeys = await getPushKeys(SecureStorageKeys.sendingPushKeys);
var pushUser = pushKeys.firstWhereOrNull((x) => x.userId == fromUserId);
var pushUser = pushKeys.firstWhereOrNull(
(x) => x.userId.toInt() == fromUserId,
);
if (pushUser == null) {
final contact = await twonlyDB.contactsDao
@ -164,7 +168,7 @@ Future<void> handleNewPushKey(int fromUserId, int keyId, List<int> key) async {
lastMessageId: uuid.v7(),
),
);
pushUser = pushKeys.firstWhereOrNull((x) => x.userId == fromUserId);
pushUser = pushKeys.firstWhereOrNull((x) => x.userId.toInt() == fromUserId);
}
if (pushUser == null) {
@ -187,7 +191,9 @@ Future<void> handleNewPushKey(int fromUserId, int keyId, List<int> key) async {
Future<void> updateLastMessageId(int fromUserId, String messageId) async {
final pushUsers = await getPushKeys(SecureStorageKeys.receivingPushKeys);
final pushUser = pushUsers.firstWhereOrNull((x) => x.userId == fromUserId);
final pushUser = pushUsers.firstWhereOrNull(
(x) => x.userId.toInt() == fromUserId,
);
if (pushUser == null) {
unawaited(setupNotificationWithUsers());
return;
@ -341,7 +347,9 @@ Future<Uint8List?> encryptPushNotification(
var key = 'InsecureOnlyUsedForAddingContact'.codeUnits;
var keyId = 0;
final pushUser = pushKeys.firstWhereOrNull((x) => x.userId == toUserId);
final pushUser = pushKeys.firstWhereOrNull(
(x) => x.userId.toInt() == toUserId,
);
if (pushUser == null) {
// user does not have send any push keys

View file

@ -44,7 +44,7 @@ class MainCameraController {
CameraController? cameraController;
ScreenshotController screenshotController = ScreenshotController();
SelectedCameraDetails selectedCameraDetails = SelectedCameraDetails();
bool initCameraStarted = true;
bool initCameraStarted = false;
Map<int, ScannedVerifiedContact> contactsVerified = {};
Map<int, ScannedNewProfile> scannedNewProfiles = {};
final Set<String> _handledProfileLinks = {};

View file

@ -3,7 +3,7 @@ description: "twonly, a privacy-friendly way to connect with friends through sec
publish_to: 'none'
version: 0.2.13+122
version: 0.2.14+123
environment:
sdk: ^3.11.0
@ -185,6 +185,7 @@ dev_dependencies:
in_app_purchase_platform_interface: ^1.4.0
integration_test:
sdk: flutter
workmanager_platform_interface: any
flutter_launcher_icons:
android: true