Skip to content

Commit 6db6060

Browse files
committed
Friend list uses presence service for online status, Staff join notids should resolve.....
1 parent 1fa9d3c commit 6db6060

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

service.friend/src/main/java/net/swofty/service/friend/FriendCache.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,14 +304,13 @@ public static void handleListRequest(FriendListRequestEvent event) {
304304
.map(Friend::getUuid)
305305
.toList());
306306
List<UUID> friendUuids = pageFriends.stream().map(Friend::getUuid).toList();
307-
Map<UUID, Boolean> onlineStatus = PresenceStorage.getOnlineStatus(friendUuids);
308307
Map<UUID, net.swofty.commons.presence.PresenceInfo> presenceInfo = PresenceStorage.getMap(friendUuids);
309308

310309
List<FriendListResponseEvent.FriendListEntry> entries = new ArrayList<>();
311310
for (Friend friend : pageFriends) {
312311
String name = playerNames.getOrDefault(friend.getUuid(), "Unknown");
313-
boolean isOnline = onlineStatus.getOrDefault(friend.getUuid(), false);
314312
net.swofty.commons.presence.PresenceInfo pInfo = presenceInfo.get(friend.getUuid());
313+
boolean isOnline = pInfo != null && pInfo.isOnline();
315314
long lastSeen = pInfo != null ? pInfo.getLastSeen() : 0L;
316315
String server = (pInfo != null && pInfo.isOnline() && pInfo.getServerType() != null)
317316
? formatServerDisplay(pInfo)

type.generic/src/main/java/net/swofty/type/generic/redis/service/RedisStaffBroadcast.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,14 @@ public JSONObject onMessage(JSONObject message) {
3030
StaffBroadcastProtocolObject.StaffBroadcastMessage msg =
3131
proto.getSerializer().deserialize(payload);
3232

33-
String resolvedName;
33+
String resolvedName = msg.senderName();
3434
try {
35-
resolvedName = net.swofty.type.generic.user.HypixelPlayer.getDisplayName(msg.sender());
36-
} catch (Exception e) {
37-
resolvedName = msg.senderName(); // fallback to provided name
35+
String dn = net.swofty.type.generic.user.HypixelPlayer.getDisplayName(msg.sender());
36+
if (dn != null && !dn.isEmpty()) {
37+
resolvedName = dn;
38+
}
39+
} catch (Exception ignored) {
40+
// fallback to provided name
3841
}
3942

4043
String serverLabel = msg.server() == null ? "" : msg.server();

0 commit comments

Comments
 (0)