42wim / matterircd

Connect to your mattermost or slack using your IRC-client of choice.
MIT License
295 stars 60 forks source link

Join/leave weirdness #239

Closed setpill closed 5 years ago

setpill commented 5 years ago

TLDR

With the recent commits this seems to mostly have cross-interface effects (ie. interface A responding incorrectly to something in interface B happening), aside from a weird (but not so bothersome) NOTICE on leaving channels with the current HEAD of matterircd.

Information

webui := mattermost 5.8.0 web ui ircd-old := matterircd v0.19.1 ircd-new := matterircd c1c5fd9

Scenario 1 - webui join/leave starting in channel

Scenario 2 - webui join/leave starting out of channel

Scenario 3 - irc-old join/leave starting in channel

Scenario 4 - irc-old join/leave starting out of channel

Note: I have not yet managed to detect the pattern of when ircd-old does or does not get kicked out of a channel immediately after joining, but it does not seem to affect ircd-new anymore so perhaps a moot point.

Scenario 5 - irc-new join/leave starting in channel

Scenario 6 - irc-new join/leave starting out of channel

42wim commented 5 years ago

Thanks for reporting. Add a fix to master which makes the GUI <=> ircd in sync. So I think everything should be working now with ircd-new ?

setpill commented 5 years ago

Seems like it, yes, thanks for the quick fix :+1:

setpill commented 5 years ago

In trying to implement a fix for #237 I stumbled upon the fact that latest HEAD (c1f0356) does not join a newly created channel when creating it in the webui.

setpill commented 5 years ago

Furthermore, leaving a channel from IRC (with /part or /close) still seems to try to leave the channel twice, resulting in the #channelname: You're not on that channel notice.

42wim commented 5 years ago

master now joins a newly created channel. The /part /close works fine, can't reproduce with irssi, maybe a client issue?

If you're making a PR to fix #237 make sure to make this an option in matterircd.toml which is false by default.