Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01DY9UMTuF43Ekc2U4E1eDwX
2.1 KiB
Changelog
Tracks changes to @bitlogin/core and @bitlogin/widget that matter to a
site with its own vendored copy (see "Updating your integration" in
README.md). Not every commit needs an entry — only ones where a site
sitting on an older vendored copy is missing a fix or behavior change it
would plausibly want. Newest first.
2026-07-21
-
Fix: registration/login could fail quorum if a single built-in relay was down.
BUILTIN_VAULT_RELAYShad only 3 relays andBUILTIN_DISCOVERY_RELAYSonly 2, sharingrelay.nostr.bandbetween both lists.publishAndVerify()requires a fixedminAcks/minReadbacksof 2 regardless of relay count, so losing that one relay left zero margin — surfacing as "Registration did not reach the required relay acknowledgement and readback quorum." Addednostr.wineandrelay.snort.socialto the vault list, andnostr-pub.wellorder.netto discovery. (681f622) Re-vendor if: your site uses the default built-in relay list (i.e. you don't pass your ownvault-relays/discovery-relaysattributes). If you already pass your own relay list, this doesn't affect you. -
Fix: widget completely unstyled (giant logo, unstyled buttons) under a strict
style-srcCSP.element.tsinjected its CSS as an inline<style>tag inside the shadow root on every render. A host withstyle-src 'self'and no'unsafe-inline'silently drops an inline<style>'s rules entirely — visible as the brand SVG rendering at its raw ~590×119px intrinsic size instead of the intended 20px-tall lockup, with every other shadow-DOM element similarly falling back to unstyled browser defaults. Switched to building the stylesheet once as aCSSStyleSheetand assigning it viaadoptedStyleSheets, which isn't subject tostyle-src. (e8712f9) Re-vendor if: your site's CSP setsstyle-srcwithout'unsafe-inline'(check your CSP header/meta tag). If yourstyle-srcalready includes'unsafe-inline', or you have no CSP, this was invisible to you either way, but re-vendoring is still a good idea (this fix also drops needless per-render CSS reparsing).