Various clean ups to the IRCv3 connection process

Review Request #2107 — Created Dec. 1, 2022 and submitted

Information

pidgin/pidgin
default

Reviewers

Add a "done" signal to PurpleIRCv3Capabilities so the connection knows when
capability negotiation has completed.

Add a "registration-complete" signal to PurpleIRCv3Connection. This can be used
by plugins to do additional startup commands before we tell libpurple that our
connection is connected. We'll need some more logic around emitting this signal
in the future, but this works for now.

Don't tell libpurple that our connection is connected until the class handler
for the new "registration-complete" signal is called so that libpurple doesn't
try to auto join any channels or anything similar before we're actually ready
for it to do so.

Connected and verified the changes with some g_messages that were removed.
Also used ngrep to verify that commands were still being sent correctly.

Summary ID
Various clean ups to the IRCv3 connection process
Add a "done" signal to PurpleIRCv3Capabilities so the connection knows when capability negotiation has completed. Add a "registration-complete" signal to PurpleIRCv3Connection. This can be used by plugins to do additional startup commands before we tell libpurple that our connection is connected. Don't tell libpurple that our connection is connected until the class handler for the new "registration-complete" signal is called so that libpurple doesn't try to auto join any channels or anything similar before we're actually ready for it to do so.
70e72cd67ae5db5da203e8b53301cef1f5eb0efd
QuLogic
  1. Ship It!
  2. 
      
grim
Review request changed
Status:
Completed