From c68dc2ff2a99138d749f2151bdc8b0b48c0eb318 Mon Sep 17 00:00:00 2001 From: Robert Yan <46699230+think-in-universe@users.noreply.github.com> Date: Mon, 23 Feb 2026 02:06:50 +0800 Subject: [PATCH] feat: update dashboard favicon (#309) --- src/channels/web/server.rs | 13 ++++++++++++- src/channels/web/static/favicon.ico | Bin 0 -> 3890 bytes src/channels/web/static/index.html | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 src/channels/web/static/favicon.ico diff --git a/src/channels/web/server.rs b/src/channels/web/server.rs index d8f73671..fb4b698b 100644 --- a/src/channels/web/server.rs +++ b/src/channels/web/server.rs @@ -290,7 +290,8 @@ pub async fn start_server( let statics = Router::new() .route("/", get(index_handler)) .route("/style.css", get(css_handler)) - .route("/app.js", get(js_handler)); + .route("/app.js", get(js_handler)) + .route("/favicon.ico", get(favicon_handler)); // Project file serving (behind auth to prevent unauthorized file access). let projects = Router::new() @@ -392,6 +393,16 @@ async fn js_handler() -> impl IntoResponse { ) } +async fn favicon_handler() -> impl IntoResponse { + ( + [ + (header::CONTENT_TYPE, "image/x-icon"), + (header::CACHE_CONTROL, "public, max-age=86400"), + ], + include_bytes!("static/favicon.ico").as_slice(), + ) +} + // --- Health --- async fn health_handler() -> Json { diff --git a/src/channels/web/static/favicon.ico b/src/channels/web/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2f144abd983927b3017e24e56b242ae1ab636c46 GIT binary patch literal 3890 zcmeHKOK21^7>);R#dZrSdho$Q5mcm5(SuL$Ab8S?7f)V12`YH?pf@jd?L&$W*2k)) zDpc`VX{8_)UlgT27PPiiwAz)$iZ;p2B>DW4?H0z!;VG#8c9@ZYN!Dqg zhhIbW-G%x4eG=O#4l5sC$A0ko3dq)NFuy4z6HE# zVG-~vp#~lTMnk<#Ab1%A{6Fx!4rlg#u@?I08|ZIO!5iln2cI;ME!MY|3&-`DDAZtw z8`599OMm$S=4De(1|E{L<$E+&I#$4To$8y;j zc)-O#@TwU>PZR0VBmX}s4*v}i1if*{ww*54y<5A-^<{ICyuKa&<0DX??h*ci0>_`# z|2&BJDvI^Fq`xgNzdnxp+&Sp4h_8kodOiW$y=Vo$`zZOP+~vwb z IronClaw +