From 03ee22f26b581c9571271af5ff00ebebb06b05f1 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 22 Nov 2019 05:26:35 -0500 Subject: make sure we close old websocket connections --- teleterm-web/src/model.rs | 6 ++++ teleterm/static/teleterm_web.js | 66 +++++++++++++++++++---------------- teleterm/static/teleterm_web_bg.wasm | Bin 389447 -> 389883 bytes 3 files changed, 42 insertions(+), 30 deletions(-) diff --git a/teleterm-web/src/model.rs b/teleterm-web/src/model.rs index fb36902..77b3ead 100644 --- a/teleterm-web/src/model.rs +++ b/teleterm-web/src/model.rs @@ -8,6 +8,12 @@ struct WatchConn { ws: WebSocket, } +impl Drop for WatchConn { + fn drop(&mut self) { + self.ws.close().unwrap(); + } +} + #[derive(Clone, Debug, serde::Deserialize)] pub struct Session { pub id: String, diff --git a/teleterm/static/teleterm_web.js b/teleterm/static/teleterm_web.js index 1132418..c979271 100644 --- a/teleterm/static/teleterm_web.js +++ b/teleterm/static/teleterm_web.js @@ -1,13 +1,6 @@ let wasm; -function __wbg_elem_binding0(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(54)(arg0, arg1, arg2); -} -function __wbg_elem_binding1(arg0, arg1) { - wasm.__wbg_function_table.get(174)(arg0, arg1); -} - const heap = new Array(32); heap.fill(undefined); @@ -24,6 +17,12 @@ function addHeapObject(obj) { heap[idx] = obj; return idx; } +function __wbg_elem_binding0(arg0, arg1, arg2) { + wasm.__wbg_function_table.get(49)(arg0, arg1, addHeapObject(arg2)); +} +function __wbg_elem_binding1(arg0, arg1) { + wasm.__wbg_function_table.get(174)(arg0, arg1); +} function __wbg_elem_binding2(arg0, arg1, arg2) { wasm.__wbg_function_table.get(49)(arg0, arg1, addHeapObject(arg2)); } @@ -31,13 +30,13 @@ function __wbg_elem_binding3(arg0, arg1, arg2) { wasm.__wbg_function_table.get(49)(arg0, arg1, addHeapObject(arg2)); } function __wbg_elem_binding4(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(49)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(244)(arg0, arg1, addHeapObject(arg2)); } function __wbg_elem_binding5(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(244)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(49)(arg0, arg1, addHeapObject(arg2)); } function __wbg_elem_binding6(arg0, arg1, arg2) { - wasm.__wbg_function_table.get(49)(arg0, arg1, addHeapObject(arg2)); + wasm.__wbg_function_table.get(54)(arg0, arg1, arg2); } function __wbg_elem_binding7(arg0, arg1, arg2, arg3, arg4) { wasm.__wbg_function_table.get(271)(arg0, arg1, addHeapObject(arg2), arg3, addHeapObject(arg4)); @@ -682,6 +681,13 @@ function init(module) { handleError(e) } }; + imports.wbg.__widl_f_close_WebSocket = function(arg0) { + try { + getObject(arg0).close(); + } catch (e) { + handleError(e) + } + }; imports.wbg.__widl_f_set_onopen_WebSocket = function(arg0, arg1) { getObject(arg0).onopen = getObject(arg1); }; @@ -865,16 +871,16 @@ function init(module) { imports.wbg.__wbindgen_throw = function(arg0, arg1) { throw new Error(getStringFromWasm(arg0, arg1)); }; - imports.wbg.__wbindgen_closure_wrapper215 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper909 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding3(a, state.b, arg0); + return __wbg_elem_binding4(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(50)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(245)(a, state.b); else state.a = a; } } @@ -883,16 +889,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper505 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper216 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; - const real = () => { + const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding1(a, state.b, ); + return __wbg_elem_binding5(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(175)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(50)(a, state.b); else state.a = a; } } @@ -901,14 +907,14 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper219 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper220 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding6(a, state.b, arg0); + return __wbg_elem_binding0(a, state.b, arg0); } finally { if (--state.cnt === 0) wasm.__wbg_function_table.get(50)(a, state.b); else state.a = a; @@ -919,14 +925,14 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper217 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper222 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding0(a, state.b, arg0); + return __wbg_elem_binding2(a, state.b, arg0); } finally { if (--state.cnt === 0) wasm.__wbg_function_table.get(50)(a, state.b); else state.a = a; @@ -937,16 +943,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper213 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper506 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; - const real = (arg0) => { + const real = () => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding4(a, state.b, arg0); + return __wbg_elem_binding1(a, state.b, ); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(50)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(175)(a, state.b); else state.a = a; } } @@ -955,14 +961,14 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper221 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper214 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding2(a, state.b, arg0); + return __wbg_elem_binding3(a, state.b, arg0); } finally { if (--state.cnt === 0) wasm.__wbg_function_table.get(50)(a, state.b); else state.a = a; @@ -973,16 +979,16 @@ function init(module) { const ret = real; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper907 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper218 = function(arg0, arg1, arg2) { const state = { a: arg0, b: arg1, cnt: 1 }; const real = (arg0) => { state.cnt++; const a = state.a; state.a = 0; try { - return __wbg_elem_binding5(a, state.b, arg0); + return __wbg_elem_binding6(a, state.b, arg0); } finally { - if (--state.cnt === 0) wasm.__wbg_function_table.get(245)(a, state.b); + if (--state.cnt === 0) wasm.__wbg_function_table.get(50)(a, state.b); else state.a = a; } } diff --git a/teleterm/static/teleterm_web_bg.wasm b/teleterm/static/teleterm_web_bg.wasm index 44138c5..3279e33 100644 Binary files a/teleterm/static/teleterm_web_bg.wasm and b/teleterm/static/teleterm_web_bg.wasm differ -- cgit v1.2.3-54-g00ecf