Merge branch 'master' into release/v1.7.1

This commit is contained in:
Mitchell McCaffrey 2021-02-07 16:04:00 +11:00
commit 905b43a64b
2 changed files with 8 additions and 3 deletions

View File

@ -25,7 +25,7 @@ if (process.env.REACT_APP_LOGGING === "true") {
"QuotaExceededError",
"XDR encoding failure",
"Assertion failed: Input argument is not an HTMLInputElement",
"ERR_WEBRTC_SUPPORT",
"No WebRTC support",
],
});
}

View File

@ -141,22 +141,26 @@ function NetworkedMapAndTokens({ session }) {
continue;
}
requestingAssetsRef.current.add(asset.id);
if (asset.type === "map") {
const cachedMap = await getMapFromDB(asset.id);
if (cachedMap && cachedMap.lastModified === asset.lastModified) {
requestingAssetsRef.current.delete(asset.id);
continue;
} else if (cachedMap && cachedMap.lastModified > asset.lastModified) {
// Update last used for cache invalidation
const lastUsed = Date.now();
await updateMap(cachedMap.id, { lastUsed });
setCurrentMap({ ...cachedMap, lastUsed });
requestingAssetsRef.current.delete(asset.id);
} else {
requestingAssetsRef.current.add(asset.id);
session.sendTo(owner.sessionId, "mapRequest", asset.id);
}
} else if (asset.type === "token") {
const cachedToken = await getTokenFromDB(asset.id);
if (cachedToken && cachedToken.lastModified === asset.lastModified) {
requestingAssetsRef.current.delete(asset.id);
continue;
} else if (
cachedToken &&
@ -165,8 +169,8 @@ function NetworkedMapAndTokens({ session }) {
// Update last used for cache invalidation
const lastUsed = Date.now();
await updateToken(cachedToken.id, { lastUsed });
requestingAssetsRef.current.delete(asset.id);
} else {
requestingAssetsRef.current.add(asset.id);
session.sendTo(owner.sessionId, "tokenRequest", asset.id);
}
}
@ -480,6 +484,7 @@ function NetworkedMapAndTokens({ session }) {
const newToken = data;
if (newToken?.id) {
await putToken(newToken);
requestingAssetsRef.current.delete(newToken.id);
}
assetLoadFinish();
}