From 5c8ef67b536d35e614a415f2cbe57b273d0d1c7a Mon Sep 17 00:00:00 2001 From: Dan Anderson Date: Tue, 20 Oct 2026 11:24:46 -0400 Subject: [PATCH] Add Casa Tookan app discovery manifest --- apps/web/next.config.ts | 10 +++++++ apps/web/public/.well-known/wallet-app.json | 30 ++++++++++++++++++++ apps/web/public/_headers | 9 ++++++ apps/web/public/wallet-app/banner.png | Bin 0 -> 33251 bytes apps/web/public/wallet-app/icon.png | Bin 0 -> 33171 bytes apps/web/public/wallet-app/splash.png | Bin 0 -> 5037 bytes docs/casatookan.md | 18 ++++++++++++ 7 files changed, 67 insertions(+) create mode 100644 apps/web/public/.well-known/wallet-app.json create mode 100644 apps/web/public/wallet-app/banner.png create mode 100644 apps/web/public/wallet-app/icon.png create mode 100644 apps/web/public/wallet-app/splash.png create mode 100644 docs/casatookan.md diff --git a/apps/web/next.config.ts b/apps/web/next.config.ts index 2272ba8e..9dc3fe84 100644 --- a/apps/web/next.config.ts +++ b/apps/web/next.config.ts @@ -1,5 +1,15 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { + async headers() { + return [ + { source: "/.well-known/:path*", headers: [{ key: "Access-Control-Allow-Origin", value: "*" }] }, + { + source: "/.well-known/wallet-app.json", + headers: [{ key: "Content-Type", value: "application/json; charset=utf-8" }], + }, + { source: "/wallet-app/:path*", headers: [{ key: "Access-Control-Allow-Origin", value: "*" }] }, + ]; + }, reactStrictMode: true, reactCompiler: true, typedRoutes: true, diff --git a/apps/web/public/.well-known/wallet-app.json b/apps/web/public/.well-known/wallet-app.json new file mode 100644 index 00000000..15955a3c --- /dev/null +++ b/apps/web/public/.well-known/wallet-app.json @@ -0,0 +1,30 @@ +{ + "name": "XCP.io", + "short_name": "XCP.io", + "description": "Explore Counterparty assets, addresses, blocks, and transactions.", + "start_url": "/", + "scope": "/", + "display": "standalone", + "background_color": "#09090b", + "categories": ["utility", "counterparty"], + "icons": [ + { + "src": "/wallet-app/icon.png", + "sizes": "1024x1024", + "type": "image/png", + "purpose": "any" + } + ], + "wallet": { + "version": "1", + "subtitle": "Counterparty Explorer", + "heroImageUrl": "/wallet-app/banner.png", + "splashImageUrl": "/wallet-app/splash.png", + "chains": { + "optional": ["bip122:000000000019d6689c085ae165831e93"] + }, + "capabilities": { + "optional": [] + } + } +} diff --git a/apps/web/public/_headers b/apps/web/public/_headers index 43e03baf..45cb0236 100644 --- a/apps/web/public/_headers +++ b/apps/web/public/_headers @@ -3,3 +3,12 @@ # per-load revalidation the default (max-age=0, must-revalidate) forces. /_next/static/* Cache-Control: public, max-age=31536000, immutable + +/.well-known/* + Access-Control-Allow-Origin: * + +/.well-known/wallet-app.json + Content-Type: application/json; charset=utf-8 + +/wallet-app/* + Access-Control-Allow-Origin: * diff --git a/apps/web/public/wallet-app/banner.png b/apps/web/public/wallet-app/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e77e38683d8258c503079a7933f5633d897dba GIT binary patch literal 33251 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 BmJ|R0 literal 0 HcmV?d00001 diff --git a/apps/web/public/wallet-app/icon.png b/apps/web/public/wallet-app/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..289dcc01ab7199af6c0bad171cdcd612a0bd2811 GIT binary patch literal 33171 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 literal 0 HcmV?d00001 diff --git a/apps/web/public/wallet-app/splash.png b/apps/web/public/wallet-app/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebf6467fd6e66fdc15d640dac2296c6a60bf946 GIT binary patch literal 5037 zcmd6r`8yPf_s1nJA<<;dR(2vwmSMz1c1gBoER}3oim{G{5=ji%w_!pJVXRlOmgQQ; zI?+sw<&u3cWg9ch_`1J*|Axge3}N4F(Ji$At@CkEi=xmov9x1+~9^mLkoYv!_^Lchjk3LSVi(%eu( zh4JH(%dRnQoY?sBMpTuo^xnl)cq&W)rfR0=eA3 zOmMJXeo+y{P7eW>URSEJ$dIwjr;e|F5+YOofoCSE(}s3;m#KM0MIPkP3={uo1hZ8l zO!7CnEOr9+tVSaDyUOVBu)L-wtjNhbglV34WE7+lb_$xl8~^e$35ry@YKPbq2Xay2nOSwIXJlfH)1kKdXIIr zAYFswWu#U4L`$9R(Kl^{q^uP~`XgOuZd6rvO~Y`@hKtykI>uwW6ZI+#?&SaL*TbKs z^jxkD58q}Vb75w^?X0^|MXr~%fpM6%P0_ZwAF!p>`P0^{DQ8Dt3j_eJ?sq)j-%m@{%e|NKk?NuvIr{xdL->b(n)11t(u?ICch=V@iq_X# z;?;uNZn|H{z79>V*d`%KX5&TkmzWle~i`&qVp zqm{YpQzdf-Jkan*j}~{H7gkPhQY6_HFH|FQEm}k}WgL`k&tw4qQM84FkU)n5oABmX zLZvp1KOSb!cf+cK={+rlBmD@*HH3s8^|q~bUT+Q;p65Kwi_ih+Q;6!X9-zl6(ero97*HK_z*|SMzCB7 zAH8;WtdYcZg^MKboUNe@gC*}#ZepTuS%eF#`P@$4ZP_3My%ACgB6dY>v+&Q#Xn|lA%M=SD3{&f zKTFB=HI$BTZMNhjE4-2X7*AC=WOkZ!bf1#q1Q z$~_`?RF{YA&#eLe>%!(+>wbs4r-BymVJSHX%g;ru;ck z#ryb*C4x-xC^CmbyG+Wy0F4<72NrQBciV(4$oio8E%P~0xk1=r2S?oSX9#v^XX}i9 zypXx#K5{8SO@!V4q+K2F+Bjvs%4ZwND-0<2zbFe!bEwbaqL3&44v|nkVD-F`p0DUr z7~n2EI6D;eIVN3ZkjB`36vq3`5&=F}CjqL^GPvNw%J&T60x3zFV;JeUMP zNur>b+Un0=$yHn$6bAM{-R(1BKD>h7M6~IW0ot{gm73ROi6{lf2rUWUUPI* zwOU2BMkeLcg;3=KTSd-=I1|6^Fi=xjFORj`a?0R5R&1T+bA?p7Z4#wkySVgW`(t~Q z?VBdv`GOJtMO|`2ax~DM?_)Q*3ZIPG8VAB>uzL~Q=0J)aPDvW0HkTq_?w@+qoZs7f zg_y;qpQ6b1=g_%tPuw2oKX94c8IvfmB*l1~!eBxEr13XKJ9w)=b@wdUPsb6!LS&BM z?{Hm?eiPesCz~^Pj6 zS^G`{hIXnK7H$SrdW$@&{XNMSYa6fr^S&rr-cNASBbp`f33%Teg-__DS;&zsO>e{i; zq_0+uh8#qNTO|0aa+qmGpxQ^;{>aaH`)R6RRP9>v6z)qwWmzPH%@{al@5Mt1QW&T! zymPK(`-<$dGe~wyM9%PxN7X%@pWgSZKK&lU%~X3O$oX{!^4i(5L-MC0+xZtQH^G(&+pgA|WEmIB-4z;?^ z`yQjSF0HMk*&Z=KQ-A*}N)5S;+My#0!h_n(6eJA>^PUH&v6qbkIc1HPXT~{T%SINJ z-()QlJj(os2)+Xo7>A#~EgW4`X3ie7id^fyPqHK$(UabO>;Huv0KOj_${Dm-Op7XIf5aMGbiYa}>>^dX

TKpLZ21GdfZJdcg4ug;X3=-)>e8! z^5NJG(XCZj@rbcP^-@02g3|mOx!&am&Ygb|C+NAJF9JZ9;eUX1vOH_0rN@DEt|=Vj zOC&eJ_(?v*-Pre8f+5K2r6 zY#+J=pSOl~X=jr1mqr`dDxQxydq?OS$3RE2Lz{U^C+sM3*>H+t^piF;iPErk>#*5B zBPdY0sG{F30VScj_C3OA7o}{;Z#bBDdC?X0Ee~FH$BsOwa$)lft;nLg?uN5~cWGE& zPJ@<<&l3^LUL3b$+R+iH%`oTVc#w+))vuZ#D;^*_DU%x!qPW%YlRWp)pncb~Cj(P9^&8DOz!0TwTj>&%x zF~jA#II&N9x#z9{7?i5)bBP3en`LRzy@X--JmCg(YN{tK>#kNXz9O625i@{dX$$R=?TGQY3>981do zAd?aHvSEE2*W9K`CaWG;J>G4GZ0)sFBmGLY**rI1p~&b`WLj`tZ#2X z)n56n8j_TFdtLZgpPZmkQpK{v&mzlB#pZ=w1La(oZ3=Nr&B5I2ZZ@ja6 zBL0_bu?ku(W-?8;5aBMpdBMuhw|kSQ?AvQeMxSomA3+TTHh=Kj=}+X#qPh$pBPN>H z8Yd>Ea*9nc0*a|kSU>4rD@GG)H+OHqsM_nv^1)BKx#M>yL3-&t7>%t`m>VSm>0(cy zF>J#v5TS-)i|C;s%uF1juhpoaId}O5x@gdcIqs25LM$D)d*Andl0QE@-^e+CPg$T- z)yF&Vx`*qVzCk=5pRAJ)+Y!a~goY|5mwgAKlptd-;|#2RcjzTxCJyujwsE0qa-OAX zwUR!BqL;$i+X0KsYwB_YPtVQoGhv`^TZl)+z!U52)DYqYNyE)F4)e@nT=9=pXiBQ~ z*V*aFYG17E&5h-7bZv*4;O%!XfBDQiKBP^dLZ`hYlzSD*uYvkP8}9u0mN>RGyn^2{=m`t_CIckc}fn}kP#~bKY#wDzJ3_s)@k9m#?3&6LoFh#%YDl5 z>Z#?vXV0OZ-VHl826p4?eYTlUJtm8Lwa=B7XQ^bI(-4teZ&qWk>o|-t8EAd@AWgT% zfe)!p+^-~^T;q&$w#%v`-O+K3=Q90ccKOhAlq=%(SiWCqvAL+FB-_p%c+ zBN#RQbmOq;n9~9$_!`Tr=-#MESu59k5r-;^%ryPKe$rU#rirw4%h}*jV0)v9h&GC0Mw?$^dH4N| zcjgKB>)7cHi;`H>8;R0h3r#Dc;}DoY}<>bTj$$)ULh4@2O#*8M=ZKd~qIh0qm9mSx9z_IzT z{W~%IwP?W8-BDKTJ{49oFCR}AU48O;7F?oiGf=ylzFO6(eB`0j{tJ;^pcii7wT9@>c`(OD+9BkTCe_8)QSxf=JQx z)4#jiZPXztNl;zqW=+gf0q_ZLzFkUvZiLxt&hqmYK8nm2IhEfj5>1SmA@10;qd>Yl zbFTszHqPllEzp32NKRyq2PCPNp?ZRem8rlUWsd);=h6S0ImOTJi36{Y9W?nbmH)aH MrnV+E;0JO42YCmBMgRZ+ literal 0 HcmV?d00001 diff --git a/docs/casatookan.md b/docs/casatookan.md new file mode 100644 index 00000000..6f35ef4d --- /dev/null +++ b/docs/casatookan.md @@ -0,0 +1,18 @@ +# Casa Tookan app + +The app manifest is served at `/.well-known/wallet-app.json`. The PNGs under `/wallet-app/` provide its icon, banner and splash. Paths are root-relative so they resolve outside `/.well-known/`. + +The manifest makes this site discoverable when a user saves it in Casa Tookan. It does not register the site in a curated directory or enable new signing methods. Bitcoin support is optional because browsing needs no wallet. The splash uses Casa Tookan's automatic readiness timeout. + +This change adds browsing metadata only. Existing connection and signing flows are unchanged. + +## Deployment check + +- Fetch the manifest without cookies and confirm JSON, HTTP 200 and `Access-Control-Allow-Origin: *`. +- Fetch a missing `/.well-known/` path and a missing `/wallet-app/` image: each must return 404 with CORS, not the homepage. +- Fetch all three images: 1024×1024 opaque icon, 1200×630 banner, 200×200 splash. +- Open the site in the native Casa Tookan browser, save it and reopen its app card. Check the title, artwork and splash dismissal. + +Headers are configured in both Next (SSR/404) and Cloudflare Static Assets (public files). Production framing and CSP policies are unchanged; the development iframe bridge is not installed. + +Format: https://docs.casatookan.com/apps.html