Merge pull request #673 from DioxusLabs/jk/liveview-on-load

fix: dont send initialize until WS is connected
This commit is contained in:
Jon Kelley authored and GitHub committed 2022-12-22 11:34:54 -05:00
commit 3824f386f7
1 file changed
+8 -10
+8 -10
View File
@@ -1,10 +1,7 @@
function main() { function main() {
let root = window.document.getElementById("main"); let root = window.document.getElementById("main");
if (root != null) { if (root != null) {
// create a new ipc
window.ipc = new IPC(root); window.ipc = new IPC(root);
window.ipc.postMessage(serializeIpcMessage("initialize"));
} }
} }
@@ -13,21 +10,22 @@ class IPC {
// connect to the websocket // connect to the websocket
window.interpreter = new Interpreter(root); window.interpreter = new Interpreter(root);
this.ws = new WebSocket(WS_ADDR); let ws = new WebSocket(WS_ADDR);
this.ws.onopen = () => { ws.onopen = () => {
console.log("Connected to the websocket"); ws.send(serializeIpcMessage("initialize"));
}; };
this.ws.onerror = (err) => { ws.onerror = (err) => {
console.error("Error: ", err); // todo: retry the connection
}; };
this.ws.onmessage = (event) => { ws.onmessage = (event) => {
console.log("Received message: ", event.data);
let edits = JSON.parse(event.data); let edits = JSON.parse(event.data);
window.interpreter.handleEdits(edits); window.interpreter.handleEdits(edits);
}; };
this.ws = ws;
} }
postMessage(msg) { postMessage(msg) {