Improve loading a bit

This commit is contained in:
Jon Staab
2025-04-11 08:41:50 -07:00
parent 489707b9b2
commit acddff79f0
3 changed files with 15 additions and 19 deletions
+3 -5
View File
@@ -61,7 +61,7 @@ import {
walkThunks,
signer,
Router,
loadWithAsapMetaRelayUrls,
makeOutboxLoader,
routerContext,
appContext,
} from "@welshman/app"
@@ -332,8 +332,7 @@ export const {
name: "settings",
store: settings,
getKey: settings => settings.event.pubkey,
load: (pubkey: string, relays: string[]) =>
loadWithAsapMetaRelayUrls(pubkey, relays, [{kinds: [SETTINGS], authors: [pubkey]}]),
load: makeOutboxLoader([SETTINGS]),
})
// Alerts
@@ -410,8 +409,7 @@ export const {
name: "memberships",
store: memberships,
getKey: list => list.event.pubkey,
load: (pubkey: string, relays: string[]) =>
loadWithAsapMetaRelayUrls(pubkey, relays, [{kinds: [GROUPS], authors: [pubkey]}]),
load: makeOutboxLoader([GROUPS]),
})
// Chats
+7 -5
View File
@@ -7,7 +7,7 @@
import {dev} from "$app/environment"
import {goto} from "$app/navigation"
import {bytesToHex, hexToBytes} from "@noble/hashes/utils"
import {identity, sleep, defer, ago, WEEK, TaskQueue} from "@welshman/lib"
import {identity, memoize, sleep, defer, ago, WEEK, TaskQueue} from "@welshman/lib"
import type {TrustedEvent, StampedEvent} from "@welshman/util"
import {WRAP} from "@welshman/util"
import {Nip46Broker, getPubkey, makeSecret} from "@welshman/signer"
@@ -152,10 +152,12 @@
// Listen for space data, populate space-based notifications
let unsubSpaces: any
userMembership.subscribe($membership => {
unsubSpaces?.()
unsubSpaces = listenForNotifications()
})
userMembership.subscribe(
memoize($membership => {
unsubSpaces?.()
unsubSpaces = listenForNotifications()
}),
)
// Listen for chats, populate chat-based notifications
let chatsReq: any
+5 -9
View File
@@ -2,8 +2,8 @@
import {onMount} from "svelte"
import {page} from "$app/stores"
import {ago, MONTH} from "@welshman/lib"
import {GROUPS, THREAD, COMMENT, MESSAGE, DELETE} from "@welshman/util"
import {request, load} from "@welshman/net"
import {GROUPS, THREAD, COMMENT, MESSAGE} from "@welshman/util"
import {request} from "@welshman/net"
import Page from "@lib/components/Page.svelte"
import SecondaryNav from "@lib/components/SecondaryNav.svelte"
import MenuSpace from "@app/components/MenuSpace.svelte"
@@ -54,11 +54,7 @@
const relays = [url]
const since = ago(MONTH)
// Load all groups for this space to populate navigation. It would be nice to sync, but relay29
// is too picky about how requests are built.
load({relays, filters: [{kinds: [GROUPS]}]})
// Load threads, comments, and recent messages for user rooms to help with a quick page transition
// Load groups, threads, comments, and recent messages for user rooms to help with a quick page transition
pullConservatively({
relays,
filters: [
@@ -68,8 +64,8 @@
],
})
// Listen for deletes that would apply to messages we already have, and new groups
const req = request({relays, filters: [{kinds: [DELETE, GROUPS], since}]})
// Completely refresh our groups list and listen for new ones
const req = request({relays, filters: [{kinds: [GROUPS]}]})
return () => {
req.close()