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/
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | <?xml version="1.0" encoding="UTF-8"?> |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
2 | <gresources> |
|
43082
0248f784950d
Make protocol resource paths more consistent
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42652
diff
changeset
|
3 | <gresource prefix="/im/pidgin/libpurple/protocols/ircv3"> |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
4 | <file>icons/16x16/apps/im-ircv3.png</file> |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
5 | <file>icons/22x22/apps/im-ircv3.png</file> |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
6 | <file>icons/48x48/apps/im-ircv3.png</file> |
| 43102 | 7 | <file>icons/64x64/status/ircv3-badge-founder.png</file> |
| 8 | <file>icons/64x64/status/ircv3-badge-halfop.png</file> | |
| 9 | <file>icons/64x64/status/ircv3-badge-operator.png</file> | |
| 10 | <file>icons/64x64/status/ircv3-badge-protected.png</file> | |
| 11 | <file>icons/64x64/status/ircv3-badge-voice.png</file> | |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
12 | </gresource> |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 | </gresources> |