Fix channel message dedup logic

This commit is contained in:
Janez T
2026-03-13 19:39:26 +01:00
parent 249268dd00
commit 9d8594fe05
2 changed files with 20 additions and 24 deletions

View File

@@ -647,9 +647,8 @@ class MessagesProvider with ChangeNotifier {
return false; return false;
} }
final timestampDeltaSeconds = (existing.senderTimestamp - final timestampDeltaSeconds =
message.senderTimestamp) (existing.senderTimestamp - message.senderTimestamp).abs();
.abs();
final withinChannelRepeatWindow = timestampDeltaSeconds <= 5; final withinChannelRepeatWindow = timestampDeltaSeconds <= 5;
final existingSenderKey = existing.senderKeyShort; final existingSenderKey = existing.senderKeyShort;

View File

@@ -176,9 +176,7 @@ void main() {
); );
}); });
test( test('channel replay is deduped for self sender within repeat window', () {
'channel replay is deduped for self sender within repeat window',
() {
final provider = MessagesProvider(); final provider = MessagesProvider();
provider.resolveContactNameCallback = (_) => 'dz0ny (SI)'; provider.resolveContactNameCallback = (_) => 'dz0ny (SI)';
provider.addSentMessage( provider.addSentMessage(
@@ -197,8 +195,7 @@ void main() {
expect(provider.messages, hasLength(1)); expect(provider.messages, hasLength(1));
expect(provider.messages.single.id, equals('c-echo')); expect(provider.messages.single.id, equals('c-echo'));
expect(provider.messages.single.senderName, equals('dz0ny (SI)')); expect(provider.messages.single.senderName, equals('dz0ny (SI)'));
}, });
);
test( test(
'channel replay is not deduped for different sender with same text', 'channel replay is not deduped for different sender with same text',