diff --git a/Cargo.lock b/Cargo.lock index 00df6e7..106cc93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -213,7 +213,7 @@ dependencies = [ [[package]] name = "centralex" -version = "0.1.0" +version = "1.0.1" dependencies = [ "async-stream", "bytemuck", diff --git a/Cargo.toml b/Cargo.toml index 991275a..0ca84c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "centralex" -version = "0.1.0" +version = "1.0.1" edition = "2021" [profile.release] diff --git a/build.rs b/build.rs index 3ef2682..143015e 100644 --- a/build.rs +++ b/build.rs @@ -42,8 +42,15 @@ fn pack_debug_page() -> Result<(), Box> { .split_once("") .expect("did not find head split point in html"); + let (body_a, body_b) = body + .split_once("#INSERT VERSION HERE#") + .expect("did not find version split point in html"); + + let version = env!("CARGO_PKG_VERSION"); + let html = minify_html::minify( - format!("{head}{body}").as_bytes(), + format!("{head}{body_a}{version}{body_b}") + .as_bytes(), &minify_html::Cfg::spec_compliant(), ); diff --git a/web/index.html b/web/index.html index f3c3adb..a2b5c52 100644 --- a/web/index.html +++ b/web/index.html @@ -15,7 +15,7 @@ diff --git a/web/main.js b/web/main.js index 5ac6167..05104ff 100644 --- a/web/main.js +++ b/web/main.js @@ -149,40 +149,44 @@ window.onload = () => { table = []; for (let number in data.allocated_ports) { - let port = data.allocated_ports[number]; - number = +number; + try { + let port = data.allocated_ports[number]; + number = +number; - // allocated port has no state. This means that it is unknown and should not be displayed - if (data.port_state[port] == undefined) { - continue; + // allocated port has no state. This means that it is unknown and should not be displayed + if (data.port_state[port] == undefined) { + continue; + } + + let { status, last_change } = data.port_state[port]; + + let rejector = data.rejectors[port] || null; + + if (rejector && rejector instanceof Array) { + rejector = rejector.map((x) => "0x" + x.toString(16).padStart(2, 0)) + .join(" "); + } + + last_change = new Date(last_change * 1000); + + let name = data.names[number] || null; + + switch (status) { + case "disconnected": + status = rejector ? `getrennt: ${rejector}` : "getrennt"; + break; + case "idle": + status = "bereit"; + break; + case "in_call": + status = "anruf"; + break; + } + + table.push({ port, number, status, last_change, rejector, name }); + } catch (error) { + console.error(error); } - - let { status, last_change } = data.port_state[port]; - - let rejector = data.rejectors[port] || null; - - if (rejector && rejector instanceof Array) { - rejector = rejector.map((x) => "0x" + x.toString(16).padStart(2, 0)) - .join(" "); - } - - last_change = new Date(last_change * 1000); - - let name = data.names[number] || null; - - switch (status) { - case "disconnected": - status = rejector ? `getrennt: ${rejector}` : "getrennt"; - break; - case "idle": - status = "bereit"; - break; - case "in_call": - status = "anruf"; - break; - } - - table.push({ port, number, status, last_change, rejector, name }); } for (let [timestamp, port] of data.errored_ports) {