From 66d41d1aa1f5c60cd63b1691ba6bf70e88cf78fa Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 1 Oct 2026 16:34:55 -0700 Subject: The standalone wallet opened from a disk shows its avatars, font and languages. With no files beside it, relative punks/, locales/, nip46.js and jsqr.js looked on the disk. From file:// they now come from v3.coinos.io (images and scripts need no CORS; /locales/ now sends Access-Control-Allow-Origin on the server), and standalone.html carries Public Sans inline. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01VP5Ljqk7EYcm5QQAbzDwog --- src/scan.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/scan.js') diff --git a/src/scan.js b/src/scan.js index a0d520c..083d5bb 100644 --- a/src/scan.js +++ b/src/scan.js @@ -1,3 +1,4 @@ +import { assetUrl } from './asset-url.js'; // Camera QR scanner. Opens a fullscreen overlay, streams the back camera, and // resolves with the decoded string (or null if the user cancels). // @@ -16,7 +17,7 @@ function loadJsQR() { if (!jsqrLoader) { jsqrLoader = new Promise((resolve, reject) => { const s = document.createElement('script'); - s.src = 'jsqr.js'; + s.src = assetUrl('jsqr.js'); s.onload = () => (window.jsQR ? resolve(window.jsQR) : reject(new Error('decoder unavailable'))); s.onerror = () => reject(new Error('decoder unavailable')); document.head.appendChild(s); -- cgit v1.2.3