matrix-org / matrix-appservice-irc

Node.js IRC bridge for Matrix
Apache License 2.0
465 stars 150 forks source link

When IRC users change their nicks, Matrix displays both the previous and new nick in member list #735

Open jwaterwo opened 5 years ago

jwaterwo commented 5 years ago

We are running a recent version of the irc bridge and restarted a couple of weeks ago, but we continue to see the issue that was described in #71 . When IRC users change their nicks, sometimes the previous nick does not leave the room, leading to several instances of the same user being in the channel.

For example:

It does not happen every time, and not at all rooms, for example, some rooms will only have 1 jack, some will have 2 and some will have 3.

Trying to switch from IRC to Matrix, but this is cause slow adoption on my team because users cannot figure out who is/is not in a channel.

jwaterwo commented 5 years ago

Some weird observations:

We have 3 of one user in a room:

almondjoy is the real user, the mtg and PTO are ghosts. If almondjoy changes his nick to either of the other nicks, the matrix room does not notify that users left or joined. However, if almondjoy becomes something else, like "almondjoy|pie", it shows this new user join the room, but not that the previous nick left.

I then joined the IRC room (via IRC) as jack, I changed my nick to almondjoy|mtg and it showed jack leaving. I then switched back to jack and it showed almondjoy|mtg leaving and jack joining. This cleared the ghost "almondjoy|mtg" out of the channel. I did the same with almondjoy|PTO and that ghost was also removed.

Same behavior for another room:

I was able to clear out the 3 ghosts by using my irc user jack_, changing my nicks to the ghosts and then switching back:

From IRC:

[14:16:15] * You are now known as ccharron|busy
[14:16:18] * You are now known as ccharron|call
[14:16:22] * You are now known as ccharron|gone
[14:16:25] * You are now known as jack_

From Matrix:

2:16PM jack_ joined the room.
2:16PM jack_ left the room.
2:16PM ccharron|busy left the room.
2:16PM ccharron|call left the room.
2:16PM ccharron|gone left the room.
2:16PM jack_ joined the room.

This issue seems to follow a specific user. If almondjoy EVER changes his nick, it will create a new ghost. if the nick is already a ghost, we do not see a join or a leave on matrix. If he switches to a new nick, the new nick does not join UNTIL he says something. that will create a brand new ghost in the member list. When he changes back, it leave the ghost of the new nick.

to try to avoid confusion: "Nick Almond" is the matrix user with its IRC counterpart "mounds2". This same person is in IRC using an IRC client as "mounds"

From IRC:

»» You are now known as mounds
»» mounds2 is now known as almondjoy
.:mounds:. o/
<almondjoy> now matrix is almondjoy
.:@jack:. okay, switch mounds2 to almondjoy2
.:@jack:. and then to almondjoy3
.:almondjoy:. mounds2 no longer exists
<@jack> uh, i mean mounds
»» You are now known as almondjoy2
.:almondjoy2:. o/
.:almondjoy2:. I'm waiting for someone to say something about these nick changes lol
.:@jack:. now change to almondjoy3
»» You are now known as almondjoy3
.:almondjoy3:. yo
.:@jack:. okay. i saw that join the room
»» jack_ is now known as almondjoy2
»» almondjoy2 is now known as jack_
.:@jack:. now switch back to almondjoy2
»» You are now known as almondjoy2
.:almondjoy2:. ok
.:@jack:. haha dammit
.:@jack:. almondjoy3 is still there
.:almondjoy2:. are you changing your nick on irc or matrix
.:almondjoy2:. ?
.:@jack:. youre just a ghost creating machine
.:@jack:. irc
.:almondjoy2:. huh
.:@jack:. whenever YOU change yoru nick, your previous nick doesnt leave
.:almondjoy2:. it's not just me
.:almondjoy2:. I see plenty of other dupes
.:almondjoy2:. err ghosts
.:almondjoy:. matrix says there are 30+ people in this channel

From Matrix:

2:34PM Nick Almond: now matrix is almondjoy
2:34PM Jack Waterworth: okay, switch mounds2 to almondjoy2 and then to almondjoy3
2:34PM Nick Almond: mounds2 no longer exists
2:34PM Jack Waterworth: uh, i mean mounds
2:35PM almondjoy2: o/
2:35PM Jack Waterworth: now change to almondjoy3
2:35PM almondjoy2: I'm waiting for someone to say something about these nick changes lol
2:36PM almondjoy3 joined the room.
2:36PM almondjoy3: yo
2:36PM Jack Waterworth: okay. i saw that join the room
2:36PM jack_ left the room.
2:36PM almondjoy2 left the room.
2:36PM jack_ joined the room.
2:36PM Jack Waterworth: now switch back to almondjoy2
2:36PM almondjoy2 joined the room.
2:36PM almondjoy2: ok
2:36PM Jack Waterworth: haha dammit
2:36PM Jack Waterworth: almondjoy3 is still there
2:37PM almondjoy2: are you changing your nick on irc or matrix
2:37PM Jack Waterworth: youre just a ghost creating machine
2:37PM almondjoy2: ?
2:37PM Jack Waterworth: irc
2:37PM almondjoy2: huh
2:37PM Jack Waterworth: whenever YOU change yoru nick, your previous nick doesnt leave
2:37PM almondjoy2: it's not just me
2:37PM almondjoy2: I see plenty of other dupes
2:37PM almondjoy2: err ghosts
2:38PM Nick Almond: matrix says there are 30+ people in this channel
jwaterwo commented 5 years ago

this appears to be channel specific too. I just noticed that another room shows all the joins and leaves as expected. also, if the user actually leaves the channel, the nick leaves correctly. If i clear out all the ghosts and the user rejoins, the issue continues to occur.

Actually, hold that. The user rejoined, changed nicks and there was no join/leave message. Then he spoke, and it joined him. Then he switched back and the issue cleared up. Now we see leaves and joins as expected.

jwaterwo commented 5 years ago

Here are some logs from the time the issue was occuring

irc user siggy changes his name to siggy|random, then back to siggy. matrix keeps siggy|random in room, although he no longer actually exists in #sbr-stack-backline

