Merge branch 'master' into release/v1.7.1
This commit is contained in:
commit
905b43a64b
@ -25,7 +25,7 @@ if (process.env.REACT_APP_LOGGING === "true") {
|
|||||||
"QuotaExceededError",
|
"QuotaExceededError",
|
||||||
"XDR encoding failure",
|
"XDR encoding failure",
|
||||||
"Assertion failed: Input argument is not an HTMLInputElement",
|
"Assertion failed: Input argument is not an HTMLInputElement",
|
||||||
"ERR_WEBRTC_SUPPORT",
|
"No WebRTC support",
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -141,22 +141,26 @@ function NetworkedMapAndTokens({ session }) {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
requestingAssetsRef.current.add(asset.id);
|
||||||
|
|
||||||
if (asset.type === "map") {
|
if (asset.type === "map") {
|
||||||
const cachedMap = await getMapFromDB(asset.id);
|
const cachedMap = await getMapFromDB(asset.id);
|
||||||
if (cachedMap && cachedMap.lastModified === asset.lastModified) {
|
if (cachedMap && cachedMap.lastModified === asset.lastModified) {
|
||||||
|
requestingAssetsRef.current.delete(asset.id);
|
||||||
continue;
|
continue;
|
||||||
} else if (cachedMap && cachedMap.lastModified > asset.lastModified) {
|
} else if (cachedMap && cachedMap.lastModified > asset.lastModified) {
|
||||||
// Update last used for cache invalidation
|
// Update last used for cache invalidation
|
||||||
const lastUsed = Date.now();
|
const lastUsed = Date.now();
|
||||||
await updateMap(cachedMap.id, { lastUsed });
|
await updateMap(cachedMap.id, { lastUsed });
|
||||||
setCurrentMap({ ...cachedMap, lastUsed });
|
setCurrentMap({ ...cachedMap, lastUsed });
|
||||||
|
requestingAssetsRef.current.delete(asset.id);
|
||||||
} else {
|
} else {
|
||||||
requestingAssetsRef.current.add(asset.id);
|
|
||||||
session.sendTo(owner.sessionId, "mapRequest", asset.id);
|
session.sendTo(owner.sessionId, "mapRequest", asset.id);
|
||||||
}
|
}
|
||||||
} else if (asset.type === "token") {
|
} else if (asset.type === "token") {
|
||||||
const cachedToken = await getTokenFromDB(asset.id);
|
const cachedToken = await getTokenFromDB(asset.id);
|
||||||
if (cachedToken && cachedToken.lastModified === asset.lastModified) {
|
if (cachedToken && cachedToken.lastModified === asset.lastModified) {
|
||||||
|
requestingAssetsRef.current.delete(asset.id);
|
||||||
continue;
|
continue;
|
||||||
} else if (
|
} else if (
|
||||||
cachedToken &&
|
cachedToken &&
|
||||||
@ -165,8 +169,8 @@ function NetworkedMapAndTokens({ session }) {
|
|||||||
// Update last used for cache invalidation
|
// Update last used for cache invalidation
|
||||||
const lastUsed = Date.now();
|
const lastUsed = Date.now();
|
||||||
await updateToken(cachedToken.id, { lastUsed });
|
await updateToken(cachedToken.id, { lastUsed });
|
||||||
|
requestingAssetsRef.current.delete(asset.id);
|
||||||
} else {
|
} else {
|
||||||
requestingAssetsRef.current.add(asset.id);
|
|
||||||
session.sendTo(owner.sessionId, "tokenRequest", asset.id);
|
session.sendTo(owner.sessionId, "tokenRequest", asset.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -480,6 +484,7 @@ function NetworkedMapAndTokens({ session }) {
|
|||||||
const newToken = data;
|
const newToken = data;
|
||||||
if (newToken?.id) {
|
if (newToken?.id) {
|
||||||
await putToken(newToken);
|
await putToken(newToken);
|
||||||
|
requestingAssetsRef.current.delete(newToken.id);
|
||||||
}
|
}
|
||||||
assetLoadFinish();
|
assetLoadFinish();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user