change vars.js.template to tempalte.vars.js,
implement interrupt based client sync
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { requestAPI } from "./utils.js";
|
||||
import { API } from "../vars.js";
|
||||
|
||||
export async function setupClientSync (callback) {
|
||||
let scheme = localStorage.getItem("sync-scheme");
|
||||
@@ -29,9 +30,23 @@ export async function setupClientSync (callback) {
|
||||
}, rate * 1000);
|
||||
}
|
||||
else if (scheme === "interrupt") {
|
||||
|
||||
callback();
|
||||
const socket = new WebSocket(`wss://${API.replace("https://", "")}/sync/interrupt`);
|
||||
socket.addEventListener("open", (event) => {
|
||||
socket.send(`rate ${rate}`);
|
||||
});
|
||||
socket.addEventListener("message", (event) => {
|
||||
let message = event.data.toString();
|
||||
if (message === "sync") {
|
||||
callback();
|
||||
}
|
||||
else {
|
||||
console.error("clientsync: recieved unexpected message from server, closing socket.")
|
||||
socket.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
|
||||
console.error(`clientsync: unsupported scheme ${scheme} selected.`)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user