Browse Source

bug-fixes

imwald
Silberengel 3 weeks ago
parent
commit
fa2238d888
  1. 4
      package-lock.json
  2. 2
      package.json
  3. 2
      src/components/ZapDialog/index.tsx
  4. 6
      src/index.css
  5. 8
      src/services/lightning.service.ts
  6. 5
      src/services/relay-info.service.ts

4
package-lock.json generated

@ -1,12 +1,12 @@
{ {
"name": "imwald", "name": "imwald",
"version": "22.3.2", "version": "22.4.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "imwald", "name": "imwald",
"version": "22.3.2", "version": "22.4.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@asciidoctor/core": "^3.0.4", "@asciidoctor/core": "^3.0.4",

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "imwald", "name": "imwald",
"version": "22.3.2", "version": "22.4.0",
"description": "Imwald — a user-friendly Nostr client focused on relay feed browsing, publications, and relay discovery", "description": "Imwald — a user-friendly Nostr client focused on relay feed browsing, publications, and relay discovery",
"private": true, "private": true,
"type": "module", "type": "module",

2
src/components/ZapDialog/index.tsx

@ -110,7 +110,7 @@ export default function ZapDialog({
return ( return (
<Dialog open={open} onOpenChange={setOpen}> <Dialog open={open} onOpenChange={setOpen}>
<DialogContent onOpenAutoFocus={(e) => e.preventDefault()}> <DialogContent>
<DialogHeader> <DialogHeader>
<DialogTitle className="flex gap-2 items-center"> <DialogTitle className="flex gap-2 items-center">
<div className="shrink-0">{t('Zap to')}</div> <div className="shrink-0">{t('Zap to')}</div>

6
src/index.css

@ -611,6 +611,12 @@
.yarl__portal { .yarl__portal {
pointer-events: auto; pointer-events: auto;
} }
/* Bitcoin Connect (Alby) payment UI: web component on document.body while a Sheet/Dialog may
still be tearing down; same pointer-events issue as the lightbox when nested under Radix. */
bc-modal {
pointer-events: auto;
}
@media (max-width: 768px) { @media (max-width: 768px) {
.yarl__slide_captions_container { .yarl__slide_captions_container {
padding: 12px; padding: 12px;

8
src/services/lightning.service.ts

@ -103,7 +103,10 @@ class LightningService {
} }
return new Promise((resolve) => { return new Promise((resolve) => {
// Close our Radix dialog first; opening bc-modal in the same turn can leave body
// pointer-events stuck so the payment UI is visible but inert (esp. from Sheet / secondary pane).
closeOuterModel?.() closeOuterModel?.()
window.setTimeout(() => {
let checkPaymentInterval: ReturnType<typeof setInterval> | undefined let checkPaymentInterval: ReturnType<typeof setInterval> | undefined
let subCloser: SubCloser | undefined let subCloser: SubCloser | undefined
const { setPaid } = launchPaymentModal({ const { setPaid } = launchPaymentModal({
@ -155,6 +158,7 @@ class LightningService {
} }
) )
} }
}, 0)
}) })
} }
@ -228,6 +232,7 @@ class LightningService {
return new Promise((resolve) => { return new Promise((resolve) => {
closeOuterModel?.() closeOuterModel?.()
window.setTimeout(() => {
let checkPaymentInterval: ReturnType<typeof setInterval> | undefined let checkPaymentInterval: ReturnType<typeof setInterval> | undefined
let subCloser: SubCloser | undefined let subCloser: SubCloser | undefined
const { setPaid } = launchPaymentModal({ const { setPaid } = launchPaymentModal({
@ -277,6 +282,7 @@ class LightningService {
} }
) )
} }
}, 0)
}) })
} }
@ -292,6 +298,7 @@ class LightningService {
return new Promise((resolve) => { return new Promise((resolve) => {
closeOuterModel?.() closeOuterModel?.()
window.setTimeout(() => {
launchPaymentModal({ launchPaymentModal({
invoice: invoice, invoice: invoice,
onPaid: (response) => { onPaid: (response) => {
@ -301,6 +308,7 @@ class LightningService {
resolve(null) resolve(null)
} }
}) })
}, 0)
}) })
} }

5
src/services/relay-info.service.ts

@ -187,7 +187,12 @@ class RelayInfoService {
}) })
return data return data
} catch (err) { } catch (err) {
// Browser NIP-11 is often cross-origin without CORS → TypeError / "NetworkError". Expected; Firefox still logs CORS separately.
if (err instanceof TypeError) {
logger.debug('[RelayInfo] NIP-11 fetch failed (likely CORS or network)', { url })
} else {
logger.warn('[RelayInfo] NIP-11 fetch threw', { url, err }) logger.warn('[RelayInfo] NIP-11 fetch threw', { url, err })
}
return undefined return undefined
} }
} }

Loading…
Cancel
Save