Thu, 24 Apr 2025 22:19:39 -0500
IRCv3: check if a member is in a conversation before adding them
Awhile ago we update the NAMREPLY handler to build a separate
Purple.ConversationMembers and then splice that onto the existing one to help
with sorting and other performance issues. However, we didn't check if the
users already existed in the existing list, so we would get duplicates. This
address that.
Also fixed a reference leak.
Testing Done:
Joined a channel and sent `/quote names #channel` multiple times and verified that the member list did not grow to include a bunch of duplicates.
Reviewed at https://reviews.imfreedom.org/r/3987/
# IRCv3 This is a brand new from-scratch protocol plugin which is the first protocol plugin to be 100% code reviewed. It uses regex to tokenize messages. We are intending for it to be subclass-able so other networks like Twitch.tv can be supported but we're not quite there yet. We also are intending to support subclassing in other languages but we've run into some issues with dynamic GObject types and GObject introspection that have slowed us down. ## Capability Support This is a list of capabilities that we currently support. We'll do our best to keep this list up to date, but if you notice we've missed something please let us know! * cap-notify * sasl (right now just PLAIN works) * message-tags * msgid