From 90ccfbfc4ead66a1d30f5608d6729b922b11aa90 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Fri, 20 Mar 2026 14:44:48 -0700 Subject: [PATCH] fix: fire GROUP_ROSTER_UPDATE on group uninvite and leave handleGroupUninvite and leaveGroup cleared partyData but did not fire GROUP_ROSTER_UPDATE/PARTY_MEMBERS_CHANGED events, so addon group tracking would not update when kicked or leaving. Now both paths fire both events. --- src/game/game_handler.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index a5ee2560..6cf2853c 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -19651,6 +19651,10 @@ void GameHandler::leaveGroup() { socket->send(packet); partyData = GroupListData{}; LOG_INFO("Left group"); + if (addonEventCallback_) { + addonEventCallback_("GROUP_ROSTER_UPDATE", {}); + addonEventCallback_("PARTY_MEMBERS_CHANGED", {}); + } } void GameHandler::handleGroupInvite(network::Packet& packet) { @@ -19714,6 +19718,11 @@ void GameHandler::handleGroupUninvite(network::Packet& packet) { partyData = GroupListData{}; LOG_INFO("Removed from group"); + if (addonEventCallback_) { + addonEventCallback_("GROUP_ROSTER_UPDATE", {}); + addonEventCallback_("PARTY_MEMBERS_CHANGED", {}); + } + MessageChatData msg; msg.type = ChatType::SYSTEM; msg.language = ChatLanguage::UNIVERSAL;