fix: "Hide Friends in Same Instance" hides players in unrelated private instances (#1210)

This commit is contained in:
pa
2025-05-06 00:40:44 +09:00
committed by Natsumi
parent 2b522e92f1
commit b6e0735a54
+13 -16
View File
@@ -254,33 +254,30 @@
return sortedFriendsList.sort((a, b) => b.length - a.length); return sortedFriendsList.sort((a, b) => b.length - a.length);
}, },
sameInstanceTag() {
const sameInstanceTag = new Set();
for (const item of this.friendsInSameInstance) {
for (const friend of item) {
if (utils.isRealInstance(friend.ref?.$location.tag)) {
sameInstanceTag.add(friend.ref?.$location.tag);
}
}
}
return sameInstanceTag;
},
onlineFriendsByGroupStatus() { onlineFriendsByGroupStatus() {
if (!this.isSidebarGroupByInstance || !this.isHideFriendsInSameInstance) { if (!this.isSidebarGroupByInstance || !this.isHideFriendsInSameInstance) {
return this.onlineFriends; return this.onlineFriends;
} }
const sameInstanceTag = new Set(); return this.onlineFriends.filter((item) => !this.sameInstanceTag.has(item.ref?.$location.tag));
for (const item of this.friendsInSameInstance) {
for (const friend of item) {
sameInstanceTag.add(friend.ref?.$location.tag);
}
}
return this.onlineFriends.filter((item) => !sameInstanceTag.has(item.ref?.$location.tag));
}, },
vipFriendsByGroupStatus() { vipFriendsByGroupStatus() {
if (!this.isSidebarGroupByInstance || !this.isHideFriendsInSameInstance) { if (!this.isSidebarGroupByInstance || !this.isHideFriendsInSameInstance) {
return this.vipFriends; return this.vipFriends;
} }
const sameInstanceTag = new Set(); return this.vipFriends.filter((item) => !this.sameInstanceTag.has(item.ref?.$location.tag));
for (const item of this.friendsInSameInstance) {
for (const friend of item) {
sameInstanceTag.add(friend.ref?.$location.tag);
}
}
return this.vipFriends.filter((item) => !sameInstanceTag.has(item.ref?.$location.tag));
}, },
// VIP friends divide by group // VIP friends divide by group
vipFriendsDivideByGroup() { vipFriendsDivideByGroup() {