writeLog passed anything non-string straight to h() as its children
argument, which h requires to be an array or a string - so writeError(err)
threw "Third argument must be an array or string" and swallowed the error
it was called with. Denying camera permission on /QRCodeScan hit this: the
detect() rejection is a DOMException, and the TypeError went to the console
instead of the message going to the page log. Calc, Concat, Letterflixd and
Storage all call writeError with non-strings too.
Normalise the argument through logChildren first: a string stays as it was,
a Node is wrapped in the array h wants, an array of nodes passes through
(logQRValue relies on that), and anything else - Error, DOMException - logs
its message, falling back to String(msg).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- author
- Marijn Besseling <njirambem@gmail.com>
· 2026-09-09 19:43 UTC
- committer
- Marijn Besseling <njirambem@gmail.com>
· 2026-09-09 19:44 UTC
- commit
- b3393efd631bed0f7620ffc28179e0f2b1b992b9
- parent
- 354201a7a4
- tree
- browse at this commit