feat: seed-driven pairing over the LNbits nostr-transport (#70) #73

Merged
padreug merged 17 commits from feat/seed-driven-pairing into dev 2026-07-02 21:54:11 +00:00
Showing only changes of commit 7bc718f9e3 - Show all commits

fix(machine): rotate pairing camera preview 90° CCW for the Sintra mount

The Sintra's camera is physically mounted rotated, so the wizard's viewfinder
showed a sideways image — hard to aim at the spire-seed QR. Rotate the preview
90° CCW (-rotate-90). Preview-only: qr-source decodes the raw frame (CSS
transforms don't touch canvas drawImage) and QR decoding is rotation-invariant,
so scanning is unaffected. The viewfinder is a square, overflow-hidden container,
so the rotated square stays in the box.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Padreug 2026-07-02 19:28:20 +02:00 • committed by padreug

View file

@ -157,7 +157,17 @@ onUnmounted(teardown)
class="relative overflow-hidden rounded-2xl border-4 border-primary/40 bg-black" class="relative overflow-hidden rounded-2xl border-4 border-primary/40 bg-black"
style="width: min(80vw, 28rem); aspect-ratio: 1 / 1" style="width: min(80vw, 28rem); aspect-ratio: 1 / 1"
> >
<video ref="videoEl" class="h-full w-full object-cover" muted autoplay playsinline></video> <!-- The Sintra's camera is mounted rotated, so rotate the preview 90° CCW
for an upright image. Preview-only: qr-source decodes the raw (un-
rotated) frame and QR decoding is rotation-invariant. The container is
square + overflow-hidden, so the rotated square stays in the box. -->
<video
ref="videoEl"
class="h-full w-full -rotate-90 object-cover"
muted
autoplay
playsinline
></video>
<!-- Reticle --> <!-- Reticle -->
<div class="pointer-events-none absolute inset-6 rounded-xl border-2 border-white/70"></div> <div class="pointer-events-none absolute inset-6 rounded-xl border-2 border-white/70"></div>
</div> </div>