From 889c60d63b585a276080f20c40c2d73ff715ea94 Mon Sep 17 00:00:00 2001 From: Ryan Vogel Date: Mon, 19 Jan 2026 15:04:59 -0500 Subject: [PATCH] fix(web): rename favicons to v2 for cache busting (#9492) --- packages/app/index.html | 8 ++--- packages/app/public/apple-touch-icon-v2.png | 1 + packages/app/public/favicon-96x96-v2.png | 1 + packages/app/public/favicon-v2.ico | 1 + packages/app/public/favicon-v2.svg | 1 + packages/app/src/entry.tsx | 2 +- packages/app/src/pages/layout.tsx | 2 +- packages/console/function/src/auth.ts | 2 +- packages/desktop/index.html | 8 ++--- packages/desktop/src/index.tsx | 2 +- packages/docs/docs.json | 2 +- packages/docs/favicon-v2.svg | 19 ++++++++++++ .../assets/favicon/apple-touch-icon-v2.png | Bin 0 -> 1541 bytes .../src/assets/favicon/favicon-96x96-v2.png | Bin 0 -> 536 bytes packages/ui/src/assets/favicon/favicon-v2.ico | Bin 0 -> 15086 bytes packages/ui/src/assets/favicon/favicon-v2.svg | 7 +++++ packages/ui/src/components/favicon.tsx | 6 ++-- packages/web/astro.config.mjs | 28 ++++++++++++++++++ packages/web/public/apple-touch-icon-v2.png | 1 + packages/web/public/favicon-96x96-v2.png | 1 + packages/web/public/favicon-v2.ico | 1 + packages/web/public/favicon-v2.svg | 1 + 22 files changed, 78 insertions(+), 16 deletions(-) create mode 120000 packages/app/public/apple-touch-icon-v2.png create mode 120000 packages/app/public/favicon-96x96-v2.png create mode 120000 packages/app/public/favicon-v2.ico create mode 120000 packages/app/public/favicon-v2.svg create mode 100644 packages/docs/favicon-v2.svg create mode 100644 packages/ui/src/assets/favicon/apple-touch-icon-v2.png create mode 100644 packages/ui/src/assets/favicon/favicon-96x96-v2.png create mode 100644 packages/ui/src/assets/favicon/favicon-v2.ico create mode 100644 packages/ui/src/assets/favicon/favicon-v2.svg create mode 120000 packages/web/public/apple-touch-icon-v2.png create mode 120000 packages/web/public/favicon-96x96-v2.png create mode 120000 packages/web/public/favicon-v2.ico create mode 120000 packages/web/public/favicon-v2.svg diff --git a/packages/app/index.html b/packages/app/index.html index 450807a42..1e516cbbb 100644 --- a/packages/app/index.html +++ b/packages/app/index.html @@ -4,10 +4,10 @@ OpenCode - - - - + + + + diff --git a/packages/app/public/apple-touch-icon-v2.png b/packages/app/public/apple-touch-icon-v2.png new file mode 120000 index 000000000..c0d4353db --- /dev/null +++ b/packages/app/public/apple-touch-icon-v2.png @@ -0,0 +1 @@ +../../ui/src/assets/favicon/apple-touch-icon-v2.png \ No newline at end of file diff --git a/packages/app/public/favicon-96x96-v2.png b/packages/app/public/favicon-96x96-v2.png new file mode 120000 index 000000000..b3129f6bf --- /dev/null +++ b/packages/app/public/favicon-96x96-v2.png @@ -0,0 +1 @@ +../../ui/src/assets/favicon/favicon-96x96-v2.png \ No newline at end of file diff --git a/packages/app/public/favicon-v2.ico b/packages/app/public/favicon-v2.ico new file mode 120000 index 000000000..d8527270a --- /dev/null +++ b/packages/app/public/favicon-v2.ico @@ -0,0 +1 @@ +../../ui/src/assets/favicon/favicon-v2.ico \ No newline at end of file diff --git a/packages/app/public/favicon-v2.svg b/packages/app/public/favicon-v2.svg new file mode 120000 index 000000000..2600394ce --- /dev/null +++ b/packages/app/public/favicon-v2.svg @@ -0,0 +1 @@ +../../ui/src/assets/favicon/favicon-v2.svg \ No newline at end of file diff --git a/packages/app/src/entry.tsx b/packages/app/src/entry.tsx index 28741098c..8c4662926 100644 --- a/packages/app/src/entry.tsx +++ b/packages/app/src/entry.tsx @@ -37,7 +37,7 @@ const platform: Platform = { .then(() => { const notification = new Notification(title, { body: description ?? "", - icon: "https://opencode.ai/favicon-96x96.png", + icon: "https://opencode.ai/favicon-96x96-v2.png", }) notification.onclick = () => { window.focus() diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index 81177d138..2f3b39d86 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -1284,7 +1284,7 @@ export default function Layout(props: ParentProps) {
OpenCode - - - - + + + + diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx index 6cd77d7d5..a06270b13 100644 --- a/packages/desktop/src/index.tsx +++ b/packages/desktop/src/index.tsx @@ -253,7 +253,7 @@ const createPlatform = (password: Accessor): Platform => ({ .then(() => { const notification = new Notification(title, { body: description ?? "", - icon: "https://opencode.ai/favicon-96x96.png", + icon: "https://opencode.ai/favicon-96x96-v2.png", }) notification.onclick = () => { const win = getCurrentWindow() diff --git a/packages/docs/docs.json b/packages/docs/docs.json index 4461f8253..93dff10f8 100644 --- a/packages/docs/docs.json +++ b/packages/docs/docs.json @@ -7,7 +7,7 @@ "light": "#07C983", "dark": "#15803D" }, - "favicon": "/favicon.svg", + "favicon": "/favicon-v2.svg", "navigation": { "tabs": [ { diff --git a/packages/docs/favicon-v2.svg b/packages/docs/favicon-v2.svg new file mode 100644 index 000000000..b785c738b --- /dev/null +++ b/packages/docs/favicon-v2.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/packages/ui/src/assets/favicon/apple-touch-icon-v2.png b/packages/ui/src/assets/favicon/apple-touch-icon-v2.png new file mode 100644 index 0000000000000000000000000000000000000000..70fd01b0ea38ea8b3d0429a6438f5b8e85aba94a GIT binary patch literal 1541 zcmaJ>eKb^Q7{4Ur0=8rcXMfNrMx!Z`2J5r}m{7q=oI5Z4;q`f(Bo2BGNsu z_o*M^xIMiCe~;%%@XdW@9C6U|=3EF(Xy3J&Mnv)+onDt<%fnSpp|orWz33X39|qvAImHaraYT6ua6s5eeo7(qmH2LMX#~Pu2;Tnp)=eVBAS5%uY|{(3wuB zAapme=5QR?*2MU+i^ao>T30eu5Zd{wQ@+ZGno1dH3BTocen+^M)MNL^v8uk#$Zq?I z%@%6)NV%y0;oD~kM$#S1?GRjgwP!pQ{x`l^OZ@Y-Sb<3otdEN&B0Gw!W}D2I@{l2u zuwn>3!;aHkC&9xO4Yv!~RpprP?wSlwBI39;_4!?-dnmpw?!Q=fcUHoZd-O?O@D$h* z=K60K1pZXi%Q6$dLa4UWf-c&ORa8`Hrl;5SPRgF&Q|Ccw(z0?*!*ML*@LQ+JW*hD? z?2vx^2D4PXwiOfte^e8Al1$(yFq5Bs%ER5I;%cyvNtNy-14|BNmk*%)-+J>w&c+K* zW&AZr?A1wdT(c&ASOJ96+iQQ)0*#~_viFD-7&-Fs-ZXFmEm^+iZ{yhneh(>TdI0q1 zphvmNM}e(UhHh{p@bicBH8DVEei4QF{>+VWB|@NSEyiUGGldQ^HRWMybq+#oPK!0uXpM50A2a#48$6R-P=pz-9TF_%;W)Wir+`pO z;&-{gD-Y?eIszbgl4xEEB)ld$b}mzG+8CiJvNPw%n)GWv#32?OS;Zv~kk3xHn{&b| zE}4Ibb)U&^ePw0=+`*3yIV#4D9X`1)`WssZ;sKSF^R_e95r8e<4G#X6TGF;U2gwt) zKDZ1cGYrlbdhM?EJiL7E{(8`j%3;MHDxlY(61Om5hyb@Ik-@-yk4tU@fFAj*wDAVH z-*y$fV-fi0zyIZ*;8}->ds25n1QnR7434S=nsQtG(gg;+2t=G8gLy*FJ7|SKsNwRR ztp>l{!s@~ZOy7fcw+>K3a) z2t9JGBVr0PnAp|meV%Gu3p!47j_uJa=@{{jVjoU;G` literal 0 HcmV?d00001 diff --git a/packages/ui/src/assets/favicon/favicon-96x96-v2.png b/packages/ui/src/assets/favicon/favicon-96x96-v2.png new file mode 100644 index 0000000000000000000000000000000000000000..15266d28f159a74d5c54634d1b3ef548e97f6c8c GIT binary patch literal 536 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U_9&T;uuoF_-2kH*C7W17V-E6 zFXn$)Jn1}VWz)Rk!VA93%@(%Up4f0XPqg-HiS7LRa(xF^{&eKjU^sez7Ly2raKq!= z2Brk2f<3$e3_c8f+ZnkSICw-dnG+r;>$uDw$0;LPsnB{na7mCjKzib*uaihe}mzNs&#KTgN`2~7sCBeS(pZpU>|VHo`hk0|4|7)d1$)nnOUS-2?|0x9zfA3XrUYknTj~WYE{IAqoDKnpTg@KE zlmGwSOe(+SALH)78&qol`;+06E9QCjbBd literal 0 HcmV?d00001 diff --git a/packages/ui/src/assets/favicon/favicon-v2.ico b/packages/ui/src/assets/favicon/favicon-v2.ico new file mode 100644 index 0000000000000000000000000000000000000000..34ca0b9c01b23ca30f64ed17bd0705bb08cca4b1 GIT binary patch literal 15086 zcmeHOK~BRk5L`qb5Qz`ug4APAoOwpYiDO^FTX+>;32UH|yXxAWdV|$=ELq9glikTM zu~I9DJjkQ$cB02wKA%NiL}Z@-;z{I7$0j|d`NKx!LjhaG=q2*5J&k*9nw}PRYCsRr z1M~nraO)meR&HzSw=(_J-v!9OtN{H}UW3c(_0Nvdf4_fQknY_n`CsNAMEivG8uh3C zEncF3%0BU)BTu&$&2x;G$EzDP?$yn?wVZo-qIi0Fyt*x%bBveAs~a`$)y=uJoO^kq zczSufx-Fb@jF-o&8#NwPH!2T$Ur}|V@{s?plB0AORhRyWeSh%uM8{D-pm>xIibwgN zc$5!{NBN+5ln;tW`Ji}|4~j?mpm>xIibwenf7v=r-KZNqKo8IZV?E$~7sT=ZQ6PP% zHEVy>&hNCwJ_}rnu2+BbJ>TMc|MoT?8nb?%_pILeUiZ0ki;vd-T+Mup^-mR`{`7y3 z2Tt9zRKH_G@ilH}J`~UT<>$ldiN-a3Yx8J5i?8Lc&D(rvT+3gZN9$R9EkEbW{--{- zt&eUG3~gzjLjT3=XRqR(_9^T-W#ig&XYn>}y*~f#kj{_oUaq(IiQa$j^~ZYlX!F|G N;%#j4*B + + + + \ No newline at end of file diff --git a/packages/ui/src/components/favicon.tsx b/packages/ui/src/components/favicon.tsx index 3462384d4..abb0e1f78 100644 --- a/packages/ui/src/components/favicon.tsx +++ b/packages/ui/src/components/favicon.tsx @@ -3,9 +3,9 @@ import { Link, Meta } from "@solidjs/meta" export const Favicon = () => { return ( <> - - - + + + diff --git a/packages/web/astro.config.mjs b/packages/web/astro.config.mjs index 99a1c3bd8..9be189ced 100644 --- a/packages/web/astro.config.mjs +++ b/packages/web/astro.config.mjs @@ -32,6 +32,34 @@ export default defineConfig({ solidJs(), starlight({ title: "OpenCode", + favicon: "/favicon-v2.svg", + head: [ + { + tag: "link", + attrs: { + rel: "icon", + href: "/favicon-v2.ico", + sizes: "32x32", + }, + }, + { + tag: "link", + attrs: { + rel: "icon", + type: "image/png", + href: "/favicon-96x96-v2.png", + sizes: "96x96", + }, + }, + { + tag: "link", + attrs: { + rel: "apple-touch-icon", + href: "/apple-touch-icon-v2.png", + sizes: "180x180", + }, + }, + ], lastUpdated: true, expressiveCode: { themes: ["github-light", "github-dark"] }, social: [ diff --git a/packages/web/public/apple-touch-icon-v2.png b/packages/web/public/apple-touch-icon-v2.png new file mode 120000 index 000000000..c0d4353db --- /dev/null +++ b/packages/web/public/apple-touch-icon-v2.png @@ -0,0 +1 @@ +../../ui/src/assets/favicon/apple-touch-icon-v2.png \ No newline at end of file diff --git a/packages/web/public/favicon-96x96-v2.png b/packages/web/public/favicon-96x96-v2.png new file mode 120000 index 000000000..b3129f6bf --- /dev/null +++ b/packages/web/public/favicon-96x96-v2.png @@ -0,0 +1 @@ +../../ui/src/assets/favicon/favicon-96x96-v2.png \ No newline at end of file diff --git a/packages/web/public/favicon-v2.ico b/packages/web/public/favicon-v2.ico new file mode 120000 index 000000000..d8527270a --- /dev/null +++ b/packages/web/public/favicon-v2.ico @@ -0,0 +1 @@ +../../ui/src/assets/favicon/favicon-v2.ico \ No newline at end of file diff --git a/packages/web/public/favicon-v2.svg b/packages/web/public/favicon-v2.svg new file mode 120000 index 000000000..2600394ce --- /dev/null +++ b/packages/web/public/favicon-v2.svg @@ -0,0 +1 @@ +../../ui/src/assets/favicon/favicon-v2.svg \ No newline at end of file