From 84b6a68000c942e17bfe75c1493eddad7ceb5b78 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 20 Oct 2026 07:01:36 -0700 Subject: Developer docs at /docs/: which coinos to build against, Lightning addresses/LNURL/NIP-05/BIP-353, Nostr Wallet Connect (methods, budgets, who answers), the hosted REST API (coinos.io/api, moving to v2.coinos.io at the cutover), what migrating a username does to an API account, and testing on mutinynet (staging.coinos.io and its /api). The service worker leaves /docs alone, so it never becomes the offline shell. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_013ZDf1cyCQLkfjftYhymZAg --- build.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'build.js') diff --git a/build.js b/build.js index bac1079..5a279c4 100644 --- a/build.js +++ b/build.js @@ -90,6 +90,8 @@ self.addEventListener('fetch', (e) => { // copy, the player stalled and failed), and video segments would fill the // cache with what's already been watched. if (u.pathname.startsWith('/live/') || u.pathname.startsWith('/vmedia/hls')) return; + // The developer docs are their own page, not the app: never the offline shell. + if (u.pathname === '/docs' || u.pathname.startsWith('/docs/')) return; if (req.mode === 'navigate') { // A note page comes back with its thread rendered into it (the server's @@ -535,6 +537,8 @@ if (import.meta.main) { // ...and the default profile covers, full size and the wizard's preview copies for (const d of ['punks', 'punks-sm', 'covers', 'covers-sm']) for (const f of readdirSync('static/' + d)) await Bun.write(`dist/${d}/${f}`, Bun.file(`static/${d}/${f}`)); + // the developer docs, a plain page at /docs/ + for (const f of readdirSync('static/docs')) await Bun.write(`dist/docs/${f}`, Bun.file(`static/docs/${f}`)); const kb = (Buffer.byteLength(html) / 1024).toFixed(0); const jkb = (Buffer.byteLength(rawJs) / 1024).toFixed(0); -- cgit v1.2.3