users now see their position in the queue update

in real time
This commit is contained in:
Karma Riuk
2025-05-19 11:55:56 +02:00
parent 694c134a54
commit 1b805ebb63
5 changed files with 103 additions and 28 deletions

View File

@ -134,6 +134,17 @@ socket.on("progress", (data) => {
socket.on("started-processing", () => {
setProgress(0);
if (queue_position_interval != null) {
clearTimeout(queue_position_interval);
queue_position_interval = null;
}
});
socket.on("changed-subject", () => {
console.log("changed-subject");
commentResultsContainer.classList.add("hidden");
refinementResultsContainer.classList.add("hidden");
progressContainer.classList.add("hidden");
});
socket.on("complete", (data) => {
@ -157,6 +168,22 @@ socket.on("successful-upload", () => {
uploadStatusEl.textContent = "Upload succeeded!";
});
socket.on("queue_position", (data) => {
console.log(`got answer for queue position with ${data}`);
if (data.status == "waiting")
statusStatusEl.textContent = `Currently waiting, position in queue ${data.position}`;
else {
if (queue_position_interval != null) {
console.log("clearing interval");
clearTimeout(queue_position_interval);
queue_position_interval = null;
}
statusStatusEl.textContent = data.status;
}
});
let queue_position_interval = null;
document.getElementById("request-status").onclick = async () => {
if (!uuid.reportValidity()) return;
const res = await fetch(`/answers/status/${uuid.value}`, {
@ -184,6 +211,10 @@ document.getElementById("request-status").onclick = async () => {
else console.error(`Unknown type ${data.type}`);
} else if (json.status == "waiting") {
statusStatusEl.textContent = `Currently waiting, position in queue ${json.queue_position}`;
queue_position_interval = setInterval(() => {
socket.emit("get_queue_position", { uuid: uuid.value });
console.log("asking for queue posittin");
}, 3000);
}
};