From 0ae756d2eb2b51fd8162fd77f0577b3a894b2a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?g=C3=B3ngo?= Date: Sun, 16 Feb 2025 19:26:10 -0500 Subject: [PATCH] feat: show orange users that are in the same instance (#1138) * feat: show orange users that are in the same instance * misc: simplify traveling check for same instance list --------- Co-authored-by: Natsumi <11171153+Natsumi-sama@users.noreply.github.com> --- src/app.js | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/app.js b/src/app.js index 5935cea4..8476239b 100644 --- a/src/app.js +++ b/src/app.js @@ -23366,13 +23366,27 @@ console.log(`isLinux: ${LINUX}`); const allFriends = [...this.vipFriends, ...this.onlineFriends]; allFriends.forEach((friend) => { - if (!friend.ref?.$location.isRealInstance) return; + let locationTag; - const key = friend.ref.$location.tag; - if (!friendsList[key]) { - friendsList[key] = []; + if (friend.ref?.$location.isRealInstance) { + locationTag = friend.ref.$location.tag; + } else if (this.lastLocation.friendList.has(friend.id)) { + let $location = $utils.parseLocation(this.lastLocation.location); + if ($location.isRealInstance) { + if ($location.tag === 'private') { + locationTag = this.lastLocation.name; + } else { + locationTag = $location.tag; + } + + } } - friendsList[key].push(friend); + if (!locationTag) return; + + if (!friendsList[locationTag]) { + friendsList[locationTag] = []; + } + friendsList[locationTag].push(friend); }); const sortedFriendsList = []; @@ -23439,6 +23453,9 @@ console.log(`isLinux: ${LINUX}`); if ($utils.isRealInstance(friend.ref?.travelingToLocation)) { return friend.ref.travelingToLocation; } + if (this.lastLocation.friendList.has(friend.id)) { + return this.lastLocation.name; + } } return friendsArr[0].ref?.location; };