From 848958e450a5b5aac95a2fcd981fd229da1d6190 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 3 Aug 2026 07:39:22 -0700 Subject: Onboarding: swap a server-broken punk, self-heal the strip punks/55 (and a few others) 502 on coinos.io right now; 36 verified good takes its place, and any picker image that fails to load removes itself instead of showing a broken glyph. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Wvj4aoeMZwA7VUGdJP9Swi --- src/app.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/app.js') diff --git a/src/app.js b/src/app.js index 7e39e59..562ca99 100644 --- a/src/app.js +++ b/src/app.js @@ -2006,7 +2006,7 @@ function shouldOnboard() { return !ui.onbSkip && accounts.length === 0 && !hasVault(); } -const PUNK_PICKS = [7, 14, 21, 3, 33, 40, 47, 55, 61, 26, 12, 50]; +const PUNK_PICKS = [7, 14, 21, 3, 33, 40, 47, 36, 61, 26, 12, 50]; const punkImg = (n) => `https://coinos.io/api/public/punks/${n}.webp`; async function onbUpload(file) { @@ -2093,6 +2093,7 @@ function onboardScreen() { class: 'onb-punk' + (sel === punkImg(n) ? ' sel' : ''), src: punkImg(n), alt: '', onClick: () => { o.avatar = punkImg(n); render(); }, + onError: (e) => { e.target.remove(); }, // a 502'd punk removes itself }))), h('div', { class: 'row gap6' }, h('button', { class: 'btn-block grow', disabled: ui.onbBusy, onClick: () => document.getElementById('onb-file')?.click() }, t('onbUpload')), -- cgit v1.2.3