Fix chat sender names via name queries

This commit is contained in:
Kelsi 2026-02-13 19:42:42 -08:00
parent bcfc075e1e
commit e4cd7433d7

View file

@ -3739,6 +3739,11 @@ void GameHandler::handleMessageChat(network::Packet& packet) {
} }
} }
} }
// If still unknown, proactively query the server so the UI can show names soon after.
if (data.senderName.empty()) {
queryPlayerName(data.senderGuid);
}
} }
// Add to chat history // Add to chat history
@ -4825,6 +4830,13 @@ void GameHandler::handleNameQueryResponse(network::Packet& packet) {
auto player = std::static_pointer_cast<Player>(entity); auto player = std::static_pointer_cast<Player>(entity);
player->setName(data.name); player->setName(data.name);
} }
// Backfill chat history entries that arrived before we knew the name.
for (auto& msg : chatHistory) {
if (msg.senderGuid == data.guid && msg.senderName.empty()) {
msg.senderName = data.name;
}
}
} }
} }