From 15d29f6189792820f54478761a0e618f4746b2a6 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 5 Aug 2022 14:11:23 +0100 Subject: [PATCH] Don't check whether messages are visible before lowering ack flag. This check excludes messages that aren't shared, including incoming private messages. The check isn't necessary because lowerAckFlag() ignores messages for which no status row exists for the contact. --- .../briarproject/bramble/db/DatabaseComponentImpl.java | 6 +----- .../bramble/db/DatabaseComponentImplTest.java | 9 +-------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java index ae8b9df26..23c538c26 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java @@ -1099,11 +1099,7 @@ class DatabaseComponentImpl implements DatabaseComponent { T txn = unbox(transaction); if (!db.containsContact(txn, c)) throw new NoSuchContactException(); - List visible = new ArrayList<>(acked.size()); - for (MessageId m : acked) { - if (db.containsVisibleMessage(txn, c, m)) visible.add(m); - } - db.lowerAckFlag(txn, c, visible); + db.lowerAckFlag(txn, c, acked); } @Override diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseComponentImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseComponentImplTest.java index 25e85afc5..9daec1220 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseComponentImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseComponentImplTest.java @@ -1396,14 +1396,7 @@ public class DatabaseComponentImplTest extends BrambleMockTestCase { will(returnValue(txn)); oneOf(database).containsContact(txn, contactId); will(returnValue(true)); - // First message is still visible to the contact - flag lowered - oneOf(database).containsVisibleMessage(txn, contactId, messageId); - will(returnValue(true)); - // Second message is no longer visible - flag not lowered - oneOf(database).containsVisibleMessage(txn, contactId, messageId1); - will(returnValue(false)); - oneOf(database) - .lowerAckFlag(txn, contactId, singletonList(messageId)); + oneOf(database).lowerAckFlag(txn, contactId, acked); oneOf(database).commitTransaction(txn); }}); DatabaseComponent db = createDatabaseComponent(database, eventBus,