[FIX] Do not bridgeback moderations

No more annoying Zayd, guys. It's the end.
This commit is contained in:
LDA 2024-07-28 12:27:06 +02:00
commit 8092be4fdb
2 changed files with 9 additions and 2 deletions

View file

@ -368,7 +368,8 @@ end:
void void
ParseeEventHandler(ParseeData *data, HashMap *event) ParseeEventHandler(ParseeData *data, HashMap *event)
{ {
char *event_type, *event_id, *room_id; char *event_type, *event_id, *room_id, *sender;
char *parsee = ParseeMXID(data);
if (!data || !event) if (!data || !event)
{ {
return; return;
@ -377,11 +378,13 @@ ParseeEventHandler(ParseeData *data, HashMap *event)
event_type = GrabString(event, 1, "type"); event_type = GrabString(event, 1, "type");
event_id = GrabString(event, 1, "event_id"); event_id = GrabString(event, 1, "event_id");
room_id = GrabString(event, 1, "room_id"); room_id = GrabString(event, 1, "room_id");
sender = GrabString(event, 1, "sender");
ParseePushHeadTable(room_id, event_id); ParseePushHeadTable(room_id, event_id);
if (StrEquals(event_type, "m.room.member")) if (StrEquals(event_type, "m.room.member"))
{ {
ParseeMemberHandler(data, event); ParseeMemberHandler(data, event);
Free(parsee);
return; return;
} }
else if (StrEquals(event_type, "m.room.message") || else if (StrEquals(event_type, "m.room.message") ||
@ -389,9 +392,11 @@ ParseeEventHandler(ParseeData *data, HashMap *event)
* support here... */ * support here... */
{ {
ParseeMessageHandler(data, event); ParseeMessageHandler(data, event);
Free(parsee);
return; return;
} }
else if (StrEquals(event_type, "m.room.redaction")) else if (StrEquals(event_type, "m.room.redaction") &&
!StrEquals(sender, parsee))
{ {
char *from, *to; char *from, *to;
char *redacted = GrabString(event, 1, "redacts"); char *redacted = GrabString(event, 1, "redacts");
@ -421,5 +426,6 @@ ParseeEventHandler(ParseeData *data, HashMap *event)
Free(from); Free(from);
Free(to); Free(to);
} }
Free(parsee);
} }

View file

@ -47,6 +47,7 @@ MessageStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr)
char *event_id = NULL; char *event_id = NULL;
char *encoded = ParseeMXID(args); char *encoded = ParseeMXID(args);
mroom_id = ParseeGetBridgedRoom(args, stanza); mroom_id = ParseeGetBridgedRoom(args, stanza);
if (!resource && chat_id) if (!resource && chat_id)
{ {
event_id = ParseeGetEventFromID(args, stanza, moderated); event_id = ParseeGetEventFromID(args, stanza, moderated);