Skip to content

Negotiate and gate on the required IRCV3 capability set - #136

Draft
Jokler wants to merge 7 commits into
prototypefrom
30-negotiate-and-gate-on-the-required-ircv3-capability-set
Draft

Negotiate and gate on the required IRCV3 capability set#136
Jokler wants to merge 7 commits into
prototypefrom
30-negotiate-and-gate-on-the-required-ircv3-capability-set

Conversation

@Jokler

@Jokler Jokler commented Sep 1, 2026

Copy link
Copy Markdown
Member

This PR fixes the following divergences between the prototype branch and #30:

  • Add missing capabilities: draft/webpush, extended-monitor, away-notify, draft/read-marker
  • Adds parsing for additional capabilities/isupport
  • Fixes issues that occur if no capabilities are available
  • Simple chat(join channel & send message) tested against Freenode, Libera and OFTC

Additionally:

  • Improves the JOIN flow to wait for history if available and label everything accordingly

It will stay a draft until:

  • it was tested against more servers
  • each requested capability is disabled while others are kept on one by one

Currently there is no clear plan on how to verify that no invalid command is ever sent other than reading the code diligently after the previous steps.

Previously it always attempted to treat received history as a join event
too, now history batches track what the history is intended for to reply
more accurately.
@Jokler Jokler self-assigned this Sep 1, 2026
@Jokler Jokler linked an issue Sep 1, 2026 that may be closed by this pull request
@Jokler
Jokler force-pushed the 30-negotiate-and-gate-on-the-required-ircv3-capability-set branch from 06950a8 to ce31a51 Compare September 1, 2026 20:45
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.

Negotiate and gate on the required IRCv3 capability set

1 participant