From eeb038e82c8c71b9e6882bc5dabed3ad1b962e9a Mon Sep 17 00:00:00 2001 From: pypy Date: Mon, 27 Jan 2020 15:21:59 +0900 Subject: [PATCH] bug fix --- html/app.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/html/app.js b/html/app.js index 143d6dc2..84a47aed 100644 --- a/html/app.js +++ b/html/app.js @@ -2373,6 +2373,7 @@ CefSharp.BindObjectAsync( 'world': this.favoriteWorldGroups, 'avatar': this.favoriteAvatarGroups }; + var assigns = new Set(); // assign the same name first for (var ref of this.cachedFavoriteGroups.values()) { if (ref.$isDeleted) { @@ -2388,14 +2389,20 @@ CefSharp.BindObjectAsync( group.assign = true; group.displayName = ref.displayName; ref.$groupRef = group; + assigns.add(ref.id); break; } } } // assign the rest + // FIXME + // The order (cachedFavoriteGroups) is very important. It should be + // processed in the order in which the server responded. But since we + // used Map(), the order would be a mess. So we need something to solve + // this. for (var ref of this.cachedFavoriteGroups.values()) { if (ref.$isDeleted || - ref.$ref) { + assigns.has(ref.id)) { continue; } var groups = types[ref.type]; @@ -2409,6 +2416,7 @@ CefSharp.BindObjectAsync( group.name = ref.name; group.displayName = ref.displayName; ref.$groupRef = group; + assigns.add(ref.id); break; } }