Update welshman stuff again

This commit is contained in:
Jon Staab
2025-04-11 09:27:19 -07:00
parent acddff79f0
commit 84af4d2d8e
9 changed files with 82 additions and 75 deletions
+5 -3
View File
@@ -160,14 +160,16 @@
)
// Listen for chats, populate chat-based notifications
let chatsReq: any
let controller: AbortController
derived([pubkey, canDecrypt, userInboxRelaySelections], identity).subscribe(
([$pubkey, $canDecrypt, $userInboxRelaySelections]) => {
chatsReq?.close()
controller?.abort()
controller = new AbortController()
if ($pubkey && $canDecrypt) {
chatsReq = request({
request({
signal: controller.signal,
filters: [
{kinds: [WRAP], "#p": [$pubkey], since: ago(WEEK, 2)},
{kinds: [WRAP], "#p": [$pubkey], limit: 100},
+18 -20
View File
@@ -3,7 +3,7 @@
import * as nip19 from "nostr-tools/nip19"
import type {TrustedEvent} from "@welshman/util"
import {Address, getIdFilters, getTagValue} from "@welshman/util"
import {request, RequestEvent} from "@welshman/net"
import {request} from "@welshman/net"
import {page} from "$app/stores"
import {goto} from "$app/navigation"
import {scrollToEvent} from "@lib/html"
@@ -21,29 +21,27 @@
let found = false
const req = request({
request({
autoClose: true,
filters: getIdFilters([type === "nevent" ? data.id : Address.fromNaddr(bech32).toString()]),
relays: data.relays,
})
onEvent: (event: TrustedEvent) => {
found = true
req.on(RequestEvent.Event, (event: TrustedEvent) => {
found = true
if (event.kind === 9) {
goto(makeRoomPath(data.relays[0], getTagValue("h", event.tags)!), {replaceState: true})
scrollToEvent(event.id)
} else if (event.kind === 11) {
goto(makeThreadPath(data.relays[0], event.id), {replaceState: true})
} else {
goto("/", {replaceState: true})
}
})
req.on(RequestEvent.Close, () => {
if (!found) {
goto("/", {replaceState: true})
}
if (event.kind === 9) {
goto(makeRoomPath(data.relays[0], getTagValue("h", event.tags)!), {replaceState: true})
scrollToEvent(event.id)
} else if (event.kind === 11) {
goto(makeThreadPath(data.relays[0], event.id), {replaceState: true})
} else {
goto("/", {replaceState: true})
}
},
onClose: () => {
if (!found) {
goto("/", {replaceState: true})
}
},
})
}
+4 -2
View File
@@ -65,10 +65,12 @@
})
// Completely refresh our groups list and listen for new ones
const req = request({relays, filters: [{kinds: [GROUPS]}]})
const controller = new AbortController()
request({relays, filters: [{kinds: [GROUPS]}], signal: controller.signal})
return () => {
req.close()
controller.abort()
}
})
</script>
@@ -46,10 +46,12 @@
let showReply = $state(false)
onMount(() => {
const req = request({relays: [url], filters})
const controller = new AbortController()
request({relays: [url], filters, signal: controller.signal})
return () => {
req.close()
controller.abort()
setChecked($page.url.pathname)
}
})
@@ -43,10 +43,12 @@
let showReply = $state(false)
onMount(() => {
const req = request({relays: [url], filters})
const controller = new AbortController()
request({relays: [url], filters, signal: controller.signal})
return () => {
req.close()
controller.abort()
setChecked($page.url.pathname)
}
})