mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-06 14:46:04 +02:00
imrove friend list search responsiveness and stats refresh logic
This commit is contained in:
@@ -59,6 +59,8 @@ export const useFriendStore = defineStore('Friend', () => {
|
||||
const sortedFriends = shallowRef([]);
|
||||
let sortedFriendsBatchDepth = 0;
|
||||
let pendingSortedFriendsRebuild = false;
|
||||
let allUserStatsRequestId = 0;
|
||||
let allUserMutualCountRequestId = 0;
|
||||
|
||||
const derivedDebugCounters = reactive({
|
||||
allFavoriteFriendIds: 0,
|
||||
@@ -820,8 +822,16 @@ export const useFriendStore = defineStore('Friend', () => {
|
||||
displayNames.push(ctx.ref.displayName);
|
||||
}
|
||||
}
|
||||
if (!userIds.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
const requestId = ++allUserStatsRequestId;
|
||||
|
||||
const data = await database.getAllUserStats(userIds, displayNames);
|
||||
if (requestId !== allUserStatsRequestId) {
|
||||
return;
|
||||
}
|
||||
|
||||
const dataByDisplayName = new Map();
|
||||
const friendsByDisplayName = new Map();
|
||||
@@ -885,7 +895,14 @@ export const useFriendStore = defineStore('Friend', () => {
|
||||
*
|
||||
*/
|
||||
async function getAllUserMutualCount() {
|
||||
if (!friends.size) {
|
||||
return;
|
||||
}
|
||||
const requestId = ++allUserMutualCountRequestId;
|
||||
const mutualCountMap = await database.getMutualCountForAllUsers();
|
||||
if (requestId !== allUserMutualCountRequestId) {
|
||||
return;
|
||||
}
|
||||
runInSortedFriendsBatch(() => {
|
||||
for (const [userId, mutualCount] of mutualCountMap.entries()) {
|
||||
const ref = friends.get(userId);
|
||||
|
||||
Reference in New Issue
Block a user