diff --git a/html/src/app.js b/html/src/app.js
index d0a57b35..07331b3e 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -380,7 +380,11 @@ speechSynthesis.getVoices();
// merge requests
var req = this.pendingGetRequests.get(init.url);
if (typeof req !== 'undefined') {
- return req;
+ if (req.time >= Date.now() - 10000) {
+ // 10s
+ return req.req;
+ }
+ this.pendingGetRequests.delete(init.url);
}
} else if (init.uploadImage || init.uploadFilePUT) {
// nothing
@@ -513,7 +517,7 @@ speechSynthesis.getVoices();
req.finally(() => {
this.pendingGetRequests.delete(init.url);
});
- this.pendingGetRequests.set(init.url, req);
+ this.pendingGetRequests.set(init.url, { req, time: Date.now() });
}
return req;
};
@@ -24872,7 +24876,7 @@ speechSynthesis.getVoices();
this.updateSharedFeed(true);
};
- $app.methods.instanceQueueUpdate = function (
+ $app.methods.instanceQueueUpdate = async function (
instanceId,
position,
queueSize
@@ -24900,18 +24904,17 @@ speechSynthesis.getVoices();
});
}
if (!ref.$groupName) {
- this.getGroupName(instanceId).then((name) => {
- ref.$groupName = name;
- ref.$msgBox.message = `You are in position ${ref.position} of ${ref.queueSize} in the queue for ${name} `;
- });
+ ref.$groupName = await this.getGroupName(instanceId);
}
if (!ref.$worldName) {
- this.getWorldName(instanceId).then((name) => {
- ref.$worldName = name;
- });
+ ref.$worldName = await this.getWorldName(instanceId);
}
-
- ref.$msgBox.message = `You are in position ${ref.position} of ${ref.queueSize} in the queue for ${ref.$groupName} `;
+ var displayLocation = this.displayLocation(
+ instanceId,
+ ref.$worldName,
+ ref.$groupName
+ );
+ ref.$msgBox.message = `You are in position ${ref.position} of ${ref.queueSize} in the queue for ${displayLocation} `;
API.queuedInstances.set(instanceId, ref);
};
diff --git a/html/src/index.pug b/html/src/index.pug
index a7c8fbbe..e60565e0 100644
--- a/html/src/index.pug
+++ b/html/src/index.pug
@@ -1265,7 +1265,7 @@ html
el-checkbox(v-model="newInstanceDialog.queueEnabled" @change="buildInstance")
el-form-item(:label="$t('dialog.new_instance.world_id')")
el-input(v-model="newInstanceDialog.worldId" size="mini" @click.native="$event.target.tagName === 'INPUT' && $event.target.select()" @change="buildInstance")
- el-form-item(:label="$t('dialog.new_instance.group_id')" v-if="newInstanceDialog.accessType === 'group'")
+ el-form-item(:label="$t('dialog.new_instance.group_id')")
el-select(v-model="newInstanceDialog.groupId" clearable :placeholder="$t('dialog.new_instance.group_placeholder')" filterable style="width:100%" @change="buildInstance")
el-option-group(:label="$t('dialog.new_instance.group_placeholder')")
el-option.x-friend-item(v-if="group" v-for="group in API.currentUserGroups.values()" :key="group.id" :label="group.name" :value="group.id" style="height:auto;width:478px")