2019-03-21 21:10:35 INFO:IrcBridge [5r23o76mwgs00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:36 INFO:req [f7k3byesu5c00] [I->M] onPart(nick) siggy to #sbr-stack-backline
2019-03-21 21:10:36 INFO:req [f7k3byesu5c00] [I->M] onJoin(nick) siggy|random to #sbr-stack-backline
2019-03-21 21:10:36 INFO:req [7si49aj4mgk00] [I->M] onPart(nick) siggy to #wait
2019-03-21 21:10:36 INFO:req [7si49aj4mgk00] [I->M] onJoin(nick) siggy|random to #wait
2019-03-21 21:10:36 INFO:req [gv16gh18mzk00] [I->M] onPart(nick) siggy to #sbr-stack
2019-03-21 21:10:36 INFO:req [gv16gh18mzk00] [I->M] onJoin(nick) siggy|random to #sbr-stack
2019-03-21 21:10:36 INFO:req [f7k3byesu5c00] [I->M] Mapped nick siggy to {"userId":"@irc_siggy:example.com","localpart":"irc_siggy","_data":{"displayName":"siggy (IRC)","localpart":"irc_siggy"}}
2019-03-21 21:10:36 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/register  (AS) Body: "{\"auth\":{},\"username\":\"irc_siggy|random\"}"
2019-03-21 21:10:36 INFO:req [f7k3byesu5c00] [I->M] Leaving room !FunxmrrGRNAcEObbBF:example.com
2019-03-21 21:10:36 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/leave  (@irc_siggy:example.com) Body: "{}"
2019-03-21 21:10:36 INFO:req [7si49aj4mgk00] [I->M] Mapped nick siggy to {"userId":"@irc_siggy:example.com","localpart":"irc_siggy","_data":{"displayName":"siggy (IRC)","localpart":"irc_siggy"}}
2019-03-21 21:10:36 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/register  (AS) Body: "{\"auth\":{},\"username\":\"irc_siggy|random\"}"
2019-03-21 21:10:36 INFO:req [7si49aj4mgk00] [I->M] Leaving room !tlHlvRzQPIDttOldoM:example.com
2019-03-21 21:10:36 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!tlHlvRzQPIDttOldoM%3Aexample.com/leave  (@irc_siggy:example.com) Body: "{}"
2019-03-21 21:10:36 INFO:req [gv16gh18mzk00] [I->M] Mapped nick siggy to {"userId":"@irc_siggy:example.com","localpart":"irc_siggy","_data":{"displayName":"siggy (IRC)","localpart":"irc_siggy"}}
2019-03-21 21:10:36 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/register  (AS) Body: "{\"auth\":{},\"username\":\"irc_siggy|random\"}"
2019-03-21 21:10:36 INFO:req [gv16gh18mzk00] [I->M] Leaving room !hPolRofRYpcvPNTBFU:example.com
2019-03-21 21:10:36 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_siggy:example.com) Body: "{}"
2019-03-21 21:10:36 ERROR:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/register  (AS) HTTP 400 Error: "{\"errcode\":\"M_USER_IN_USE\",\"error\":\"User ID already taken.\"}"
2019-03-21 21:10:36 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/profile/%40irc_siggy%7Crandom%3Aexample.com/displayname  (@irc_siggy|random:example.com) Body: "{\"displayname\":\"siggy|random\"}"
2019-03-21 21:10:36 ERROR:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/register  (AS) HTTP 400 Error: "{\"errcode\":\"M_USER_IN_USE\",\"error\":\"User ID already taken.\"}"
2019-03-21 21:10:36 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/profile/%40irc_siggy%7Crandom%3Aexample.com/displayname  (@irc_siggy|random:example.com) Body: "{\"displayname\":\"siggy|random\"}"
2019-03-21 21:10:36 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/profile/%40irc_siggy%7Crandom%3Aexample.com/displayname  (@irc_siggy|random:example.com) HTTP 200 "{}"
2019-03-21 21:10:36 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/profile/%40irc_siggy%7Crandom%3Aexample.com/displayname  (@irc_siggy|random:example.com) HTTP 200 "{}"
2019-03-21 21:10:36 INFO:req [gv16gh18mzk00] [I->M] Joining room !hPolRofRYpcvPNTBFU:example.com and setting presence to online
2019-03-21 21:10:36 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%7Crandom%3Aexample.com/status  (@irc_siggy|random:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:36 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hPolRofRYpcvPNTBFU%3Aexample.com  (@irc_siggy|random:example.com) Body: "{}"
2019-03-21 21:10:37 INFO:req [7si49aj4mgk00] [I->M] Joining room !tlHlvRzQPIDttOldoM:example.com and setting presence to online
2019-03-21 21:10:37 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%7Crandom%3Aexample.com/status  (@irc_siggy|random:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:37 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!tlHlvRzQPIDttOldoM%3Aexample.com  (@irc_siggy|random:example.com) Body: "{}"
2019-03-21 21:10:37 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/register  (AS) HTTP 200 "{\"user_id\": \"@irc_siggy|random:example.com\", \"home_server\": \"example.com\"
2019-03-21 21:10:37 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/profile/%40irc_siggy%7Crandom%3Aexample.com/displayname  (@irc_siggy|random:example.com) Body: "{\"displayname\":\"siggy|random\"}"
2019-03-21 21:10:37 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/leave  (@irc_siggy:example.com) HTTP 200 "{}"
2019-03-21 21:10:37 INFO:IrcBridge [f7k3byesu5c00] [I->M] SUCCESS  (295ms)
2019-03-21 21:10:37 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/profile/%40irc_siggy%7Crandom%3Aexample.com/displayname  (@irc_siggy|random:example.com) HTTP 200 "{}"
2019-03-21 21:10:37 INFO:req [f7k3byesu5c00] [I->M] Joining room !FunxmrrGRNAcEObbBF:example.com and setting presence to online
2019-03-21 21:10:37 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%7Crandom%3Aexample.com/status  (@irc_siggy|random:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:37 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!FunxmrrGRNAcEObbBF%3Aexample.com  (@irc_siggy|random:example.com) Body: "{}"
2019-03-21 21:10:37 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%7Crandom%3Aexample.com/status  (@irc_siggy|random:example.com) HTTP 200 "{}"
2019-03-21 21:10:37 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%7Crandom%3Aexample.com/status  (@irc_siggy|random:example.com) HTTP 200 "{}"
2019-03-21 21:10:37 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!tlHlvRzQPIDttOldoM%3Aexample.com/leave  (@irc_siggy:example.com) HTTP 200 "{}"
2019-03-21 21:10:37 INFO:IrcBridge [7si49aj4mgk00] [I->M] SUCCESS  (359ms)
2019-03-21 21:10:37 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%7Crandom%3Aexample.com/status  (@irc_siggy|random:example.com) HTTP 200 "{}"
2019-03-21 21:10:37 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:37 +0000] "PUT /transactions/7174713?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:37 INFO:req [b8yqm9g7fy000] [M->I] onLeave: {"age":377,"content":{"membership":"leave"},"event_id":"$1553202636260171oGPWm:example.com","origin_server_ts":1553202636824,"prev_content":{"avatar_url":null,"displayname":"siggy","membership":"join"},"replaces_state":"$1553154344217460AoObQ:example.com","room_id":"!FunxmrrGRNAcEObbBF:example.com","sender":"@irc_siggy:example.com","state_key":"@irc_siggy:example.com","type":"m.room.member","unsigned":{"age":377,"prev_content":{"avatar_url":null,"displayname":"siggy","membership":"join"},"prev_sender":"@irc_siggy:example.com","replaces_state":"$1553154344217460AoObQ:example.com"},"user_id":"@irc_siggy:example.com"}
2019-03-21 21:10:37 INFO:IrcBridge [b8yqm9g7fy000] [M->I] IGNORE virtual user  (5ms)
2019-03-21 21:10:37 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:37 +0000] "PUT /transactions/7174714?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:37 INFO:req [9vehebtceq000] [M->I] onLeave: {"age":414,"content":{"membership":"leave"},"event_id":"$1553202636260172GCwZu:example.com","origin_server_ts":1553202636861,"replaces_state":"$1553154344217458wKWPl:example.com","room_id":"!tlHlvRzQPIDttOldoM:example.com","sender":"@irc_siggy:example.com","state_key":"@irc_siggy:example.com","type":"m.room.member","unsigned":{"age":414,"replaces_state":"$1553154344217458wKWPl:example.com"},"user_id":"@irc_siggy:example.com"}
2019-03-21 21:10:37 INFO:IrcBridge [9vehebtceq000] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:37 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!tlHlvRzQPIDttOldoM%3Aexample.com  (@irc_siggy|random:example.com) HTTP 200 "{\"room_id\": \"!tlHlvRzQPIDttOldoM:example.com\"}"
2019-03-21 21:10:37 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!FunxmrrGRNAcEObbBF%3Aexample.com  (@irc_siggy|random:example.com) HTTP 200 "{\"room_id\": \"!FunxmrrGRNAcEObbBF:example.com\"}"
2019-03-21 21:10:37 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:37 +0000] "PUT /transactions/7174715?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:37 INFO:req [en9c6wktd5s00] [M->I] onJoin: {"age":238,"content":{"avatar_url":null,"displayname":"siggy|random","membership":"join"},"event_id":"$1553202637260174gAHxR:example.com","origin_server_ts":1553202637174,"room_id":"!tlHlvRzQPIDttOldoM:example.com","sender":"@irc_siggy|random:example.com","state_key":"@irc_siggy|random:example.com","type":"m.room.member","unsigned":{"age":238},"user_id":"@irc_siggy|random:example.com"}
2019-03-21 21:10:37 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:37 INFO:req [en9c6wktd5s00] [M->I] @irc_siggy|random:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:37 INFO:IrcBridge [en9c6wktd5s00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:37 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:37 +0000] "PUT /transactions/7174716?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:37 INFO:req [abqzn4l466w00] [M->I] onJoin: {"age":234,"content":{"avatar_url":null,"displayname":"siggy|random","membership":"join"},"event_id":"$1553202637260175qBSut:example.com","origin_server_ts":1553202637211,"room_id":"!FunxmrrGRNAcEObbBF:example.com","sender":"@irc_siggy|random:example.com","state_key":"@irc_siggy|random:example.com","type":"m.room.member","unsigned":{"age":234},"user_id":"@irc_siggy|random:example.com"}
2019-03-21 21:10:37 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:37 INFO:req [abqzn4l466w00] [M->I] @irc_siggy|random:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:37 INFO:IrcBridge [abqzn4l466w00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:37 INFO:req [4a2lpvekiag00] [I->M] onMessage: irc.devel.example.com from=almondjoy (null@irc.devel.example.com) to=#sbr-stack-backline action={"type":"message","text":"siggy++","ts":0}
2019-03-21 21:10:37 INFO:req [4a2lpvekiag00] [I->M] Relaying in room !FunxmrrGRNAcEObbBF:example.com
sendEvent of type m.room.message in !FunxmrrGRNAcEObbBF:example.com with txnId m1553202637723.595
2019-03-21 21:10:37 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202637723.595  (@irc_almondjoy:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"siggy++\"}"
2019-03-21 21:10:37 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202637723.595  (@irc_almondjoy:example.com) HTTP 200 "{\"event_id\": \"$1553202637260176IWKEY:example.com\"}"
Event sent to !FunxmrrGRNAcEObbBF:example.com with event id $1553202637260176IWKEY:example.com
2019-03-21 21:10:37 INFO:IrcBridge [4a2lpvekiag00] [I->M] SUCCESS  (72ms)
2019-03-21 21:10:37 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:37 +0000] "PUT /transactions/7174717?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:37 INFO:req [3cmpqp8l6ju00] [M->I] m.room.message usr=@irc_almondjoy:example.com rm=!FunxmrrGRNAcEObbBF:example.com body=siggy++
2019-03-21 21:10:37 INFO:req [3cmpqp8l6ju00] [M->I] @irc_almondjoy:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:37 INFO:IrcBridge [3cmpqp8l6ju00] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:10:38 INFO:req [ka1rhyf67dc00] [I->M] onMessage: irc.devel.example.com from=robotnik (null@irc.devel.example.com) to=#sbr-stack-backline action={"type":"message","text":"siggy has \u000211324 \u0002points of karma (rank 11)"
2019-03-21 21:10:38 INFO:req [ka1rhyf67dc00] [I->M] Relaying in room !FunxmrrGRNAcEObbBF:example.com
sendEvent of type m.room.message in !FunxmrrGRNAcEObbBF:example.com with txnId m1553202638391.5346
2019-03-21 21:10:38 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202638391.5346  (@irc_robotnik:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"siggy has 11324 points of karma (rank 11)\",
2019-03-21 21:10:38 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202638391.5346  (@irc_robotnik:example.com) HTTP 200 "{\"event_id\": \"$1553202638260177JfjnH:example.com\"}"
Event sent to !FunxmrrGRNAcEObbBF:example.com with event id $1553202638260177JfjnH:example.com
2019-03-21 21:10:38 INFO:IrcBridge [ka1rhyf67dc00] [I->M] SUCCESS  (92ms)
2019-03-21 21:10:38 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:38 +0000] "PUT /transactions/7174718?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:38 INFO:req [7etaq1hn8dc00] [M->I] m.room.message usr=@irc_robotnik:example.com rm=!FunxmrrGRNAcEObbBF:example.com body=siggy has 11324 poin
2019-03-21 21:10:38 INFO:req [7etaq1hn8dc00] [M->I] @irc_robotnik:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:38 INFO:IrcBridge [7etaq1hn8dc00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:38 INFO:req [4sniy8fv7c800] [I->M] onMessage: irc.devel.example.com from=yulia (null@irc.devel.example.com) to=#sbr-storage action={"type":"message","text":"bdoran|afk, ","ts":0}
2019-03-21 21:10:38 INFO:req [4sniy8fv7c800] [I->M] Relaying in room !OwxjAZsHfixGQjeiRY:example.com
sendEvent of type m.room.message in !OwxjAZsHfixGQjeiRY:example.com with txnId m1553202638855.28
2019-03-21 21:10:38 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!OwxjAZsHfixGQjeiRY%3Aexample.com/send/m.room.message/m1553202638855.28  (@irc_yulia:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"bdoran|afk, \"}"
2019-03-21 21:10:38 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!OwxjAZsHfixGQjeiRY%3Aexample.com/send/m.room.message/m1553202638855.28  (@irc_yulia:example.com) HTTP 200 "{\"event_id\": \"$1553202638260178WYdTb:example.com\"}"
Event sent to !OwxjAZsHfixGQjeiRY:example.com with event id $1553202638260178WYdTb:example.com
2019-03-21 21:10:38 INFO:IrcBridge [4sniy8fv7c800] [I->M] SUCCESS  (130ms)
2019-03-21 21:10:39 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:39 +0000] "PUT /transactions/7174719?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:39 INFO:req [1m3x0criir340] [M->I] m.room.message usr=@irc_yulia:example.com rm=!OwxjAZsHfixGQjeiRY:example.com body=bdoran|afk, 
2019-03-21 21:10:39 INFO:req [1m3x0criir340] [M->I] @irc_yulia:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:39 INFO:IrcBridge [1m3x0criir340] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:39 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_siggy:example.com) HTTP 200 "{}"
2019-03-21 21:10:39 INFO:IrcBridge [gv16gh18mzk00] [I->M] SUCCESS  (2841ms)
2019-03-21 21:10:41 INFO:req [2uougabk7ci00] [I->M] onPart(nick) rikkitikki|brb to #satellite6
2019-03-21 21:10:41 INFO:req [2uougabk7ci00] [I->M] onJoin(nick) rikkitikki to #satellite6
2019-03-21 21:10:41 INFO:req [2uougabk7ci00] [I->M] Mapped nick rikkitikki|brb to {"userId":"@irc_rikkitikki|brb:example.com","localpart":"irc_rikkitikki|brb","_data":{"displayName":"rikkitikki|brb","localpart":"irc_rikkitikki|brb"}}
2019-03-21 21:10:41 INFO:req [2uougabk7ci00] [I->M] Leaving room !ezlwvErBEzvCNHwJUY:example.com
2019-03-21 21:10:41 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!ezlwvErBEzvCNHwJUY%3Aexample.com/leave  (@irc_rikkitikki|brb:example.com) Body: "{}"
2019-03-21 21:10:41 INFO:req [2uougabk7ci00] [I->M] Joining room !ezlwvErBEzvCNHwJUY:example.com and setting presence to online
2019-03-21 21:10:41 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_rikkitikki%3Aexample.com/status  (@irc_rikkitikki:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:41 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!ezlwvErBEzvCNHwJUY%3Aexample.com  (@irc_rikkitikki:example.com) Body: "{}"
2019-03-21 21:10:41 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_rikkitikki%3Aexample.com/status  (@irc_rikkitikki:example.com) HTTP 200 "{}"
2019-03-21 21:10:41 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!ezlwvErBEzvCNHwJUY%3Aexample.com/leave  (@irc_rikkitikki|brb:example.com) HTTP 200 "{}"
2019-03-21 21:10:41 INFO:IrcBridge [2uougabk7ci00] [I->M] SUCCESS  (132ms)
2019-03-21 21:10:41 INFO:req [1hrjpoeg6tk00] [I->M] onJoin(join) jack_1 to #sbr-stack-backline
2019-03-21 21:10:41 INFO:req [1hrjpoeg6tk00] [I->M] Joining room !FunxmrrGRNAcEObbBF:example.com and setting presence to online
2019-03-21 21:10:41 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_jack_1%3Aexample.com/status  (@irc_jack_1:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:41 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!FunxmrrGRNAcEObbBF%3Aexample.com  (@irc_jack_1:example.com) Body: "{}"
2019-03-21 21:10:41 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_jack_1%3Aexample.com/status  (@irc_jack_1:example.com) HTTP 200 "{}"
2019-03-21 21:10:41 INFO:req [5uyg8tdhjfg00] [I->M] onMessage: irc.devel.example.com from=siggy|random (null@irc.devel.example.com) to=#sbr-stack-backline action={"type":"message","text":"yes i can jack","ts":0}
2019-03-21 21:10:41 INFO:req [5uyg8tdhjfg00] [I->M] Relaying in room !FunxmrrGRNAcEObbBF:example.com
sendEvent of type m.room.message in !FunxmrrGRNAcEObbBF:example.com with txnId m1553202641483.0
2019-03-21 21:10:41 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202641483.0  (@irc_siggy|random:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"yes i can Jack Waterworth\",\"format\":\"org
2019-03-21 21:10:41 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!ezlwvErBEzvCNHwJUY%3Aexample.com  (@irc_rikkitikki:example.com) HTTP 200 "{\"room_id\": \"!ezlwvErBEzvCNHwJUY:example.com\"}"
2019-03-21 21:10:41 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!FunxmrrGRNAcEObbBF%3Aexample.com  (@irc_jack_1:example.com) HTTP 200 "{\"room_id\": \"!FunxmrrGRNAcEObbBF:example.com\"}"
2019-03-21 21:10:41 INFO:IrcBridge [1hrjpoeg6tk00] [I->M] SUCCESS  (250ms)
2019-03-21 21:10:41 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202641483.0  (@irc_siggy|random:example.com) HTTP 200 "{\"event_id\": \"$1553202641260184OgOBR:example.com\"}"
Event sent to !FunxmrrGRNAcEObbBF:example.com with event id $1553202641260184OgOBR:example.com
2019-03-21 21:10:41 INFO:IrcBridge [5uyg8tdhjfg00] [I->M] SUCCESS  (194ms)
2019-03-21 21:10:41 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:41 +0000] "PUT /transactions/7174720?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:41 INFO:req [6v8q35wqtnk00] [M->I] onLeave: {"age":637,"content":{"membership":"leave"},"event_id":"$1553202641260181Vmhib:example.com","origin_server_ts":1553202641214,"replaces_state":"$1553200866258595oKaFL:example.com","room_id":"!ezlwvErBEzvCNHwJUY:example.com","sender":"@irc_rikkitikki|brb:example.com","state_key":"@irc_rikkitikki|brb:example.com","type":"m.room.member","unsigned":{"age":637,"replaces_state":"$1553200866258595oKaFL:example.com"},"user_id":"@irc_rikkitikki|brb:example.com"}
2019-03-21 21:10:41 INFO:IrcBridge [6v8q35wqtnk00] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:10:41 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:41 +0000] "PUT /transactions/7174721?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:41 INFO:req [a4fgmlcphcg00] [M->I] onJoin: {"age":462,"content":{"avatar_url":null,"displayname":"jack_1","membership":"join"},"event_id":"$1553202641260183iIJQu:example.com","origin_server_ts":1553202641420,"room_id":"!FunxmrrGRNAcEObbBF:example.com","sender":"@irc_jack_1:example.com","state_key":"@irc_jack_1:example.com","type":"m.room.member","unsigned":{"age":462},"user_id":"@irc_jack_1:example.com"}
2019-03-21 21:10:41 INFO:req [cfhbfhbgm7400] [M->I] m.room.message usr=@irc_siggy|random:example.com rm=!FunxmrrGRNAcEObbBF:example.com body=yes i can Jack Water
2019-03-21 21:10:41 INFO:req [cfhbfhbgm7400] [M->I] @irc_siggy|random:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:41 INFO:IrcBridge [cfhbfhbgm7400] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:10:41 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:41 INFO:req [a4fgmlcphcg00] [M->I] @irc_jack_1:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:41 INFO:IrcBridge [a4fgmlcphcg00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:41 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:41 +0000] "PUT /transactions/7174722?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:41 INFO:req [9qbf90lhy8s00] [M->I] onJoin: {"age":588,"content":{"avatar_url":null,"displayname":"rikkitikki","membership":"join"},"event_id":"$1553202641260182BKktk:example.com","origin_server_ts":1553202641373,"replaces_state":"$1553200866258594LfRXw:example.com","room_id":"!ezlwvErBEzvCNHwJUY:example.com","sender":"@irc_rikkitikki:example.com","state_key":"@irc_rikkitikki:example.com","type":"m.room.member","unsigned":{"age":588,"replaces_state":"$1553200866258594LfRXw:example.com"},"user_id":"@irc_rikkitikki:example.com"}
2019-03-21 21:10:41 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:41 INFO:req [9qbf90lhy8s00] [M->I] @irc_rikkitikki:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:41 INFO:IrcBridge [9qbf90lhy8s00] [M->I] IGNORE virtual user  (5ms)
2019-03-21 21:10:42 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hPolRofRYpcvPNTBFU%3Aexample.com  (@irc_siggy|random:example.com) HTTP 200 "{\"room_id\": \"!hPolRofRYpcvPNTBFU:example.com\"}"
2019-03-21 21:10:42 INFO:req [6fmsw66ljns00] [I->M] onMessage: irc.devel.example.com from=almondjoy (null@irc.devel.example.com) to=#sbr-stack-backline action={"type":"message","text":"lol","ts":0}
2019-03-21 21:10:42 INFO:req [6fmsw66ljns00] [I->M] Relaying in room !FunxmrrGRNAcEObbBF:example.com
sendEvent of type m.room.message in !FunxmrrGRNAcEObbBF:example.com with txnId m1553202642401.596
2019-03-21 21:10:42 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202642401.596  (@irc_almondjoy:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"lol\"}"
2019-03-21 21:10:42 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:42 +0000] "PUT /transactions/7174723?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:42 INFO:req [32awmk3fm8800] [M->I] onJoin: {"age":2799,"content":{"avatar_url":null,"displayname":"siggy|random","membership":"join"},"event_id":"$1553202639260179SpVis:example.com","origin_server_ts":1553202639642,"room_id":"!hPolRofRYpcvPNTBFU:example.com","sender":"@irc_siggy|random:example.com","state_key":"@irc_siggy|random:example.com","type":"m.room.member","unsigned":{"age":2799},"user_id":"@irc_siggy|random:example.com"}
2019-03-21 21:10:42 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:42 INFO:req [32awmk3fm8800] [M->I] @irc_siggy|random:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:42 INFO:IrcBridge [32awmk3fm8800] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:42 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202642401.596  (@irc_almondjoy:example.com) HTTP 200 "{\"event_id\": \"$1553202642260185vmsjS:example.com\"}"
Event sent to !FunxmrrGRNAcEObbBF:example.com with event id $1553202642260185vmsjS:example.com
2019-03-21 21:10:42 INFO:IrcBridge [6fmsw66ljns00] [I->M] SUCCESS  (96ms)
2019-03-21 21:10:42 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:42 +0000] "PUT /transactions/7174724?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:42 INFO:req [77xkwlzddww00] [M->I] m.room.message usr=@irc_almondjoy:example.com rm=!FunxmrrGRNAcEObbBF:example.com body=lol
2019-03-21 21:10:42 INFO:req [77xkwlzddww00] [M->I] @irc_almondjoy:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:42 INFO:IrcBridge [77xkwlzddww00] [M->I] IGNORE virtual user  (5ms)
2019-03-21 21:10:43 INFO:req [80m389eakog00] [I->M] onMessage: irc.devel.example.com from=yulia (null@irc.devel.example.com) to=#sbr-storage action={"type":"message","text":"10-4","ts":0}
2019-03-21 21:10:43 INFO:req [80m389eakog00] [I->M] Relaying in room !OwxjAZsHfixGQjeiRY:example.com
sendEvent of type m.room.message in !OwxjAZsHfixGQjeiRY:example.com with txnId m1553202643476.29
2019-03-21 21:10:43 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!OwxjAZsHfixGQjeiRY%3Aexample.com/send/m.room.message/m1553202643476.29  (@irc_yulia:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"10-4\"}"
2019-03-21 21:10:43 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!OwxjAZsHfixGQjeiRY%3Aexample.com/send/m.room.message/m1553202643476.29  (@irc_yulia:example.com) HTTP 200 "{\"event_id\": \"$1553202643260186YCcZG:example.com\"}"
Event sent to !OwxjAZsHfixGQjeiRY:example.com with event id $1553202643260186YCcZG:example.com
2019-03-21 21:10:43 INFO:IrcBridge [80m389eakog00] [I->M] SUCCESS  (72ms)
2019-03-21 21:10:43 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:43 +0000] "PUT /transactions/7174725?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:43 INFO:req [hrbgtx1xnp400] [M->I] m.room.message usr=@irc_yulia:example.com rm=!OwxjAZsHfixGQjeiRY:example.com body=10-4
2019-03-21 21:10:43 INFO:req [hrbgtx1xnp400] [M->I] @irc_yulia:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:43 INFO:IrcBridge [hrbgtx1xnp400] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:10:46 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:46 +0000] "PUT /transactions/7174726?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:46 INFO:req [3llol7hxg8200] [M->I] m.room.message usr=@jwaterwo:example.com rm=!FunxmrrGRNAcEObbBF:example.com body=now yoru user is fix
2019-03-21 21:10:46 INFO:req [3llol7hxg8200] [M->I] Relaying message in #sbr-stack-backline on irc.devel.example.com
2019-03-21 21:10:46 INFO:IrcBridge Sending IRC message in #sbr-stack-backline as jack (connected=true)
2019-03-21 21:10:46 INFO:IrcBridge [3llol7hxg8200] [M->I] SUCCESS  (6ms)
2019-03-21 21:10:47 INFO:IrcBridge [kunilo6s98g00] [I->M] IGNORE virtual user  (0ms)
2019-03-21 21:10:47 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:47 +0000] "PUT /transactions/7174727?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:47 INFO:req [6x6t5cjc9gs00] [M->I] m.room.message usr=@jwaterwo:example.com rm=!FunxmrrGRNAcEObbBF:example.com body=wtf
2019-03-21 21:10:47 INFO:req [6x6t5cjc9gs00] [M->I] Relaying message in #sbr-stack-backline on irc.devel.example.com
2019-03-21 21:10:47 INFO:IrcBridge Sending IRC message in #sbr-stack-backline as jack (connected=true)
2019-03-21 21:10:47 INFO:IrcBridge [6x6t5cjc9gs00] [M->I] SUCCESS  (2ms)
2019-03-21 21:10:48 INFO:IrcBridge [jocpukul40g00] [I->M] IGNORE virtual user  (2ms)
2019-03-21 21:10:50 INFO:req [j2pkfpbsh5400] [I->M] onJoin(join) jrybar_ to #brno
2019-03-21 21:10:50 INFO:req [j2pkfpbsh5400] [I->M] Joining room !TONJaOClIucnFuRcIE:example.com and setting presence to online
2019-03-21 21:10:50 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_jrybar_%3Aexample.com/status  (@irc_jrybar_:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:50 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!TONJaOClIucnFuRcIE%3Aexample.com  (@irc_jrybar_:example.com) Body: "{}"
2019-03-21 21:10:50 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_jrybar_%3Aexample.com/status  (@irc_jrybar_:example.com) HTTP 200 "{}"
2019-03-21 21:10:50 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!TONJaOClIucnFuRcIE%3Aexample.com  (@irc_jrybar_:example.com) HTTP 200 "{\"room_id\": \"!TONJaOClIucnFuRcIE:example.com\"}"
2019-03-21 21:10:50 INFO:IrcBridge [j2pkfpbsh5400] [I->M] SUCCESS  (153ms)
2019-03-21 21:10:50 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:50 +0000] "PUT /transactions/7174728?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:50 INFO:req [4ox9278hqvc00] [M->I] onJoin: {"age":472,"content":{"avatar_url":null,"displayname":"jrybar_","membership":"join"},"event_id":"$1553202650260189pLHlj:example.com","origin_server_ts":1553202650398,"prev_content":{"membership":"leave"},"replaces_state":"$1553182342241423nvtAo:example.com","room_id":"!TONJaOClIucnFuRcIE:example.com","sender":"@irc_jrybar_:example.com","state_key":"@irc_jrybar_:example.com","type":"m.room.member","unsigned":{"age":472,"prev_content":{"membership":"leave"},"prev_sender":"@irc_jrybar_:example.com","replaces_state":"$1553182342241423nvtAo:example.com"},"user_id":"@irc_jrybar_:example.com"}
2019-03-21 21:10:50 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:50 INFO:req [4ox9278hqvc00] [M->I] @irc_jrybar_:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:50 INFO:IrcBridge [4ox9278hqvc00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:51 INFO:req [cjqo9plikhc00] [I->M] onJoin(join) yshao to #boston
2019-03-21 21:10:51 INFO:req [cjqo9plikhc00] [I->M] Joining room !hAIstqpmihoWJBmBEG:example.com and setting presence to online
2019-03-21 21:10:51 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_yshao%3Aexample.com/status  (@irc_yshao:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:51 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hAIstqpmihoWJBmBEG%3Aexample.com  (@irc_yshao:example.com) Body: "{}"
2019-03-21 21:10:51 INFO:req [bmww91w9hpc00] [I->M] onJoin(join) yshao to #cee
2019-03-21 21:10:51 INFO:req [bmww91w9hpc00] [I->M] Joining room !TIQfWIlPxImgIJsVmM:example.com and setting presence to online
2019-03-21 21:10:51 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_yshao%3Aexample.com/status  (@irc_yshao:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:51 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_yshao%3Aexample.com/status  (@irc_yshao:example.com) HTTP 200 "{}"
2019-03-21 21:10:51 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_yshao%3Aexample.com/status  (@irc_yshao:example.com) HTTP 200 "{}"
2019-03-21 21:10:51 INFO:IrcBridge [bmww91w9hpc00] [I->M] SUCCESS  (33ms)
2019-03-21 21:10:51 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hAIstqpmihoWJBmBEG%3Aexample.com  (@irc_yshao:example.com) HTTP 200 "{\"room_id\": \"!hAIstqpmihoWJBmBEG:example.com\"}"
2019-03-21 21:10:51 INFO:IrcBridge [cjqo9plikhc00] [I->M] SUCCESS  (145ms)
2019-03-21 21:10:51 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:51 +0000] "PUT /transactions/7174729?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:51 INFO:req [2mqpevjg52g00] [M->I] onJoin: {"age":153,"content":{"avatar_url":null,"displayname":"yshao","membership":"join"},"event_id":"$1553202651260190WaoFp:example.com","origin_server_ts":1553202651374,"prev_content":{"membership":"leave"},"replaces_state":"$1553196244255286Wcixg:example.com","room_id":"!hAIstqpmihoWJBmBEG:example.com","sender":"@irc_yshao:example.com","state_key":"@irc_yshao:example.com","type":"m.room.member","unsigned":{"age":153,"prev_content":{"membership":"leave"},"prev_sender":"@irc_yshao:example.com","replaces_state":"$1553196244255286Wcixg:example.com"},"user_id":"@irc_yshao:example.com"}
2019-03-21 21:10:51 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:51 INFO:req [2mqpevjg52g00] [M->I] @irc_yshao:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:51 INFO:IrcBridge [2mqpevjg52g00] [M->I] IGNORE virtual user  (3ms)
2019-03-21 21:10:54 INFO:req [3v5ecx17ksm00] [I->M] onPart(nick) siggy|random to #vz-eoss
2019-03-21 21:10:54 INFO:req [3v5ecx17ksm00] [I->M] onJoin(nick) siggy to #vz-eoss
2019-03-21 21:10:54 INFO:req [783bei9fxv000] [I->M] onPart(nick) siggy|random to #sbr-stack
2019-03-21 21:10:54 INFO:req [783bei9fxv000] [I->M] onJoin(nick) siggy to #sbr-stack
2019-03-21 21:10:54 INFO:req [3v5ecx17ksm00] [I->M] Mapped nick siggy|random to {"userId":"@irc_siggy|random:example.com","localpart":"irc_siggy|random","_data":{"displayName":"siggy|random","localpart":"irc_siggy|random"}}
2019-03-21 21:10:54 INFO:req [3v5ecx17ksm00] [I->M] Leaving room !rMTJSdHTwgjQQFAqyU:example.com
2019-03-21 21:10:54 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!rMTJSdHTwgjQQFAqyU%3Aexample.com/leave  (@irc_siggy|random:example.com) Body: "{}"
2019-03-21 21:10:54 INFO:req [783bei9fxv000] [I->M] Mapped nick siggy|random to {"userId":"@irc_siggy|random:example.com","localpart":"irc_siggy|random","_data":{"displayName":"siggy|random","localpart":"irc_siggy|random"}}
2019-03-21 21:10:54 INFO:req [3v5ecx17ksm00] [I->M] Joining room !rMTJSdHTwgjQQFAqyU:example.com and setting presence to online
2019-03-21 21:10:54 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%3Aexample.com/status  (@irc_siggy:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:54 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!rMTJSdHTwgjQQFAqyU%3Aexample.com  (@irc_siggy:example.com) Body: "{}"
2019-03-21 21:10:54 INFO:req [783bei9fxv000] [I->M] Leaving room !hPolRofRYpcvPNTBFU:example.com
2019-03-21 21:10:54 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_siggy|random:example.com) Body: "{}"
2019-03-21 21:10:54 INFO:req [783bei9fxv000] [I->M] Joining room !hPolRofRYpcvPNTBFU:example.com and setting presence to online
2019-03-21 21:10:54 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%3Aexample.com/status  (@irc_siggy:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:54 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hPolRofRYpcvPNTBFU%3Aexample.com  (@irc_siggy:example.com) Body: "{}"
2019-03-21 21:10:54 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%3Aexample.com/status  (@irc_siggy:example.com) HTTP 200 "{}"
2019-03-21 21:10:55 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_siggy%3Aexample.com/status  (@irc_siggy:example.com) HTTP 200 "{}"
2019-03-21 21:10:55 ERROR:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!rMTJSdHTwgjQQFAqyU%3Aexample.com/leave  (@irc_siggy|random:example.com) HTTP 403 Error: "{\"errcode\":\"M_FORBIDDEN\",\"error\":\"@irc_siggy|random:example.com not in room !rMTJSdHTwgjQQFAqyU:example.com.\"}"
2019-03-21 21:10:55 INFO:IrcBridge [3v5ecx17ksm00] [I->M] FAILED  (101ms)
2019-03-21 21:10:55 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_siggy|random:example.com) HTTP 200 "{}"
2019-03-21 21:10:55 INFO:IrcBridge [783bei9fxv000] [I->M] SUCCESS  (192ms)
2019-03-21 21:10:55 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!rMTJSdHTwgjQQFAqyU%3Aexample.com  (@irc_siggy:example.com) HTTP 200 "{\"room_id\": \"!rMTJSdHTwgjQQFAqyU:example.com\"}"
2019-03-21 21:10:55 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:55 +0000] "PUT /transactions/7174730?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:55 INFO:req [hbugrp8rqa000] [M->I] onLeave: {"age":465,"content":{"membership":"leave"},"event_id":"$1553202655260192BSvpY:example.com","origin_server_ts":1553202655011,"prev_content":{"avatar_url":null,"displayname":"siggy|random","membership":"join"},"replaces_state":"$1553202639260179SpVis:example.com","room_id":"!hPolRofRYpcvPNTBFU:example.com","sender":"@irc_siggy|random:example.com","state_key":"@irc_siggy|random:example.com","type":"m.room.member","unsigned":{"age":465,"prev_content":{"avatar_url":null,"displayname":"siggy|random","membership":"join"},"prev_sender":"@irc_siggy|random:example.com","replaces_state":"$1553202639260179SpVis:example.com"},"user_id":"@irc_siggy|random:example.com"}
2019-03-21 21:10:55 INFO:IrcBridge [hbugrp8rqa000] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:55 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hPolRofRYpcvPNTBFU%3Aexample.com  (@irc_siggy:example.com) HTTP 200 "{\"room_id\": \"!hPolRofRYpcvPNTBFU:example.com\"}"
2019-03-21 21:10:55 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:55 +0000] "PUT /transactions/7174731?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:55 INFO:req [28t7powilni80] [M->I] onJoin: {"age":630,"content":{"avatar_url":null,"displayname":"siggy","membership":"join"},"event_id":"$1553202655260193aXGCO:example.com","origin_server_ts":1553202655077,"replaces_state":"$1553198337256630LtrBR:example.com","room_id":"!rMTJSdHTwgjQQFAqyU:example.com","sender":"@irc_siggy:example.com","state_key":"@irc_siggy:example.com","type":"m.room.member","unsigned":{"age":630,"replaces_state":"$1553198337256630LtrBR:example.com"},"user_id":"@irc_siggy:example.com"}
2019-03-21 21:10:55 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:55 INFO:req [28t7powilni80] [M->I] @irc_siggy:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:55 INFO:IrcBridge [28t7powilni80] [M->I] IGNORE virtual user  (3ms)
2019-03-21 21:10:55 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:55 +0000] "PUT /transactions/7174732?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:55 INFO:req [1u3gsbuq9jkw0] [M->I] onJoin: {"age":445,"content":{"avatar_url":null,"displayname":"siggy","membership":"join"},"event_id":"$1553202655260194XCNVA:example.com","origin_server_ts":1553202655413,"replaces_state":"$1553198337256629ditNW:example.com","room_id":"!hPolRofRYpcvPNTBFU:example.com","sender":"@irc_siggy:example.com","state_key":"@irc_siggy:example.com","type":"m.room.member","unsigned":{"age":445,"replaces_state":"$1553198337256629ditNW:example.com"},"user_id":"@irc_siggy:example.com"}
2019-03-21 21:10:55 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:55 INFO:req [1u3gsbuq9jkw0] [M->I] @irc_siggy:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:55 INFO:IrcBridge [1u3gsbuq9jkw0] [M->I] IGNORE virtual user  (4ms)
2019-03-21 21:10:56 INFO:req [4rtuo6yx6za00] [I->M] onMessage: irc.devel.example.com from=almondjoy (null@irc.devel.example.com) to=#sbr-stack-backline action={"type":"message","text":"matrix~~","ts":0}
2019-03-21 21:10:56 INFO:req [4rtuo6yx6za00] [I->M] Relaying in room !FunxmrrGRNAcEObbBF:example.com
sendEvent of type m.room.message in !FunxmrrGRNAcEObbBF:example.com with txnId m1553202656213.597
2019-03-21 21:10:56 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202656213.597  (@irc_almondjoy:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"matrix~~\"}"
2019-03-21 21:10:56 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202656213.597  (@irc_almondjoy:example.com) HTTP 200 "{\"event_id\": \"$1553202656260195otNUI:example.com\"}"
Event sent to !FunxmrrGRNAcEObbBF:example.com with event id $1553202656260195otNUI:example.com
2019-03-21 21:10:56 INFO:IrcBridge [4rtuo6yx6za00] [I->M] SUCCESS  (104ms)
2019-03-21 21:10:56 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:56 +0000] "PUT /transactions/7174733?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:56 INFO:req [7mgmdglx0ts0] [M->I] m.room.message usr=@irc_almondjoy:example.com rm=!FunxmrrGRNAcEObbBF:example.com body=matrix~~
2019-03-21 21:10:56 INFO:req [7mgmdglx0ts0] [M->I] @irc_almondjoy:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:56 INFO:IrcBridge [7mgmdglx0ts0] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:56 INFO:req [3r9javj6h8w00] [I->M] onMessage: irc.devel.example.com from=robotnik (null@irc.devel.example.com) to=#sbr-stack-backline action={"type":"message","text":"matrix has \u00027 \u0002points of shame (rank 301)","
2019-03-21 21:10:56 INFO:req [3r9javj6h8w00] [I->M] Relaying in room !FunxmrrGRNAcEObbBF:example.com
sendEvent of type m.room.message in !FunxmrrGRNAcEObbBF:example.com with txnId m1553202656500.5347
2019-03-21 21:10:56 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202656500.5347  (@irc_robotnik:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"matrix has 7 points of shame (rank 301)\",\"
2019-03-21 21:10:56 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202656500.5347  (@irc_robotnik:example.com) HTTP 200 "{\"event_id\": \"$1553202656260196ZALXq:example.com\"}"
Event sent to !FunxmrrGRNAcEObbBF:example.com with event id $1553202656260196ZALXq:example.com
2019-03-21 21:10:56 INFO:IrcBridge [3r9javj6h8w00] [I->M] SUCCESS  (70ms)
2019-03-21 21:10:56 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:56 +0000] "PUT /transactions/7174734?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:56 INFO:req [5olha0wuzp400] [M->I] m.room.message usr=@irc_robotnik:example.com rm=!FunxmrrGRNAcEObbBF:example.com body=matrix has 7 points 
2019-03-21 21:10:56 INFO:req [5olha0wuzp400] [M->I] @irc_robotnik:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:56 INFO:IrcBridge [5olha0wuzp400] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:10:57 INFO:req [5xu005gs56w00] [I->M] onPart(nick) jack_1 to #sbr-stack
2019-03-21 21:10:57 INFO:req [5xu005gs56w00] [I->M] onJoin(nick) th3siggy to #sbr-stack
2019-03-21 21:10:57 INFO:req [eccc6pcpi0000] [I->M] onPart(nick) jack_1 to #sbr-stack-backline
2019-03-21 21:10:57 INFO:req [eccc6pcpi0000] [I->M] onJoin(nick) th3siggy to #sbr-stack-backline
2019-03-21 21:10:57 INFO:req [5xu005gs56w00] [I->M] Mapped nick jack_1 to {"userId":"@irc_jack_1:example.com","localpart":"irc_jack_1","_data":{"displayName":"jack_1","localpart":"irc_jack_1"}}
2019-03-21 21:10:57 INFO:req [5xu005gs56w00] [I->M] Leaving room !hPolRofRYpcvPNTBFU:example.com
2019-03-21 21:10:57 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_jack_1:example.com) Body: "{}"
2019-03-21 21:10:57 INFO:req [eccc6pcpi0000] [I->M] Mapped nick jack_1 to {"userId":"@irc_jack_1:example.com","localpart":"irc_jack_1","_data":{"displayName":"jack_1","localpart":"irc_jack_1"}}
2019-03-21 21:10:57 INFO:req [5xu005gs56w00] [I->M] Joining room !hPolRofRYpcvPNTBFU:example.com and setting presence to online
2019-03-21 21:10:57 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_th3siggy%3Aexample.com/status  (@irc_th3siggy:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:57 INFO:req [eccc6pcpi0000] [I->M] Leaving room !FunxmrrGRNAcEObbBF:example.com
2019-03-21 21:10:57 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/leave  (@irc_jack_1:example.com) Body: "{}"
2019-03-21 21:10:57 INFO:req [eccc6pcpi0000] [I->M] Joining room !FunxmrrGRNAcEObbBF:example.com and setting presence to online
2019-03-21 21:10:57 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_th3siggy%3Aexample.com/status  (@irc_th3siggy:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:57 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_th3siggy%3Aexample.com/status  (@irc_th3siggy:example.com) HTTP 200 "{}"
2019-03-21 21:10:57 INFO:IrcBridge [eccc6pcpi0000] [I->M] SUCCESS  (35ms)
2019-03-21 21:10:57 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_th3siggy%3Aexample.com/status  (@irc_th3siggy:example.com) HTTP 200 "{}"
2019-03-21 21:10:57 INFO:IrcBridge [5xu005gs56w00] [I->M] SUCCESS  (137ms)
2019-03-21 21:10:57 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/leave  (@irc_jack_1:example.com) HTTP 200 "{}"
2019-03-21 21:10:57 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_jack_1:example.com) HTTP 200 "{}"
2019-03-21 21:10:57 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:57 +0000] "PUT /transactions/7174735?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:57 INFO:req [fkhso6th2a000] [M->I] onLeave: {"age":196,"content":{"membership":"leave"},"event_id":"$1553202657260197HvjZq:example.com","origin_server_ts":1553202657230,"replaces_state":"$1553202641260183iIJQu:example.com","room_id":"!FunxmrrGRNAcEObbBF:example.com","sender":"@irc_jack_1:example.com","state_key":"@irc_jack_1:example.com","type":"m.room.member","unsigned":{"age":196,"replaces_state":"$1553202641260183iIJQu:example.com"},"user_id":"@irc_jack_1:example.com"}
2019-03-21 21:10:57 INFO:IrcBridge [fkhso6th2a000] [M->I] IGNORE virtual user  (3ms)
2019-03-21 21:10:57 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:57 +0000] "PUT /transactions/7174736?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:57 INFO:req [3wi1sdi7vmg00] [M->I] onLeave: {"age":471,"content":{"membership":"leave"},"event_id":"$1553202657260198pXFcq:example.com","origin_server_ts":1553202657233,"prev_content":{"avatar_url":null,"displayname":"jack_1","membership":"join"},"replaces_state":"$1553200670258480DQkGu:example.com","room_id":"!hPolRofRYpcvPNTBFU:example.com","sender":"@irc_jack_1:example.com","state_key":"@irc_jack_1:example.com","type":"m.room.member","unsigned":{"age":471,"prev_content":{"avatar_url":null,"displayname":"jack_1","membership":"join"},"prev_sender":"@irc_jack_1:example.com","replaces_state":"$1553200670258480DQkGu:example.com"},"user_id":"@irc_jack_1:example.com"}
2019-03-21 21:10:57 INFO:IrcBridge [3wi1sdi7vmg00] [M->I] IGNORE virtual user  (4ms)
2019-03-21 21:10:58 INFO:req [alor8lp6yfc00] [I->M] onMessage: irc.devel.example.com from=jenntonic|wfh (null@irc.devel.example.com) to=#sbr-networking action={"type":"message","text":"prpatel++","ts":0}
2019-03-21 21:10:58 INFO:req [alor8lp6yfc00] [I->M] Relaying in room !aKFxAYOZDxGJcaZRMj:example.com
sendEvent of type m.room.message in !aKFxAYOZDxGJcaZRMj:example.com with txnId m1553202658501.44
2019-03-21 21:10:58 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!aKFxAYOZDxGJcaZRMj%3Aexample.com/send/m.room.message/m1553202658501.44  (@irc_jenntonic|wfh:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"prpatel++\"}"
2019-03-21 21:10:58 INFO:req [6l4csfj5myo00] [I->M] onPart(nick) th3siggy to #sbr-stack-backline
2019-03-21 21:10:58 INFO:req [6l4csfj5myo00] [I->M] onJoin(nick) jack_ to #sbr-stack-backline
2019-03-21 21:10:58 INFO:req [jszh2kgnzog00] [I->M] onPart(nick) th3siggy to #sbr-stack
2019-03-21 21:10:58 INFO:req [jszh2kgnzog00] [I->M] onJoin(nick) jack_ to #sbr-stack
2019-03-21 21:10:58 INFO:req [6l4csfj5myo00] [I->M] Mapped nick th3siggy to {"userId":"@irc_th3siggy:example.com","localpart":"irc_th3siggy","_data":{"displayName":"th3siggy","localpart":"irc_th3siggy"}}
2019-03-21 21:10:58 INFO:req [6l4csfj5myo00] [I->M] Leaving room !FunxmrrGRNAcEObbBF:example.com
2019-03-21 21:10:58 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/leave  (@irc_th3siggy:example.com) Body: "{}"
2019-03-21 21:10:58 INFO:req [jszh2kgnzog00] [I->M] Mapped nick th3siggy to {"userId":"@irc_th3siggy:example.com","localpart":"irc_th3siggy","_data":{"displayName":"th3siggy","localpart":"irc_th3siggy"}}
2019-03-21 21:10:58 INFO:req [6l4csfj5myo00] [I->M] Joining room !FunxmrrGRNAcEObbBF:example.com and setting presence to online
2019-03-21 21:10:58 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!aKFxAYOZDxGJcaZRMj%3Aexample.com/send/m.room.message/m1553202658501.44  (@irc_jenntonic|wfh:example.com) HTTP 200 "{\"event_id\": \"$1553202658260199fLtOk:example.com\"}"
2019-03-21 21:10:58 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_jack_%3Aexample.com/status  (@irc_jack_:example.com) Body: "{\"presence\":\"online\"}"
Event sent to !aKFxAYOZDxGJcaZRMj:example.com with event id $1553202658260199fLtOk:example.com
2019-03-21 21:10:58 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!FunxmrrGRNAcEObbBF%3Aexample.com  (@irc_jack_:example.com) Body: "{}"
2019-03-21 21:10:58 INFO:req [jszh2kgnzog00] [I->M] Leaving room !hPolRofRYpcvPNTBFU:example.com
2019-03-21 21:10:58 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_th3siggy:example.com) Body: "{}"
2019-03-21 21:10:58 INFO:IrcBridge [alor8lp6yfc00] [I->M] SUCCESS  (107ms)
2019-03-21 21:10:58 INFO:req [jszh2kgnzog00] [I->M] Joining room !hPolRofRYpcvPNTBFU:example.com and setting presence to online
2019-03-21 21:10:58 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_jack_%3Aexample.com/status  (@irc_jack_:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:10:58 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hPolRofRYpcvPNTBFU%3Aexample.com  (@irc_jack_:example.com) Body: "{}"
2019-03-21 21:10:58 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_jack_%3Aexample.com/status  (@irc_jack_:example.com) HTTP 200 "{}"
2019-03-21 21:10:58 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_jack_%3Aexample.com/status  (@irc_jack_:example.com) HTTP 200 "{}"
2019-03-21 21:10:58 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:58 +0000] "PUT /transactions/7174737?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:58 INFO:req [y7398snl78w0] [M->I] m.room.message usr=@irc_jenntonic|wfh:example.com rm=!aKFxAYOZDxGJcaZRMj:example.com body=prpatel++
2019-03-21 21:10:58 INFO:req [y7398snl78w0] [M->I] @irc_jenntonic|wfh:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:58 INFO:IrcBridge [y7398snl78w0] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:10:58 INFO:req [9j7gtflgyl800] [I->M] onMessage: irc.devel.example.com from=redshirt (null@irc.devel.example.com) to=#sbr-networking action={"type":"message","text":"prpatel now has 1361 points of karma.","ts":0}
2019-03-21 21:10:58 INFO:req [9j7gtflgyl800] [I->M] Relaying in room !aKFxAYOZDxGJcaZRMj:example.com
sendEvent of type m.room.message in !aKFxAYOZDxGJcaZRMj:example.com with txnId m1553202658748.466
2019-03-21 21:10:58 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!aKFxAYOZDxGJcaZRMj%3Aexample.com/send/m.room.message/m1553202658748.466  (@irc_redshirt:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"prpatel now has 1361 points of karma.\"}"
2019-03-21 21:10:58 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/leave  (@irc_th3siggy:example.com) HTTP 200 "{}"
2019-03-21 21:10:58 INFO:IrcBridge [6l4csfj5myo00] [I->M] SUCCESS  (203ms)
2019-03-21 21:10:58 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_th3siggy:example.com) HTTP 200 "{}"
2019-03-21 21:10:58 INFO:IrcBridge [jszh2kgnzog00] [I->M] SUCCESS  (254ms)
2019-03-21 21:10:58 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:58 +0000] "PUT /transactions/7174738?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:58 INFO:req [jbkw3rrllfs00] [M->I] onLeave: {"age":258,"content":{"membership":"leave"},"event_id":"$1553202658260200ApjiV:example.com","origin_server_ts":1553202658685,"prev_content":{"avatar_url":null,"displayname":"th3siggy","membership":"join"},"replaces_state":"$155277465126996YfQxM:example.com","room_id":"!FunxmrrGRNAcEObbBF:example.com","sender":"@irc_th3siggy:example.com","state_key":"@irc_th3siggy:example.com","type":"m.room.member","unsigned":{"age":258,"prev_content":{"avatar_url":null,"displayname":"th3siggy","membership":"join"},"prev_sender":"@irc_th3siggy:example.com","replaces_state":"$155277465126996YfQxM:example.com"},"user_id":"@irc_th3siggy:example.com"}
2019-03-21 21:10:58 INFO:IrcBridge [jbkw3rrllfs00] [M->I] IGNORE virtual user  (7ms)
2019-03-21 21:10:59 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!aKFxAYOZDxGJcaZRMj%3Aexample.com/send/m.room.message/m1553202658748.466  (@irc_redshirt:example.com) HTTP 200 "{\"event_id\": \"$1553202658260202TBmcY:example.com\"}"
Event sent to !aKFxAYOZDxGJcaZRMj:example.com with event id $1553202658260202TBmcY:example.com
2019-03-21 21:10:59 INFO:IrcBridge [9j7gtflgyl800] [I->M] SUCCESS  (405ms)
2019-03-21 21:10:59 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:59 +0000] "PUT /transactions/7174739?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:59 INFO:req [g524a7jkogw00] [M->I] onLeave: {"age":582,"content":{"membership":"leave"},"event_id":"$1553202658260201wtPbO:example.com","origin_server_ts":1553202658690,"prev_content":{"avatar_url":null,"displayname":"th3siggy","membership":"join"},"replaces_state":"$155277465126997SFbvf:example.com","room_id":"!hPolRofRYpcvPNTBFU:example.com","sender":"@irc_th3siggy:example.com","state_key":"@irc_th3siggy:example.com","type":"m.room.member","unsigned":{"age":582,"prev_content":{"avatar_url":null,"displayname":"th3siggy","membership":"join"},"prev_sender":"@irc_th3siggy:example.com","replaces_state":"$155277465126997SFbvf:example.com"},"user_id":"@irc_th3siggy:example.com"}
2019-03-21 21:10:59 INFO:IrcBridge [g524a7jkogw00] [M->I] IGNORE virtual user  (4ms)
2019-03-21 21:10:59 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:59 +0000] "PUT /transactions/7174740?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:59 INFO:req [icqs93ah7bc00] [M->I] m.room.message usr=@irc_redshirt:example.com rm=!aKFxAYOZDxGJcaZRMj:example.com body=prpatel now has 1361
2019-03-21 21:10:59 INFO:req [icqs93ah7bc00] [M->I] @irc_redshirt:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:59 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!FunxmrrGRNAcEObbBF%3Aexample.com  (@irc_jack_:example.com) HTTP 200 "{\"room_id\": \"!FunxmrrGRNAcEObbBF:example.com\"}"
2019-03-21 21:10:59 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hPolRofRYpcvPNTBFU%3Aexample.com  (@irc_jack_:example.com) HTTP 200 "{\"room_id\": \"!hPolRofRYpcvPNTBFU:example.com\"}"
2019-03-21 21:10:59 INFO:IrcBridge [icqs93ah7bc00] [M->I] IGNORE virtual user  (3ms)
2019-03-21 21:10:59 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:59 +0000] "PUT /transactions/7174741?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:59 INFO:req [kpl1971491c00] [M->I] onJoin: {"age":388,"content":{"avatar_url":null,"displayname":"jack_","membership":"join"},"event_id":"$1553202659260204uBslh:example.com","origin_server_ts":1553202659037,"replaces_state":"$15526860611383408vATso:example.com","room_id":"!FunxmrrGRNAcEObbBF:example.com","sender":"@irc_jack_:example.com","state_key":"@irc_jack_:example.com","type":"m.room.member","unsigned":{"age":388,"replaces_state":"$15526860611383408vATso:example.com"},"user_id":"@irc_jack_:example.com"}
2019-03-21 21:10:59 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:59 INFO:req [kpl1971491c00] [M->I] @irc_jack_:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:59 INFO:IrcBridge [kpl1971491c00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:10:59 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:10:59 +0000] "PUT /transactions/7174742?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:10:59 INFO:req [h91u3xjkf1c00] [M->I] onJoin: {"age":585,"content":{"avatar_url":null,"displayname":"jack_","membership":"join"},"event_id":"$1553202659260203euoCm:example.com","origin_server_ts":1553202659012,"prev_content":{"membership":"leave"},"replaces_state":"$1553200669258479BRdMc:example.com","room_id":"!hPolRofRYpcvPNTBFU:example.com","sender":"@irc_jack_:example.com","state_key":"@irc_jack_:example.com","type":"m.room.member","unsigned":{"age":585,"prev_content":{"membership":"leave"},"prev_sender":"@irc_jack_:example.com","replaces_state":"$1553200669258479BRdMc:example.com"},"user_id":"@irc_jack_:example.com"}
2019-03-21 21:10:59 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:10:59 INFO:req [h91u3xjkf1c00] [M->I] @irc_jack_:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:10:59 INFO:IrcBridge [h91u3xjkf1c00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:11:00 INFO:IrcBridge ::ffff:10.128.1.78 - - [21/Mar/2019:21:11:00 +0000] "GET /metrics HTTP/1.1" 200 12917 "-" "Prometheus/2.3.2"

2019-03-21 21:11:03 INFO:req [74qznfnojow00] [I->M] onPart(nick) fsun to #lvm
2019-03-21 21:11:03 INFO:req [74qznfnojow00] [I->M] onJoin(nick) fsun`away to #lvm
2019-03-21 21:11:03 INFO:req [74qznfnojow00] [I->M] Mapped nick fsun to {"userId":"@irc_fsun:example.com","localpart":"irc_fsun","_data":{"displayName":"fsun (IRC)","localpart":"irc_fsun"}}
2019-03-21 21:11:03 INFO:req [74qznfnojow00] [I->M] Leaving room !hkjFZMyeeWBInwAdjB:example.com
2019-03-21 21:11:03 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hkjFZMyeeWBInwAdjB%3Aexample.com/leave  (@irc_fsun:example.com) Body: "{}"
2019-03-21 21:11:03 INFO:req [74qznfnojow00] [I->M] Joining room !hkjFZMyeeWBInwAdjB:example.com and setting presence to online
2019-03-21 21:11:03 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_fsun%60away%3Aexample.com/status  (@irc_fsun`away:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:11:03 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hkjFZMyeeWBInwAdjB%3Aexample.com  (@irc_fsun`away:example.com) Body: "{}"
2019-03-21 21:11:04 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_fsun%60away%3Aexample.com/status  (@irc_fsun`away:example.com) HTTP 200 "{}"
2019-03-21 21:11:04 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!hkjFZMyeeWBInwAdjB%3Aexample.com  (@irc_fsun`away:example.com) HTTP 200 "{\"room_id\": \"!hkjFZMyeeWBInwAdjB:example.com\"}"
2019-03-21 21:11:04 INFO:IrcBridge [74qznfnojow00] [I->M] SUCCESS  (885ms)
2019-03-21 21:11:04 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:04 +0000] "PUT /transactions/7174743?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:04 INFO:req [261wip3u60740] [M->I] onJoin: {"age":316,"content":{"avatar_url":null,"displayname":"fsun`away","membership":"join"},"event_id":"$1553202664260205AAzTS:example.com","origin_server_ts":1553202664270,"prev_content":{"membership":"leave"},"replaces_state":"$1553191403251079pXUKC:example.com","room_id":"!hkjFZMyeeWBInwAdjB:example.com","sender":"@irc_fsun`away:example.com","state_key":"@irc_fsun`away:example.com","type":"m.room.member","unsigned":{"age":316,"prev_content":{"membership":"leave"},"prev_sender":"@irc_fsun`away:example.com","replaces_state":"$1553191403251079pXUKC:example.com"},"user_id":"@irc_fsun`away:example.com"}
2019-03-21 21:11:04 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:11:04 INFO:req [261wip3u60740] [M->I] @irc_fsun`away:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:11:04 INFO:IrcBridge [261wip3u60740] [M->I] IGNORE virtual user  (3ms)
2019-03-21 21:11:04 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hkjFZMyeeWBInwAdjB%3Aexample.com/leave  (@irc_fsun:example.com) HTTP 200 "{}"
2019-03-21 21:11:04 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:04 +0000] "PUT /transactions/7174744?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:04 INFO:req [df1byph78gw00] [M->I] onLeave: {"age":134,"content":{"membership":"leave"},"event_id":"$1553202664260206MDKRL:example.com","origin_server_ts":1553202664570,"replaces_state":"$1553191403251078JqPnk:example.com","room_id":"!hkjFZMyeeWBInwAdjB:example.com","sender":"@irc_fsun:example.com","state_key":"@irc_fsun:example.com","type":"m.room.member","unsigned":{"age":134,"replaces_state":"$1553191403251078JqPnk:example.com"},"user_id":"@irc_fsun:example.com"}
2019-03-21 21:11:04 INFO:IrcBridge [df1byph78gw00] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:11:05 INFO:req [9trrlkyzh0k00] [I->M] onMessage: irc.devel.example.com from=jparrill (null@irc.devel.example.com) to=#iberia-syseng action={"type":"message","text":" 6     parri-ph9vc-master-0           ejecutando","ts"
2019-03-21 21:11:05 INFO:req [9trrlkyzh0k00] [I->M] Relaying in room !lqaGjXhAmzxxepTuqZ:example.com
sendEvent of type m.room.message in !lqaGjXhAmzxxepTuqZ:example.com with txnId m1553202665680.808
2019-03-21 21:11:05 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!lqaGjXhAmzxxepTuqZ%3Aexample.com/send/m.room.message/m1553202665680.808  (@irc_jparrill:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\" 6     parri-ph9vc-master-0           ejecut
2019-03-21 21:11:05 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!lqaGjXhAmzxxepTuqZ%3Aexample.com/send/m.room.message/m1553202665680.808  (@irc_jparrill:example.com) HTTP 200 "{\"event_id\": \"$1553202665260207zAhOD:example.com\"}"
Event sent to !lqaGjXhAmzxxepTuqZ:example.com with event id $1553202665260207zAhOD:example.com
2019-03-21 21:11:05 INFO:IrcBridge [9trrlkyzh0k00] [I->M] SUCCESS  (53ms)
2019-03-21 21:11:05 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:05 +0000] "PUT /transactions/7174745?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:05 INFO:req [j0b4fh3r1j400] [M->I] m.room.message usr=@irc_jparrill:example.com rm=!lqaGjXhAmzxxepTuqZ:example.com body= 6     parri-ph9vc-m
2019-03-21 21:11:05 INFO:req [j0b4fh3r1j400] [M->I] @irc_jparrill:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:11:05 INFO:IrcBridge [j0b4fh3r1j400] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:11:05 INFO:req [igzp04soue000] [I->M] onMessage: irc.devel.example.com from=jparrill (null@irc.devel.example.com) to=#iberia-syseng action={"type":"message","text":" 7     parri-ph9vc-worker-0-97fjm     ejecutando","ts"
2019-03-21 21:11:05 INFO:req [igzp04soue000] [I->M] Relaying in room !lqaGjXhAmzxxepTuqZ:example.com
sendEvent of type m.room.message in !lqaGjXhAmzxxepTuqZ:example.com with txnId m1553202665864.809
2019-03-21 21:11:05 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!lqaGjXhAmzxxepTuqZ%3Aexample.com/send/m.room.message/m1553202665864.809  (@irc_jparrill:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\" 7     parri-ph9vc-worker-0-97fjm     ejecut
2019-03-21 21:11:05 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!lqaGjXhAmzxxepTuqZ%3Aexample.com/send/m.room.message/m1553202665864.809  (@irc_jparrill:example.com) HTTP 200 "{\"event_id\": \"$1553202665260208vqAij:example.com\"}"
Event sent to !lqaGjXhAmzxxepTuqZ:example.com with event id $1553202665260208vqAij:example.com
2019-03-21 21:11:05 INFO:IrcBridge [igzp04soue000] [I->M] SUCCESS  (51ms)
2019-03-21 21:11:05 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:05 +0000] "PUT /transactions/7174746?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:05 INFO:req [cx5ww5td5t400] [M->I] m.room.message usr=@irc_jparrill:example.com rm=!lqaGjXhAmzxxepTuqZ:example.com body= 7     parri-ph9vc-w
2019-03-21 21:11:05 INFO:req [cx5ww5td5t400] [M->I] @irc_jparrill:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:11:05 INFO:IrcBridge [cx5ww5td5t400] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:11:06 INFO:req [ai102fl7hb400] [I->M] onMessage: irc.devel.example.com from=siggy (null@irc.devel.example.com) to=#sbr-stack-backline action={"type":"message","text":"identity theft!","ts":0}
2019-03-21 21:11:06 INFO:req [ai102fl7hb400] [I->M] Relaying in room !FunxmrrGRNAcEObbBF:example.com
2019-03-21 21:11:06 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!FunxmrrGRNAcEObbBF%3Aexample.com  (@irc_siggy:example.com) Body: "{}"
2019-03-21 21:11:06 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!FunxmrrGRNAcEObbBF%3Aexample.com  (@irc_siggy:example.com) HTTP 200 "{\"room_id\": \"!FunxmrrGRNAcEObbBF:example.com\"}"
sendEvent of type m.room.message in !FunxmrrGRNAcEObbBF:example.com with txnId m1553202666434.335
2019-03-21 21:11:06 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202666434.335  (@irc_siggy:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"identity theft!\"}"
2019-03-21 21:11:06 INFO:req [8dg4qpm2em800] [I->M] onPart(quit) lennysz to #boston
2019-03-21 21:11:06 INFO:req [8dg4qpm2em800] [I->M] Mapped nick lennysz to {"userId":"@irc_lennysz:example.com","localpart":"irc_lennysz","_data":{"displayName":"lennysz (IRC)","localpart":"irc_lennysz"}}
2019-03-21 21:11:06 INFO:req [8dg4qpm2em800] [I->M] Leaving room !hAIstqpmihoWJBmBEG:example.com
2019-03-21 21:11:06 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hAIstqpmihoWJBmBEG%3Aexample.com/leave  (@irc_lennysz:example.com) Body: "{}"
2019-03-21 21:11:06 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:06 +0000] "PUT /transactions/7174747?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:06 INFO:req [g95ciawv4hs00] [M->I] onJoin: {"age":194,"content":{"avatar_url":null,"displayname":"siggy","membership":"join"},"event_id":"$1553202666260209NoguW:example.com","origin_server_ts":1553202666363,"prev_content":{"membership":"leave"},"replaces_state":"$1553202636260171oGPWm:example.com","room_id":"!FunxmrrGRNAcEObbBF:example.com","sender":"@irc_siggy:example.com","state_key":"@irc_siggy:example.com","type":"m.room.member","unsigned":{"age":194,"prev_content":{"membership":"leave"},"prev_sender":"@irc_siggy:example.com","replaces_state":"$1553202636260171oGPWm:example.com"},"user_id":"@irc_siggy:example.com"}
2019-03-21 21:11:06 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:11:06 INFO:req [g95ciawv4hs00] [M->I] @irc_siggy:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:11:06 INFO:IrcBridge [g95ciawv4hs00] [M->I] IGNORE virtual user  (4ms)
2019-03-21 21:11:06 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202666434.335  (@irc_siggy:example.com) HTTP 200 "{\"event_id\": \"$1553202666260210WQljj:example.com\"}"
Event sent to !FunxmrrGRNAcEObbBF:example.com with event id $1553202666260210WQljj:example.com
2019-03-21 21:11:06 INFO:IrcBridge [ai102fl7hb400] [I->M] SUCCESS  (277ms)
2019-03-21 21:11:06 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:06 +0000] "PUT /transactions/7174748?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:06 INFO:req [jzeg3j2q2pc00] [M->I] m.room.message usr=@irc_siggy:example.com rm=!FunxmrrGRNAcEObbBF:example.com body=identity theft!
2019-03-21 21:11:06 INFO:req [jzeg3j2q2pc00] [M->I] @irc_siggy:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:11:06 INFO:IrcBridge [jzeg3j2q2pc00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:11:06 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hAIstqpmihoWJBmBEG%3Aexample.com/leave  (@irc_lennysz:example.com) HTTP 200 "{}"
2019-03-21 21:11:06 INFO:IrcBridge [8dg4qpm2em800] [I->M] SUCCESS  (235ms)
2019-03-21 21:11:06 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:06 +0000] "PUT /transactions/7174749?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:06 INFO:req [3gvc2txozhw00] [M->I] onLeave: {"age":159,"content":{"membership":"leave"},"event_id":"$1553202666260211OwLnu:example.com","origin_server_ts":1553202666596,"prev_content":{"avatar_url":null,"displayname":"lennysz","membership":"join"},"replaces_state":"$1553192952252682uLcmL:example.com","room_id":"!hAIstqpmihoWJBmBEG:example.com","sender":"@irc_lennysz:example.com","state_key":"@irc_lennysz:example.com","type":"m.room.member","unsigned":{"age":159,"prev_content":{"avatar_url":null,"displayname":"lennysz","membership":"join"},"prev_sender":"@irc_lennysz:example.com","replaces_state":"$1553192952252682uLcmL:example.com"},"user_id":"@irc_lennysz:example.com"}
2019-03-21 21:11:06 INFO:IrcBridge [3gvc2txozhw00] [M->I] IGNORE virtual user  (4ms)
2019-03-21 21:11:08 INFO:req [8ek40017m7g00] [I->M] onPart(nick) lark|brb to #sbr-networking
2019-03-21 21:11:08 INFO:req [8ek40017m7g00] [I->M] onJoin(nick) lark to #sbr-networking
2019-03-21 21:11:08 INFO:req [1oym4p5oqnr40] [I->M] onPart(nick) lark|brb to #sbr-sysmgmt
2019-03-21 21:11:08 INFO:req [1oym4p5oqnr40] [I->M] onJoin(nick) lark to #sbr-sysmgmt
2019-03-21 21:11:08 INFO:req [42qsv24rmcq00] [I->M] onPart(nick) lark|brb to #sbr-stack
2019-03-21 21:11:08 INFO:req [42qsv24rmcq00] [I->M] onJoin(nick) lark to #sbr-stack
2019-03-21 21:11:08 INFO:req [7c45gq9i2ys00] [I->M] onPart(nick) lark|brb to #cee
2019-03-21 21:11:08 INFO:req [7c45gq9i2ys00] [I->M] onJoin(nick) lark to #cee
2019-03-21 21:11:08 INFO:req [jt6knqgn4jk00] [I->M] onPart(nick) lark|brb to #sbr-virt
2019-03-21 21:11:08 INFO:req [jt6knqgn4jk00] [I->M] onJoin(nick) lark to #sbr-virt
2019-03-21 21:11:08 INFO:req [2p0nwk3mvtm00] [I->M] onPart(nick) lark|brb to #sbr-storage
2019-03-21 21:11:08 INFO:req [2p0nwk3mvtm00] [I->M] onJoin(nick) lark to #sbr-storage
2019-03-21 21:11:08 INFO:req [8ek40017m7g00] [I->M] Mapped nick lark|brb to {"userId":"@irc_lark|brb:example.com","localpart":"irc_lark|brb","_data":{"displayName":"lark|brb","localpart":"irc_lark|brb"}}
2019-03-21 21:11:08 INFO:req [8ek40017m7g00] [I->M] Leaving room !aKFxAYOZDxGJcaZRMj:example.com
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!aKFxAYOZDxGJcaZRMj%3Aexample.com/leave  (@irc_lark|brb:example.com) Body: "{}"
2019-03-21 21:11:08 INFO:req [1oym4p5oqnr40] [I->M] Mapped nick lark|brb to {"userId":"@irc_lark|brb:example.com","localpart":"irc_lark|brb","_data":{"displayName":"lark|brb","localpart":"irc_lark|brb"}}
2019-03-21 21:11:08 INFO:req [8ek40017m7g00] [I->M] Joining room !aKFxAYOZDxGJcaZRMj:example.com and setting presence to online
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:11:08 INFO:req [1oym4p5oqnr40] [I->M] Leaving room !lYJFAlNMKxcsjWzHmJ:example.com
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!lYJFAlNMKxcsjWzHmJ%3Aexample.com/leave  (@irc_lark|brb:example.com) Body: "{}"
2019-03-21 21:11:08 INFO:req [42qsv24rmcq00] [I->M] Mapped nick lark|brb to {"userId":"@irc_lark|brb:example.com","localpart":"irc_lark|brb","_data":{"displayName":"lark|brb","localpart":"irc_lark|brb"}}
2019-03-21 21:11:08 INFO:req [1oym4p5oqnr40] [I->M] Joining room !lYJFAlNMKxcsjWzHmJ:example.com and setting presence to online
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:11:08 INFO:req [42qsv24rmcq00] [I->M] Leaving room !hPolRofRYpcvPNTBFU:example.com
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_lark|brb:example.com) Body: "{}"
2019-03-21 21:11:08 INFO:req [7c45gq9i2ys00] [I->M] Mapped nick lark|brb to {"userId":"@irc_lark|brb:example.com","localpart":"irc_lark|brb","_data":{"displayName":"lark|brb","localpart":"irc_lark|brb"}}
2019-03-21 21:11:08 INFO:req [42qsv24rmcq00] [I->M] Joining room !hPolRofRYpcvPNTBFU:example.com and setting presence to online
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:11:08 INFO:req [7c45gq9i2ys00] [I->M] Leaving room !TIQfWIlPxImgIJsVmM:example.com
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!TIQfWIlPxImgIJsVmM%3Aexample.com/leave  (@irc_lark|brb:example.com) Body: "{}"
2019-03-21 21:11:08 INFO:req [jt6knqgn4jk00] [I->M] Mapped nick lark|brb to {"userId":"@irc_lark|brb:example.com","localpart":"irc_lark|brb","_data":{"displayName":"lark|brb","localpart":"irc_lark|brb"}}
2019-03-21 21:11:08 INFO:req [7c45gq9i2ys00] [I->M] Joining room !TIQfWIlPxImgIJsVmM:example.com and setting presence to online
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!TIQfWIlPxImgIJsVmM%3Aexample.com  (@irc_lark:example.com) Body: "{}"
2019-03-21 21:11:08 INFO:req [jt6knqgn4jk00] [I->M] Leaving room !CeHZeooPCQpzxHKhfn:example.com
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!CeHZeooPCQpzxHKhfn%3Aexample.com/leave  (@irc_lark|brb:example.com) Body: "{}"
2019-03-21 21:11:08 INFO:req [2p0nwk3mvtm00] [I->M] Mapped nick lark|brb to {"userId":"@irc_lark|brb:example.com","localpart":"irc_lark|brb","_data":{"displayName":"lark|brb","localpart":"irc_lark|brb"}}
2019-03-21 21:11:08 INFO:req [jt6knqgn4jk00] [I->M] Joining room !CeHZeooPCQpzxHKhfn:example.com and setting presence to online
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:11:08 INFO:req [2p0nwk3mvtm00] [I->M] Leaving room !OwxjAZsHfixGQjeiRY:example.com
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!OwxjAZsHfixGQjeiRY%3Aexample.com/leave  (@irc_lark|brb:example.com) Body: "{}"
2019-03-21 21:11:08 INFO:req [2p0nwk3mvtm00] [I->M] Joining room !OwxjAZsHfixGQjeiRY:example.com and setting presence to online
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) Body: "{\"presence\":\"online\"}"
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [1oym4p5oqnr40] [I->M] SUCCESS  (41ms)
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [42qsv24rmcq00] [I->M] SUCCESS  (89ms)
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [8ek40017m7g00] [I->M] SUCCESS  (104ms)
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/presence/%40irc_lark%3Aexample.com/status  (@irc_lark:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [jt6knqgn4jk00] [I->M] SUCCESS  (172ms)
2019-03-21 21:11:08 INFO:IrcBridge [2p0nwk3mvtm00] [I->M] SUCCESS  (172ms)
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!aKFxAYOZDxGJcaZRMj%3Aexample.com/leave  (@irc_lark|brb:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!lYJFAlNMKxcsjWzHmJ%3Aexample.com/leave  (@irc_lark|brb:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!hPolRofRYpcvPNTBFU%3Aexample.com/leave  (@irc_lark|brb:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!CeHZeooPCQpzxHKhfn%3Aexample.com/leave  (@irc_lark|brb:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!OwxjAZsHfixGQjeiRY%3Aexample.com/leave  (@irc_lark|brb:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/rooms/!TIQfWIlPxImgIJsVmM%3Aexample.com/leave  (@irc_lark|brb:example.com) HTTP 200 "{}"
2019-03-21 21:11:08 INFO:IrcBridge [7c45gq9i2ys00] [I->M] SUCCESS  (425ms)
2019-03-21 21:11:08 INFO:IrcBridge [-] POST http://matrix-synapse:8008/_matrix/client/r0/join/!TIQfWIlPxImgIJsVmM%3Aexample.com  (@irc_lark:example.com) HTTP 200 "{\"room_id\": \"!TIQfWIlPxImgIJsVmM:example.com\"}"
2019-03-21 21:11:08 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:08 +0000] "PUT /transactions/7174750?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:08 INFO:req [kvsb3bu2gtc00] [M->I] onLeave: {"age":654,"content":{"membership":"leave"},"event_id":"$1553202668260214grOrr:example.com","origin_server_ts":1553202668312,"replaces_state":"$1553202123259611Qiemp:example.com","room_id":"!TIQfWIlPxImgIJsVmM:example.com","sender":"@irc_lark|brb:example.com","state_key":"@irc_lark|brb:example.com","type":"m.room.member","unsigned":{"age":654,"replaces_state":"$1553202123259611Qiemp:example.com"},"user_id":"@irc_lark|brb:example.com"}
2019-03-21 21:11:08 INFO:IrcBridge [kvsb3bu2gtc00] [M->I] IGNORE virtual user  (2ms)
2019-03-21 21:11:09 INFO:req [g1w8j1gvmao00] [I->M] onMessage: irc.devel.example.com from=jparrill (null@irc.devel.example.com) to=#iberia-syseng action={"type":"message","text":"1 worker","ts":0}
2019-03-21 21:11:09 INFO:req [g1w8j1gvmao00] [I->M] Relaying in room !lqaGjXhAmzxxepTuqZ:example.com
sendEvent of type m.room.message in !lqaGjXhAmzxxepTuqZ:example.com with txnId m1553202669044.810
2019-03-21 21:11:09 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!lqaGjXhAmzxxepTuqZ%3Aexample.com/send/m.room.message/m1553202669044.810  (@irc_jparrill:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"1 worker\"}"
2019-03-21 21:11:09 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!lqaGjXhAmzxxepTuqZ%3Aexample.com/send/m.room.message/m1553202669044.810  (@irc_jparrill:example.com) HTTP 200 "{\"event_id\": \"$1553202669260220fCfzC:example.com\"}"
Event sent to !lqaGjXhAmzxxepTuqZ:example.com with event id $1553202669260220fCfzC:example.com
2019-03-21 21:11:09 INFO:IrcBridge [g1w8j1gvmao00] [I->M] SUCCESS  (53ms)
2019-03-21 21:11:09 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:09 +0000] "PUT /transactions/7174751?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:09 INFO:req [era1h3ugwu800] [M->I] onJoin: {"age":736,"content":{"avatar_url":null,"displayname":"lark","membership":"join"},"event_id":"$1553202668260219hIQuC:example.com","origin_server_ts":1553202668606,"replaces_state":"$1553202123259609klsGQ:example.com","room_id":"!TIQfWIlPxImgIJsVmM:example.com","sender":"@irc_lark:example.com","state_key":"@irc_lark:example.com","type":"m.room.member","unsigned":{"age":736,"replaces_state":"$1553202123259609klsGQ:example.com"},"user_id":"@irc_lark:example.com"}
2019-03-21 21:11:09 INFO:IrcBridge joinBot: Bot is disabled.
2019-03-21 21:11:09 INFO:req [era1h3ugwu800] [M->I] @irc_lark:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:11:09 INFO:IrcBridge [era1h3ugwu800] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:11:09 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:09 +0000] "PUT /transactions/7174752?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"

2019-03-21 21:11:09 INFO:req [g8ztbhk1wf400] [M->I] m.room.message usr=@irc_jparrill:example.com rm=!lqaGjXhAmzxxepTuqZ:example.com body=1 worker
2019-03-21 21:11:09 INFO:req [g8ztbhk1wf400] [M->I] @irc_jparrill:example.com is a virtual user (claimed by irc.devel.example.com)
2019-03-21 21:11:09 INFO:IrcBridge [g8ztbhk1wf400] [M->I] IGNORE virtual user  (1ms)
2019-03-21 21:11:10 INFO:req [f8exjek4c2o00] [I->M] onMessage: irc.devel.example.com from=siggy (null@irc.devel.example.com) to=#sbr-stack-backline action={"type":"message","text":"the horror","ts":0}
2019-03-21 21:11:10 INFO:req [f8exjek4c2o00] [I->M] Relaying in room !FunxmrrGRNAcEObbBF:example.com
sendEvent of type m.room.message in !FunxmrrGRNAcEObbBF:example.com with txnId m1553202670191.336
2019-03-21 21:11:10 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202670191.336  (@irc_siggy:example.com) Body: "{\"msgtype\":\"m.text\",\"body\":\"the horror\"}"
2019-03-21 21:11:10 INFO:IrcBridge [-] PUT http://matrix-synapse:8008/_matrix/client/r0/rooms/!FunxmrrGRNAcEObbBF%3Aexample.com/send/m.room.message/m1553202670191.336  (@irc_siggy:example.com) HTTP 200 "{\"event_id\": \"$1553202670260222rZKms:example.com\"}"
Event sent to !FunxmrrGRNAcEObbBF:example.com with event id $1553202670260222rZKms:example.com
2019-03-21 21:11:10 INFO:IrcBridge [f8exjek4c2o00] [I->M] SUCCESS  (69ms)
2019-03-21 21:11:10 INFO:IrcBridge ::ffff:10.128.0.1 - - [21/Mar/2019:21:11:10 +0000] "PUT /transactions/7174753?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/0.99.0"
phoerious commented 5 years ago

This is a serious problem. I was able to clear out all ghosts but one by repeatedly joining and leaving under different names on the IRC side. However, I cannot remove the last one, perhaps because other people in the channel also using Matrix are keeping it alive.

Changing my own nickname via !nick NICKNAME through the bridge also creates a ghost, so whenever I do that, I have to purge the old name afterwards via IRC. This is made even worse by being in multiple channels with inconsistent ghosts, because then clearing a ghost in one channel, creates another ghost in the other channel and vice versa. I tried circumventing that by leaving on the Matrix side as well, but nonetheless wasn't able to clear out the last remaining ghost. So in one channel I am ghost-free now, in the other I have a twin buddy that I can't get rid of.

hackers-terabit commented 5 years ago

Addition to this:

If a user has joined at least one IRC room and changes their matrix nick furiously while joined a matrix room (didn't test with only an IRC room) and rejoined a previously joined matrix or IRC room, all their nick changes while parted are displayed inside the matrix room as well as IRC room.

This can lead to serious abuse,theoretically, a user can change their nick 10000 times while parted,even if freenode won't accecpt their agressive nick change, matrix and riot would. when the user rejoins any room after that, those rooms might get spammed with 10000 nick changes and the nick list filled with 10000 additional entries.

ara4n commented 5 years ago

just confirming this is on our radar.

mweinelt commented 2 years ago

We are seeing this problem on 0.32.1.

A user on IRC changes their nickname. They are on at least 10 bridged rooms with that identity. Only for 3/10 we see the onPart(nick) and onJoin(nick) events logged. Why is that?

2021-12-30 12:04:00 INFO:req [cya4ff7gp1400] [[I->M]] onPart(nick) tom to #rc3
2021-12-30 12:04:00 INFO:req [cya4ff7gp1400] [[I->M]] onJoin(nick) tomh to #rc3
2021-12-30 12:04:00 INFO:req [4odwkvzrdfa00] [[I->M]] onPart(nick) tom to #rc3-r3s
2021-12-30 12:04:00 INFO:req [4odwkvzrdfa00] [[I->M]] onJoin(nick) tomh to #rc3-r3s
2021-12-30 12:04:00 INFO:req [ct4wqubc9cw00] [[I->M]] onPart(nick) tom to #rc3-cwtv
2021-12-30 12:04:00 INFO:req [ct4wqubc9cw00] [[I->M]] onJoin(nick) tomh to #rc3-cwtv

The old identity remains on all but these three rooms, they also don't see the new identity until the new identity starts communicating on IRC. Then the bridge notices, that the user should have been joined and then we have both the old and new identity on these 7/10 matrix rooms.

2021-12-30 12:33:52 INFO:req [48kl1ey7tk600] [[I->M]] onMessage: irc.hackint.org from=tomh (null@irc.hackint.org) to=#hackint-matrix
2021-12-30 12:33:52 DEBUG:req [48kl1ey7tk600] [[I->M]] action={"type":"message","text":"ja","ts":0}
2021-12-30 12:33:52 DEBUG:req [48kl1ey7tk600] [[I->M]] !AjGVpgrhEIFaHpjggS:hackint.org requires Matrix users to be joined
2021-12-30 12:33:52 DEBUG:req [48kl1ey7tk600] [[I->M]] Relaying in room(s) !AjGVpgrhEIFaHpjggS:hackint.org
Dec-30 12:33:52.408 DEBUG Intent Checking if user @tomh:hackint.org is registered
Dec-30 12:33:52.408 DEBUG Intent ensureRegistered: Registered, and not encrypted
2021-12-30 12:33:52 INFO:IrcBridge 127.0.0.1 - - [30/Dec/2021:11:33:52 +0000] "PUT /transactions/306294?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/1.48.0"
2021-12-30 12:33:52 INFO:req [b56j71nhv8w00] [[M->I]] onJoin: usr=@tomh:hackint.org rm=!AjGVpgrhEIFaHpjggS:hackint.org id=$tMZfMenlaGZE5EG1NftR6QzFQlGWTPSs1Ow80pmyEn4
2021-12-30 12:33:52 INFO:IrcBridge joinBot: Bot is disabled.
2021-12-30 12:33:52 DEBUG:req [b56j71nhv8w00] [[M->I]] @tomh:hackint.org is a virtual user (claimed by irc.hackint.org)
2021-12-30 12:33:52 INFO:IrcBridge [b56j71nhv8w00] [M->I] IGNORE virtual user  (5ms)
2021-12-30 12:33:52 INFO:IrcBridge [48kl1ey7tk600] [I->M] SUCCESS  (401ms)
Dec-30 12:33:52.800 DEBUG UserActTracker Notifying the listener of RMAU changes
2021-12-30 12:33:52 INFO:IrcBridge 127.0.0.1 - - [30/Dec/2021:11:33:52 +0000] "PUT /transactions/306295?access_token=<REDACTED> HTTP/1.1" 200 2 "-" "Synapse/1.48.0"
2021-12-30 12:33:52 INFO:req [8p77sdssqow00] [[M->I]] onMessage: m.room.message usr=@tomh:hackint.org rm=!AjGVpgrhEIFaHpjggS:hackint.org id=$4KX061MPQqLNZhpuGkghzSQzQ-5zBotuarxn4VorpWY
2021-12-30 12:33:52 DEBUG:req [8p77sdssqow00] [[M->I]] Message body: ja
2021-12-30 12:33:52 DEBUG:req [8p77sdssqow00] [[M->I]] @tomh:hackint.org is a virtual user (claimed by irc.hackint.org)
2021-12-30 12:33:52 INFO:IrcBridge [8p77sdssqow00] [M->I] IGNORE virtual user  (2ms)