Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
    npro  
 Modern all-safe Rust Network Protocol library supporting h1, h2, h3, ws, wt sans-IO and with socket IO + tls
git clone https://npro.rs/repo/npro
 
root / assets / linux-android.svg
Author[]Andy Green <andy@warmcat.com> 2026-06-17 19:15 UTC
Committer[]Andy Green <andy@warmcat.com> 2026-06-17 19:16 UTC
Treeb0586aa4da44cc7a157710e0a20110c41ba8db1f   Raw Patch
 
small-niceties
small-niceties
diff --git a/CMakeLists.txt b/CMakeLists.txt index 73c9831..5c8c4c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,6 +120,7 @@ endif() if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") set(CMAKE_C_FLAGS "-I/usr/local/include ${CMAKE_C_FLAGS}") + set(CMAKE_EXE_LINKER_FLAGS "-L/usr/local/lib ${CMAKE_EXE_LINKER_FLAGS}") link_directories("/usr/local/lib") endif() diff --git a/assets/sai.css b/assets/sai.css index 2a8b6c9..98b6d57 100644 --- a/assets/sai.css +++ b/assets/sai.css @@ -98,6 +98,10 @@ td.waiting_gi { border-radius:2px; } +table.events-table { + border-spacing: 0 10px; +} + table.comp { border-radius:7px; width: 100% @@ -1352,48 +1356,48 @@ canvas.power-graph { background: #ffdc00; color: black; } -.taskstate1.prog-0 { background: linear-gradient(90deg, #d0d0d0 0%, transparent 0%); } -.taskstate1.prog-5 { background: linear-gradient(90deg, #d0d0d0 5%, transparent 5%); } -.taskstate1.prog-10 { background: linear-gradient(90deg, #d0d0d0 10%, transparent 10%); } -.taskstate1.prog-15 { background: linear-gradient(90deg, #d0d0d0 15%, transparent 15%); } -.taskstate1.prog-20 { background: linear-gradient(90deg, #d0d0d0 20%, transparent 20%); } -.taskstate1.prog-25 { background: linear-gradient(90deg, #d0d0d0 25%, transparent 25%); } -.taskstate1.prog-30 { background: linear-gradient(90deg, #d0d0d0 30%, transparent 30%); } -.taskstate1.prog-35 { background: linear-gradient(90deg, #d0d0d0 35%, transparent 35%); } -.taskstate1.prog-40 { background: linear-gradient(90deg, #d0d0d0 40%, transparent 40%); } -.taskstate1.prog-45 { background: linear-gradient(90deg, #d0d0d0 45%, transparent 45%); } -.taskstate1.prog-50 { background: linear-gradient(90deg, #d0d0d0 50%, transparent 50%); } -.taskstate1.prog-55 { background: linear-gradient(90deg, #d0d0d0 55%, transparent 55%); } -.taskstate1.prog-60 { background: linear-gradient(90deg, #d0d0d0 60%, transparent 60%); } -.taskstate1.prog-65 { background: linear-gradient(90deg, #d0d0d0 65%, transparent 65%); } -.taskstate1.prog-70 { background: linear-gradient(90deg, #d0d0d0 70%, transparent 70%); } -.taskstate1.prog-75 { background: linear-gradient(90deg, #d0d0d0 75%, transparent 75%); } -.taskstate1.prog-80 { background: linear-gradient(90deg, #d0d0d0 80%, transparent 80%); } -.taskstate1.prog-85 { background: linear-gradient(90deg, #d0d0d0 85%, transparent 85%); } -.taskstate1.prog-90 { background: linear-gradient(90deg, #d0d0d0 90%, transparent 90%); } -.taskstate1.prog-95 { background: linear-gradient(90deg, #d0d0d0 95%, transparent 95%); } -.taskstate1.prog-100 { background: linear-gradient(90deg, #d0d0d0 100%, transparent 100%); } -.taskstate2.prog-0 { background: linear-gradient(90deg, #a0a0a0 0%, transparent 0%); } -.taskstate2.prog-5 { background: linear-gradient(90deg, #a0a0a0 5%, transparent 5%); } -.taskstate2.prog-10 { background: linear-gradient(90deg, #a0a0a0 10%, transparent 10%); } -.taskstate2.prog-15 { background: linear-gradient(90deg, #a0a0a0 15%, transparent 15%); } -.taskstate2.prog-20 { background: linear-gradient(90deg, #a0a0a0 20%, transparent 20%); } -.taskstate2.prog-25 { background: linear-gradient(90deg, #a0a0a0 25%, transparent 25%); } -.taskstate2.prog-30 { background: linear-gradient(90deg, #a0a0a0 30%, transparent 30%); } -.taskstate2.prog-35 { background: linear-gradient(90deg, #a0a0a0 35%, transparent 35%); } -.taskstate2.prog-40 { background: linear-gradient(90deg, #a0a0a0 40%, transparent 40%); } -.taskstate2.prog-45 { background: linear-gradient(90deg, #a0a0a0 45%, transparent 45%); } -.taskstate2.prog-50 { background: linear-gradient(90deg, #a0a0a0 50%, transparent 50%); } -.taskstate2.prog-55 { background: linear-gradient(90deg, #a0a0a0 55%, transparent 55%); } -.taskstate2.prog-60 { background: linear-gradient(90deg, #a0a0a0 60%, transparent 60%); } -.taskstate2.prog-65 { background: linear-gradient(90deg, #a0a0a0 65%, transparent 65%); } -.taskstate2.prog-70 { background: linear-gradient(90deg, #a0a0a0 70%, transparent 70%); } -.taskstate2.prog-75 { background: linear-gradient(90deg, #a0a0a0 75%, transparent 75%); } -.taskstate2.prog-80 { background: linear-gradient(90deg, #a0a0a0 80%, transparent 80%); } -.taskstate2.prog-85 { background: linear-gradient(90deg, #a0a0a0 85%, transparent 85%); } -.taskstate2.prog-90 { background: linear-gradient(90deg, #a0a0a0 90%, transparent 90%); } -.taskstate2.prog-95 { background: linear-gradient(90deg, #a0a0a0 95%, transparent 95%); } -.taskstate2.prog-100 { background: linear-gradient(90deg, #a0a0a0 100%, transparent 100%); } +.taskstate1.prog-0 { background: linear-gradient(90deg, #01ff70 0%, transparent 0%); } +.taskstate1.prog-5 { background: linear-gradient(90deg, #01ff70 5%, transparent 5%); } +.taskstate1.prog-10 { background: linear-gradient(90deg, #01ff70 10%, transparent 10%); } +.taskstate1.prog-15 { background: linear-gradient(90deg, #01ff70 15%, transparent 15%); } +.taskstate1.prog-20 { background: linear-gradient(90deg, #01ff70 20%, transparent 20%); } +.taskstate1.prog-25 { background: linear-gradient(90deg, #01ff70 25%, transparent 25%); } +.taskstate1.prog-30 { background: linear-gradient(90deg, #01ff70 30%, transparent 30%); } +.taskstate1.prog-35 { background: linear-gradient(90deg, #01ff70 35%, transparent 35%); } +.taskstate1.prog-40 { background: linear-gradient(90deg, #01ff70 40%, transparent 40%); } +.taskstate1.prog-45 { background: linear-gradient(90deg, #01ff70 45%, transparent 45%); } +.taskstate1.prog-50 { background: linear-gradient(90deg, #01ff70 50%, transparent 50%); } +.taskstate1.prog-55 { background: linear-gradient(90deg, #01ff70 55%, transparent 55%); } +.taskstate1.prog-60 { background: linear-gradient(90deg, #01ff70 60%, transparent 60%); } +.taskstate1.prog-65 { background: linear-gradient(90deg, #01ff70 65%, transparent 65%); } +.taskstate1.prog-70 { background: linear-gradient(90deg, #01ff70 70%, transparent 70%); } +.taskstate1.prog-75 { background: linear-gradient(90deg, #01ff70 75%, transparent 75%); } +.taskstate1.prog-80 { background: linear-gradient(90deg, #01ff70 80%, transparent 80%); } +.taskstate1.prog-85 { background: linear-gradient(90deg, #01ff70 85%, transparent 85%); } +.taskstate1.prog-90 { background: linear-gradient(90deg, #01ff70 90%, transparent 90%); } +.taskstate1.prog-95 { background: linear-gradient(90deg, #01ff70 95%, transparent 95%); } +.taskstate1.prog-100 { background: linear-gradient(90deg, #01ff70 100%, transparent 100%); } +.taskstate2.prog-0 { background: linear-gradient(90deg, #01ff70 0%, transparent 0%); } +.taskstate2.prog-5 { background: linear-gradient(90deg, #01ff70 5%, transparent 5%); } +.taskstate2.prog-10 { background: linear-gradient(90deg, #01ff70 10%, transparent 10%); } +.taskstate2.prog-15 { background: linear-gradient(90deg, #01ff70 15%, transparent 15%); } +.taskstate2.prog-20 { background: linear-gradient(90deg, #01ff70 20%, transparent 20%); } +.taskstate2.prog-25 { background: linear-gradient(90deg, #01ff70 25%, transparent 25%); } +.taskstate2.prog-30 { background: linear-gradient(90deg, #01ff70 30%, transparent 30%); } +.taskstate2.prog-35 { background: linear-gradient(90deg, #01ff70 35%, transparent 35%); } +.taskstate2.prog-40 { background: linear-gradient(90deg, #01ff70 40%, transparent 40%); } +.taskstate2.prog-45 { background: linear-gradient(90deg, #01ff70 45%, transparent 45%); } +.taskstate2.prog-50 { background: linear-gradient(90deg, #01ff70 50%, transparent 50%); } +.taskstate2.prog-55 { background: linear-gradient(90deg, #01ff70 55%, transparent 55%); } +.taskstate2.prog-60 { background: linear-gradient(90deg, #01ff70 60%, transparent 60%); } +.taskstate2.prog-65 { background: linear-gradient(90deg, #01ff70 65%, transparent 65%); } +.taskstate2.prog-70 { background: linear-gradient(90deg, #01ff70 70%, transparent 70%); } +.taskstate2.prog-75 { background: linear-gradient(90deg, #01ff70 75%, transparent 75%); } +.taskstate2.prog-80 { background: linear-gradient(90deg, #01ff70 80%, transparent 80%); } +.taskstate2.prog-85 { background: linear-gradient(90deg, #01ff70 85%, transparent 85%); } +.taskstate2.prog-90 { background: linear-gradient(90deg, #01ff70 90%, transparent 90%); } +.taskstate2.prog-95 { background: linear-gradient(90deg, #01ff70 95%, transparent 95%); } +.taskstate2.prog-100 { background: linear-gradient(90deg, #01ff70 100%, transparent 100%); } .taskstate6.prog-0 { background: linear-gradient(90deg, #df3030 0%, transparent 0%); } .taskstate6.prog-5 { background: linear-gradient(90deg, #df3030 5%, transparent 5%); } .taskstate6.prog-10 { background: linear-gradient(90deg, #df3030 10%, transparent 10%); } @@ -1417,8 +1421,8 @@ canvas.power-graph { .taskstate6.prog-100 { background: linear-gradient(90deg, #df3030 100%, transparent 100%); } .taskstate.has_runs { - border: 2px solid black; - margin: -1px; + border: 1px solid black; + margin: 0px; position: relative; z-index: 10; } diff --git a/assets/sai.js b/assets/sai.js index f0ccfb9..db86359 100644 --- a/assets/sai.js +++ b/assets/sai.js @@ -2359,7 +2359,7 @@ function ws_open_sai() } } - s = "<table>"; + s = "<table class=\"events-table\">"; /* * Update existing? diff --git a/src/builder/b-sai.c b/src/builder/b-sai.c index 93c4c86..dca14fb 100644 --- a/src/builder/b-sai.c +++ b/src/builder/b-sai.c @@ -665,6 +665,22 @@ saib_app_run(int argc, const char **argv) close(fd); } } +#elif defined(__FreeBSD__) + { +#include <kenv.h> + char fw_id[128]; + if (kenv(KENV_GET, "smbios.system.serial", fw_id, sizeof(fw_id)) > 0) { + if (!strncmp(fw_id, "sai_builder_id:", 15)) { + char *id = fw_id + 15; + char *new_host = lwsac_use(&builder.conf_head, strlen(id) + 1, 512); + if (new_host) { + strcpy(new_host, id); + builder.host = new_host; + lwsl_notice("%s: Applied dynamic SMBIOS builder identity: %s\n", __func__, builder.host); + } + } + } + } #elif defined(WIN32) { HKEY hKey;
Page fetched 0s ago, creation time: 5ms (vhost etag hits: 0%, cache hits: 0%)