feat: seed-driven pairing over the LNbits nostr-transport (#70) #73
1 changed files with 6 additions and 1 deletions
fix(machine): maintenance beacon uses the pairing seed's relay (#70)
The maintenance-mode beacon resolved the relay from env only (config.relayUrl || VITE_RELAY_URL), so on a blank-.env seed-driven machine it was undefined and the beacon was skipped — a paired ATM in maintenance never broadcast. It already resolves the signer (which carries the transport); fall back to resolved.transport.relays[0], mirroring lightning.ts's env → pairing precedence. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit
ce87f85a73
|
|
@ -103,11 +103,16 @@ onMounted(async () => {
|
|||
try {
|
||||
const { NostrClient, createSignedEvent } = await import('@bitSpire/nostr-client')
|
||||
const { resolveSigner } = await import('@/services/signer-resolver')
|
||||
const relayUrl = config?.relayUrl || import.meta.env.VITE_RELAY_URL
|
||||
// Best-effort: resolve a signer (bunker resume / pairing, or dev nsec).
|
||||
// If the ATM isn't paired yet, skip the beacon rather than fail the screen.
|
||||
const resolved = await resolveSigner({ allowEphemeral: true }).catch(() => null)
|
||||
const signer = resolved?.signer ?? null
|
||||
// Same env → pairing-seed precedence as lightning.ts: on a blank-.env
|
||||
// seed-driven machine the relay comes from the pairing transport, not env.
|
||||
const relayUrl =
|
||||
config?.relayUrl ||
|
||||
import.meta.env.VITE_RELAY_URL ||
|
||||
resolved?.transport?.relays?.[0]
|
||||
if (signer && relayUrl) {
|
||||
const client = new NostrClient({ relays: [{ url: relayUrl }], signer })
|
||||
await client.connect()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue