Эх сурвалжийг харах

reactions: fix redactions from Signal -> Matrix

Sumner Evans 3 жил өмнө
parent
commit
9ba44f1d90

+ 3 - 3
mautrix_signal/portal.py

@@ -129,7 +129,7 @@ class Portal(DBPortal, BasePortal):
     _main_intent: IntentAPI | None
     _main_intent: IntentAPI | None
     _create_room_lock: asyncio.Lock
     _create_room_lock: asyncio.Lock
     _msgts_dedup: deque[tuple[Address, int]]
     _msgts_dedup: deque[tuple[Address, int]]
-    _reaction_dedup: deque[tuple[Address, int, str, Address]]
+    _reaction_dedup: deque[tuple[Address, int, str, Address, bool]]
     _reaction_lock: asyncio.Lock
     _reaction_lock: asyncio.Lock
     _pending_members: set[UUID] | None
     _pending_members: set[UUID] | None
     _expiration_lock: asyncio.Lock
     _expiration_lock: asyncio.Lock
@@ -546,7 +546,7 @@ class Portal(DBPortal, BasePortal):
             if existing and existing.emoji == emoji:
             if existing and existing.emoji == emoji:
                 return
                 return
 
 
-            dedup_id = (message.sender, message.timestamp, emoji, sender.address)
+            dedup_id = (message.sender, message.timestamp, emoji, sender.address, False)
             self._reaction_dedup.appendleft(dedup_id)
             self._reaction_dedup.appendleft(dedup_id)
 
 
             reaction = Reaction(
             reaction = Reaction(
@@ -1068,7 +1068,7 @@ class Portal(DBPortal, BasePortal):
         author_address = await self._resolve_address(reaction.target_author)
         author_address = await self._resolve_address(reaction.target_author)
         target_id = reaction.target_sent_timestamp
         target_id = reaction.target_sent_timestamp
         async with self._reaction_lock:
         async with self._reaction_lock:
-            dedup_id = (author_address, target_id, reaction.emoji, sender.address)
+            dedup_id = (author_address, target_id, reaction.emoji, sender.address, reaction.remove)
             if dedup_id in self._reaction_dedup:
             if dedup_id in self._reaction_dedup:
                 return
                 return
             self._reaction_dedup.appendleft(dedup_id)
             self._reaction_dedup.appendleft(dedup_id)