Open joepie91 opened 4 years ago
Hmm, we fall back to using the appservice bot if we think the user who set the permission doesn't have permission. Though, that doesn't seem to apply here.
Ah, did Selavi have permission to change the topic?
Well, that depends on how you look at 'permission', I guess. The IRCd didn't reject their attempt, as it went through before being reset by ChanServ; but ChanServ certainly concluded that they weren't allowed to do it, because of the topic lock set on the ChanServ side.
Does the bridge perhaps contain some logic like "only assume they have permission if they have +o
"? Selavi doesn't have +o
, but chanop status doesn't necessarily cleanly map to topic-changing permission on IRC anyway.
(What's the rationale behind using the appservice bot identity in the non-permission case anyway?)
When a topic is locked on Freenode (and gets reset by ChanServ), the change-back doesn't come through, and the original change gets shown as originating from the appservice, but only when it is someone else changing the topic.
When changing the topic yourself, both the topic set and the change-back are bridged correctly, showing your own user and ChanServ respectively.
Via Matrix, when someone else changes the topic:
Via IRC directly:
But... when I change the topic, via Matrix:
And via IRC directly: