Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clean up RPL_CHANNELMODEIS logic #2163

Merged
merged 2 commits into from
Jun 4, 2024
Merged

Conversation

slingamn
Copy link
Member

@slingamn slingamn commented Jun 3, 2024

cc @DanielOaks and @progval for thoughts. The last time we revisited this was probably #649. This change has the following effects:

  1. We still send RPL_CHANNELMODEIS and RPL_CREATIONTIME for MODE #chan (standard behavior)
  2. We still send them for MODE #chan i (most ircds translate this into +i, but it shouldn't matter)
  3. We still send them for MODE #chan +i when it is a no-op because +i was already enabled (most ircds will send nothing)
  4. We no longer send them for MODE #chan +o nick when it fails or is a no-op
  5. We do not send them for MODE #chan b (standard behavior, fixed in Ergo by 324 RPL_CHANNELMODEIS sent after listing bans #649)
  6. The handling of +k and similar modes that take an argument is not changed (the operation is always broadcasted even when it is a no-op)

Don't send RPL_CHANNELMODEIS for no-op changes to modes that take
arguments (channel-user modes like +o, key, etc.)
@slingamn slingamn added this to the v2.14 milestone Jun 3, 2024
@slingamn
Copy link
Member Author

slingamn commented Jun 4, 2024

I'm going to go ahead and merge this, but feel free to post comments later.

This affects some cases like `MODE #chan Ii` as an unprivileged user;
the +I invite-exception list cannot be listed without privileges,
but +i can.
@slingamn slingamn merged commit 1117680 into ergochat:master Jun 4, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant