Skip to content

Commit 2bca926

Browse files
committed
Do not send RFC1459 INVITEs from backlog events
1 parent 701672e commit 2bca926

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

lib/matrix_client/poller.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1075,7 +1075,7 @@ defmodule M51.MatrixClient.Poller do
10751075
|> Enum.map(fn event ->
10761076
event_id = Map.get(event, "event_id")
10771077

1078-
if !MapSet.member?(handled_event_ids, event_id) do
1078+
if !is_backlog && !MapSet.member?(handled_event_ids, event_id) do
10791079
send = make_send_function(sup_pid, event, write)
10801080

10811081
sender =

test/matrix_client/poller_test.exs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1058,8 +1058,35 @@ defmodule M51.MatrixClient.PollerTest do
10581058
}
10591059
})
10601060

1061+
if !unquote(is_backlog) do
1062+
assert_line(
1063+
":inviter:[email protected] INVITE mynick:example.com :!testid:example.org\r\n"
1064+
)
1065+
end
1066+
1067+
timeline_events = [
1068+
%{
1069+
"content" => %{"body" => "hello world", "msgtype" => "m.text"},
1070+
"event_id" => "$event3",
1071+
"origin_server_ts" => 1_632_946_233_579,
1072+
"sender" => "@nick:example.org",
1073+
"type" => "m.room.message",
1074+
"unsigned" => %{}
1075+
}
1076+
]
1077+
1078+
M51.MatrixClient.Poller.handle_events(self(), false, %{
1079+
"rooms" => %{
1080+
"join" => %{
1081+
"!testid:example.org" => %{
1082+
"timeline" => %{"events" => timeline_events}
1083+
}
1084+
}
1085+
}
1086+
})
1087+
10611088
assert_line(
1062-
":inviter:example.org!inviter@example.org INVITE mynick:example.com :!testid:example.org\r\n"
1089+
":nick:example.org!nick@example.org PRIVMSG !testid:example.org :hello world\r\n"
10631090
)
10641091
end
10651092
end

0 commit comments

Comments
 (0)