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;
}
final timestampDeltaSeconds = (existing.senderTimestamp -
message.senderTimestamp)
.abs();
final timestampDeltaSeconds =
(existing.senderTimestamp - message.senderTimestamp).abs();
final withinChannelRepeatWindow = timestampDeltaSeconds <= 5;
final existingSenderKey = existing.senderKeyShort;

View File

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