From 69f7ebe452950527958a588e432038092f6dd00f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Mon, 21 Sep 2026 00:22:23 +0200 Subject: [PATCH] Fix offline history usernames getting a leading underscore The offline fallback used "_" as the level placeholder, producing an href of user://__NAME. The hover handler splits at the first underscore, so interactions targeted a nonexistent "_NAME" user. Use level 0 so offline history entries render as zero-level tags like before. --- .../src/interface/widgets/server/chat_view/chat_view.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp b/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp index b761f9380..0a287c9ce 100644 --- a/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp +++ b/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp @@ -346,7 +346,8 @@ void ChatView::appendMessage(QString message, // against the user list to turn their history entries into full user // tags (correct level, name casing and moderation context menu). QString displayName = sentBy; - QString levelMarker = "_"; // placeholder for offline / unknown user level + // Offline users have no known level; render them as zero-level tags. + QString levelMarker = "0"; if (const ServerInfo_User *onlineUser = userListProxy->getOnlineUser(sentBy)) { displayName = QString::fromStdString(onlineUser->name()); levelMarker = QString::number(onlineUser->user_level());