From 3a638945622a159a1dfbc1b423819eac46912eca Mon Sep 17 00:00:00 2001
From: Jon Staab
Date: Thu, 20 Nov 2025 15:12:16 -0800
Subject: [PATCH] Switch wording to messaging from inbox
---
src/app/components/Alerts.svelte | 6 +-
src/app/components/Chat.svelte | 32 +++++-----
src/app/components/ChatItem.svelte | 4 +-
src/app/components/ChatMenu.svelte | 7 ++-
src/app/components/ProfileBadges.svelte | 14 ++---
src/app/components/ProfileDelete.svelte | 6 +-
src/app/components/ProfileEject.svelte | 2 +-
src/app/components/ProfileSpaces.svelte | 6 +-
src/app/components/SpaceEdit.svelte | 10 +++-
src/app/core/commands.ts | 30 +++++-----
src/app/core/state.ts | 59 +++++++------------
src/app/core/sync.ts | 50 ++++++++--------
src/app/util/notifications.ts | 22 +++----
src/app/util/storage.ts | 4 +-
src/routes/discover/+page.svelte | 14 ++---
src/routes/settings/content/+page.svelte | 10 ++--
src/routes/settings/relays/+page.svelte | 22 +++----
src/routes/spaces/+page.svelte | 4 +-
.../spaces/[relay]/calendar/[id]/+page.svelte | 4 +-
.../spaces/[relay]/goals/[id]/+page.svelte | 6 +-
.../spaces/[relay]/threads/[id]/+page.svelte | 6 +-
21 files changed, 149 insertions(+), 169 deletions(-)
diff --git a/src/app/components/Alerts.svelte b/src/app/components/Alerts.svelte
index a98b5c5b..5283b65b 100644
--- a/src/app/components/Alerts.svelte
+++ b/src/app/components/Alerts.svelte
@@ -1,7 +1,8 @@
diff --git a/src/app/components/ChatMenu.svelte b/src/app/components/ChatMenu.svelte
index 9f712766..ac18c246 100644
--- a/src/app/components/ChatMenu.svelte
+++ b/src/app/components/ChatMenu.svelte
@@ -1,5 +1,6 @@
diff --git a/src/app/components/SpaceEdit.svelte b/src/app/components/SpaceEdit.svelte
index 9677465b..b414f09e 100644
--- a/src/app/components/SpaceEdit.svelte
+++ b/src/app/components/SpaceEdit.svelte
@@ -2,7 +2,7 @@
import {uniqBy, prop, ifLet} from "@welshman/lib"
import type {RelayProfile} from "@welshman/util"
import {displayRelayUrl, ManagementMethod} from "@welshman/util"
- import {manageRelay, relays, fetchRelayProfileDirectly} from "@welshman/app"
+ import {manageRelay, relays, fetchRelayDirectly} from "@welshman/app"
import StickerSmileSquare from "@assets/icons/sticker-smile-square.svg?dataurl"
import SettingsMinimalistic from "@assets/icons/settings-minimalistic.svg?dataurl"
import AltArrowLeft from "@assets/icons/alt-arrow-left.svg?dataurl"
@@ -72,8 +72,12 @@
}
// Force-reload the relay
- ifLet(await fetchRelayProfileDirectly(url), profile => {
- relays.update($relays => uniqBy(prop("url"), [{...profile, url}, ...$relays]))
+ ifLet(await fetchRelayDirectly(url), relay => {
+ relaysByUrl.update($relaysByUrl => {
+ $relaysByUrl.set(url, relay)
+
+ return new Map($relaysByUrl)
+ })
})
pushToast({message: "Your changes have been saved!"})
diff --git a/src/app/core/commands.ts b/src/app/core/commands.ts
index 5067d44f..473fb5e3 100644
--- a/src/app/core/commands.ts
+++ b/src/app/core/commands.ts
@@ -31,7 +31,7 @@ import {
DELETE,
REPORT,
PROFILE,
- INBOX_RELAYS,
+ MESSAGING_RELAYS,
RELAYS,
FOLLOWS,
REACTION,
@@ -82,8 +82,8 @@ import {
profilesByPubkey,
tagEvent,
tagEventForReaction,
- userRelaySelections,
- userInboxRelaySelections,
+ userRelayList,
+ userMessagingRelayList,
nip44EncryptToSelf,
dropSession,
tagEventForComment,
@@ -106,8 +106,8 @@ import {
userSpaceUrls,
userSettingsValues,
getSetting,
- userInboxRelays,
- userGroupSelections,
+ userMessagingRelays,
+ userGroupList,
shouldIgnoreError,
} from "@app/core/state"
import {loadAlertStatuses} from "@app/core/requests"
@@ -164,7 +164,7 @@ export const logout = async () => {
export const broadcastUserData = async (relays: string[]) => {
const authors = [pubkey.get()!]
- const kinds = [RELAYS, INBOX_RELAYS, FOLLOWS, PROFILE]
+ const kinds = [RELAYS, MESSAGING_RELAYS, FOLLOWS, PROFILE]
const events = repository.query([{kinds, authors}])
for (const event of events) {
@@ -177,7 +177,7 @@ export const broadcastUserData = async (relays: string[]) => {
// List updates
export const addSpaceMembership = async (url: string) => {
- const list = get(userGroupSelections) || makeList({kind: ROOMS})
+ const list = get(userGroupList) || makeList({kind: ROOMS})
const event = await addToListPublicly(list, ["r", url]).reconcile(nip44EncryptToSelf)
const relays = uniq([...Router.get().FromUser().getUrls(), ...getRelayTagValues(event.tags)])
@@ -185,7 +185,7 @@ export const addSpaceMembership = async (url: string) => {
}
export const removeSpaceMembership = async (url: string) => {
- const list = get(userGroupSelections) || makeList({kind: ROOMS})
+ const list = get(userGroupList) || makeList({kind: ROOMS})
const pred = (t: string[]) => t[t[0] === "r" ? 1 : 2] === url
const event = await removeFromListByPredicate(list, pred).reconcile(nip44EncryptToSelf)
const relays = uniq([url, ...Router.get().FromUser().getUrls(), ...getRelayTagValues(event.tags)])
@@ -194,7 +194,7 @@ export const removeSpaceMembership = async (url: string) => {
}
export const addRoomMembership = async (url: string, h: string) => {
- const list = get(userGroupSelections) || makeList({kind: ROOMS})
+ const list = get(userGroupList) || makeList({kind: ROOMS})
const newTags = [
["r", url],
["group", h, url],
@@ -206,7 +206,7 @@ export const addRoomMembership = async (url: string, h: string) => {
}
export const removeRoomMembership = async (url: string, h: string) => {
- const list = get(userGroupSelections) || makeList({kind: ROOMS})
+ const list = get(userGroupList) || makeList({kind: ROOMS})
const pred = (t: string[]) => equals(["group", h, url], t.slice(0, 3))
const event = await removeFromListByPredicate(list, pred).reconcile(nip44EncryptToSelf)
const relays = uniq([url, ...Router.get().FromUser().getUrls(), ...getRelayTagValues(event.tags)])
@@ -215,7 +215,7 @@ export const removeRoomMembership = async (url: string, h: string) => {
}
export const setRelayPolicy = (url: string, read: boolean, write: boolean) => {
- const list = get(userRelaySelections) || makeList({kind: RELAYS})
+ const list = get(userRelayList) || makeList({kind: RELAYS})
const tags = getRelayTags(getListTags(list)).filter(t => normalizeRelayUrl(t[1]) !== url)
if (read && write) {
@@ -232,10 +232,10 @@ export const setRelayPolicy = (url: string, read: boolean, write: boolean) => {
})
}
-export const setInboxRelayPolicy = (url: string, enabled: boolean) => {
- const list = get(userInboxRelaySelections) || makeList({kind: INBOX_RELAYS})
+export const setMessagingRelayPolicy = (url: string, enabled: boolean) => {
+ const list = get(userMessagingRelayList) || makeList({kind: MESSAGING_RELAYS})
- // Only update inbox policies if they already exist or we're adding them
+ // Only update messaging policies if they already exist or we're adding them
if (enabled || getRelaysFromList(list).includes(url)) {
const tags = getRelayTags(getListTags(list)).filter(t => normalizeRelayUrl(t[1]) !== url)
@@ -542,7 +542,7 @@ export const createDmAlert = async () => {
description: `for direct messages.`,
feed: makeIntersectionFeed(
feedFromFilters([{kinds: [WRAP], "#p": [pubkey.get()!]}]),
- makeRelayFeed(...get(userInboxRelays)),
+ makeRelayFeed(...get(userMessagingRelays)),
),
})
}
diff --git a/src/app/core/state.ts b/src/app/core/state.ts
index da84cb4c..c0e28e86 100644
--- a/src/app/core/state.ts
+++ b/src/app/core/state.ts
@@ -122,8 +122,8 @@ import {
appContext,
getThunkError,
publishThunk,
- userRelaySelections,
- userInboxRelaySelections,
+ userRelayList,
+ userMessagingRelayList,
deriveRelay,
makeUserData,
makeUserLoader,
@@ -390,18 +390,6 @@ export const relaysPendingTrust = writable([])
export const relaysMostlyRestricted = writable>({})
-// Relay selections
-
-export const userReadRelays = derived(userRelaySelections, $l =>
- getRelaysFromList($l, RelayMode.Read),
-)
-
-export const userWriteRelays = derived(userRelaySelections, $l =>
- getRelaysFromList($l, RelayMode.Write),
-)
-
-export const userInboxRelays = derived(userInboxRelaySelections, $l => getRelaysFromList($l))
-
// Alerts
export type Alert = {
@@ -610,29 +598,29 @@ export const displayRoom = (url: string, h: string) =>
export const roomComparator = (url: string) => (h: string) => displayRoom(url, h).toLowerCase()
-// User space/room selections
+// User space/room lists
-export const groupSelections = deriveEventsMapped(repository, {
+export const groupLists = deriveEventsMapped(repository, {
filters: [{kinds: [ROOMS]}],
itemToEvent: item => item.event,
eventToItem: (event: TrustedEvent) => readList(asDecryptedEvent(event)),
})
export const {
- indexStore: groupSelectionsByPubkey,
- deriveItem: deriveGroupSelections,
- loadItem: loadGroupSelections,
+ indexStore: groupListsByPubkey,
+ deriveItem: deriveGroupList,
+ loadItem: loadGroupList,
} = collection({
- name: "groupSelections",
- store: groupSelections,
+ name: "groupLists",
+ store: groupLists,
getKey: list => list.event.pubkey,
load: makeOutboxLoader(ROOMS),
})
-export const groupSelectionsPubkeysByUrl = derived(groupSelections, $groupSelections => {
+export const groupListsPubkeysByUrl = derived(groupLists, $groupLists => {
const result = new Map>()
- for (const list of $groupSelections) {
+ for (const list of $groupLists) {
const tags = getListTags(list)
for (const url of getRelayTagValues(tags)) {
@@ -651,8 +639,8 @@ export const groupSelectionsPubkeysByUrl = derived(groupSelections, $groupSelect
return result
})
-export const getSpaceUrlsFromGroupSelections = ($groupSelections: List | undefined) => {
- const tags = getListTags($groupSelections)
+export const getSpaceUrlsFromGroupList = ($groupLists: List | undefined) => {
+ const tags = getListTags($groupLists)
const urls = getRelayTagValues(tags)
for (const tag of getGroupTags(tags)) {
@@ -666,13 +654,10 @@ export const getSpaceUrlsFromGroupSelections = ($groupSelections: List | undefin
return uniq(urls.map(normalizeRelayUrl))
}
-export const getSpaceRoomsFromGroupSelections = (
- url: string,
- $groupSelections: List | undefined,
-) => {
+export const getSpaceRoomsFromGroupList = (url: string, $groupList: List | undefined) => {
const rooms: string[] = []
- for (const [_, h, relay] of getGroupTags(getListTags($groupSelections))) {
+ for (const [_, h, relay] of getGroupTags(getListTags($groupList))) {
if (url === relay) {
rooms.push(h)
}
@@ -681,20 +666,20 @@ export const getSpaceRoomsFromGroupSelections = (
return sortBy(roomComparator(url), rooms)
}
-export const userGroupSelections = makeUserData({
- mapStore: groupSelectionsByPubkey,
- loadItem: loadGroupSelections,
+export const userGroupList = makeUserData({
+ mapStore: groupListsByPubkey,
+ loadItem: loadGroupList,
})
-export const loadUserGroupSelections = makeUserLoader(loadGroupSelections)
+export const loadUserGroupList = makeUserLoader(loadGroupList)
-export const userSpaceUrls = derived(userGroupSelections, getSpaceUrlsFromGroupSelections)
+export const userSpaceUrls = derived(userGroupList, getSpaceUrlsFromGroupLists)
export const deriveUserRooms = (url: string) =>
- derived([userGroupSelections, roomsById], ([$userGroupSelections, $roomsById]) => {
+ derived([userGroupList, roomsById], ([$userGroupList, $roomsById]) => {
const rooms: string[] = []
- for (const h of getSpaceRoomsFromGroupSelections(url, $userGroupSelections)) {
+ for (const h of getSpaceRoomsFromGroupList(url, $userGroupList)) {
if ($roomsById.has(makeRoomId(url, h))) {
rooms.push(h)
}
diff --git a/src/app/core/sync.ts b/src/app/core/sync.ts
index 4da1243a..4df67f69 100644
--- a/src/app/core/sync.ts
+++ b/src/app/core/sync.ts
@@ -25,10 +25,10 @@ import {
pubkey,
loadRelay,
userFollows,
- userRelaySelections,
- userInboxRelaySelections,
- loadRelaySelections,
- loadInboxRelaySelections,
+ userRelayList,
+ userMessagingRelayList,
+ loadRelayList,
+ loadMessagingRelayList,
loadBlossomServers,
loadFollows,
loadMutes,
@@ -43,14 +43,14 @@ import {
CONTENT_KINDS,
INDEXER_RELAYS,
loadSettings,
- loadGroupSelections,
+ loadGroupList,
userSpaceUrls,
- userGroupSelections,
+ userGroupList,
bootstrapPubkeys,
decodeRelay,
getUrlsForEvent,
- getSpaceUrlsFromGroupSelections,
- getSpaceRoomsFromGroupSelections,
+ getSpaceUrlsFromGroupList,
+ getSpaceRoomsFromGroupList,
makeCommentFilter,
} from "@app/core/state"
import {loadAlerts, loadAlertStatuses} from "@app/core/requests"
@@ -173,20 +173,20 @@ const syncUserRoomMembership = (url: string, h: string) => {
const syncUserData = () => {
const unsubscribersByKey = new Map()
- const unsubscribeGroupSelections = userGroupSelections.subscribe($l => {
+ const unsubscribeGroupList = userGroupList.subscribe($l => {
const $pubkey = pubkey.get()
if ($pubkey) {
const keys = new Set()
- for (const url of getSpaceUrlsFromGroupSelections($l)) {
+ for (const url of getSpaceUrlsFromGroupList($l)) {
if (!unsubscribersByKey.has(url)) {
unsubscribersByKey.set(url, syncUserSpaceMembership(url))
}
keys.add(url)
- for (const h of getSpaceRoomsFromGroupSelections(url, $l)) {
+ for (const h of getSpaceRoomsFromGroupList(url, $l)) {
const key = `${url}'${h}`
if (!unsubscribersByKey.has(key)) {
@@ -206,7 +206,7 @@ const syncUserData = () => {
}
})
- const unsubscribeSelections = userRelaySelections.subscribe($l => {
+ const unsubscribeList = userRelayList.subscribe($l => {
const $pubkey = pubkey.get()
if ($pubkey) {
@@ -214,7 +214,7 @@ const syncUserData = () => {
loadAlertStatuses($pubkey)
loadBlossomServers($pubkey)
loadFollows($pubkey)
- loadGroupSelections($pubkey)
+ loadGroupList($pubkey)
loadMutes($pubkey)
loadProfile($pubkey)
loadSettings($pubkey)
@@ -228,8 +228,8 @@ const syncUserData = () => {
await Promise.all(
pubkeys.map(async pk => {
- await loadRelaySelections(pk)
- await loadGroupSelections(pk)
+ await loadRelayList(pk)
+ await loadGroupList(pk)
await loadProfile(pk)
await loadFollows(pk)
await loadMutes(pk)
@@ -240,14 +240,14 @@ const syncUserData = () => {
const unsubscribePubkey = pubkey.subscribe($pubkey => {
if ($pubkey) {
- loadRelaySelections($pubkey)
+ loadRelayList($pubkey)
}
})
return () => {
unsubscribersByKey.forEach(call)
- unsubscribeGroupSelections()
- unsubscribeSelections()
+ unsubscribeGroupList()
+ unsubscribeList()
unsubscribeFollows()
unsubscribePubkey()
}
@@ -386,10 +386,10 @@ const syncDMs = () => {
unsubscribeAll()
}
- // If we have a pubkey, refresh our user's relay selections then sync our subscriptions
+ // If we have a pubkey, refresh our user's relay list then sync our subscriptions
if ($pubkey && $shouldUnwrap) {
- loadRelaySelections($pubkey)
- .then(() => loadInboxRelaySelections($pubkey))
+ loadRelayList($pubkey)
+ .then(() => loadMessagingRelayList($pubkey))
.then($l => subscribeAll($pubkey, getRelayTagValues(getListTags($l))))
}
@@ -397,20 +397,20 @@ const syncDMs = () => {
},
)
- // When user inbox relays change, update synchronization
- const unsubscribeSelections = userInboxRelaySelections.subscribe($userInboxRelaySelections => {
+ // When user messaging relays change, update synchronization
+ const unsubscribeList = userMessagingRelayList.subscribe($userMessagingRelayList => {
const $pubkey = pubkey.get()
const $shouldUnwrap = shouldUnwrap.get()
if ($pubkey && $shouldUnwrap) {
- subscribeAll($pubkey, getRelayTagValues(getListTags($userInboxRelaySelections)))
+ subscribeAll($pubkey, getRelayTagValues(getListTags($userMessagingRelayList)))
}
})
return () => {
unsubscribeAll()
unsubscribePubkey()
- unsubscribeSelections()
+ unsubscribeList()
}
}
diff --git a/src/app/util/notifications.ts b/src/app/util/notifications.ts
index acd2c96a..bd39a854 100644
--- a/src/app/util/notifications.ts
+++ b/src/app/util/notifications.ts
@@ -20,9 +20,9 @@ import {
getUrlsForEvent,
repositoryStore,
userSettingsValues,
- userGroupSelections,
- getSpaceUrlsFromGroupSelections,
- getSpaceRoomsFromGroupSelections,
+ userGroupList,
+ getSpaceUrlsFromGroupList,
+ getSpaceRoomsFromGroupList,
} from "@app/core/state"
import {kv} from "@app/core/storage"
@@ -44,19 +44,11 @@ export const notifications = derived(
throttled(
1000,
derived(
- [pubkey, checked, chats, userGroupSelections, repositoryStore, getUrlsForEvent, relaysByUrl],
+ [pubkey, checked, chats, userGroupList, repositoryStore, getUrlsForEvent, relaysByUrl],
identity,
),
),
- ([
- $pubkey,
- $checked,
- $chats,
- $userGroupSelections,
- $repository,
- $getUrlsForEvent,
- $relaysByUrl,
- ]) => {
+ ([$pubkey, $checked, $chats, $userGroupList, $repository, $getUrlsForEvent, $relaysByUrl]) => {
const hasNotification = (path: string, latestEvent: TrustedEvent | undefined) => {
if (!latestEvent || latestEvent.pubkey === $pubkey) {
return false
@@ -95,7 +87,7 @@ export const notifications = derived(
const allMessages = $repository.query([{kinds: [MESSAGE, THREAD, ZAP_GOAL, EVENT_TIME]}])
- for (const url of getSpaceUrlsFromGroupSelections($userGroupSelections)) {
+ for (const url of getSpaceUrlsFromGroupList($userGroupList)) {
const spacePath = makeSpacePath(url)
const spacePathMobile = spacePath + ":mobile"
const goalPath = makeGoalPath(url)
@@ -171,7 +163,7 @@ export const notifications = derived(
}
if (hasNip29($relaysByUrl.get(url))) {
- for (const h of getSpaceRoomsFromGroupSelections(url, $userGroupSelections)) {
+ for (const h of getSpaceRoomsFromGroupList(url, $userGroupList)) {
const roomPath = makeRoomPath(url, h)
const latestEvent = messages.find(e => e.tags.some(spec(["h", h])))
diff --git a/src/app/util/storage.ts b/src/app/util/storage.ts
index beecf20f..59d1690d 100644
--- a/src/app/util/storage.ts
+++ b/src/app/util/storage.ts
@@ -12,7 +12,7 @@ import {
DIRECT_MESSAGE,
EVENT_TIME,
FOLLOWS,
- INBOX_RELAYS,
+ MESSAGING_RELAYS,
MESSAGE,
MUTES,
PROFILE,
@@ -54,7 +54,7 @@ import {isMobile} from "@lib/html"
import type {IDBTable} from "@lib/indexeddb"
const kinds = {
- meta: [PROFILE, FOLLOWS, MUTES, RELAYS, BLOSSOM_SERVERS, INBOX_RELAYS, APP_DATA, ROOMS],
+ meta: [PROFILE, FOLLOWS, MUTES, RELAYS, BLOSSOM_SERVERS, MESSAGING_RELAYS, APP_DATA, ROOMS],
alert: [ALERT_STATUS, ALERT_EMAIL, ALERT_WEB, ALERT_IOS, ALERT_ANDROID],
space: [RELAY_ADD_MEMBER, RELAY_REMOVE_MEMBER, RELAY_MEMBERS, RELAY_JOIN, RELAY_LEAVE],
room: [
diff --git a/src/routes/discover/+page.svelte b/src/routes/discover/+page.svelte
index 86b16697..beb346ca 100644
--- a/src/routes/discover/+page.svelte
+++ b/src/routes/discover/+page.svelte
@@ -25,9 +25,9 @@
import SpaceCheck from "@app/components/SpaceCheck.svelte"
import {
bootstrapPubkeys,
- loadGroupSelections,
- getSpaceUrlsFromGroupSelections,
- groupSelectionsPubkeysByUrl,
+ loadGroupList,
+ getSpaceUrlsFromGroupList,
+ groupListsPubkeysByUrl,
parseInviteLink,
} from "@app/core/state"
import {pushModal} from "@app/util/modal"
@@ -50,8 +50,8 @@
relays: Router.get().Index().getUrls(),
}),
...$bootstrapPubkeys.map(async pubkey => {
- const list = await loadGroupSelections(pubkey)
- const urls = getSpaceUrlsFromGroupSelections(list)
+ const list = await loadGroupList(pubkey)
+ const urls = getSpaceUrlsFromGroupList(list)
await Promise.all(urls.map(url => loadRelay(url)))
}),
@@ -59,13 +59,13 @@
const relaySearch = $derived(
createSearch(
- $relays.filter(r => $groupSelectionsPubkeysByUrl.has(r.url) && r.url !== inviteData?.url),
+ $relays.filter(r => $groupListsPubkeysByUrl.has(r.url) && r.url !== inviteData?.url),
{
getValue: (relay: RelayProfile) => relay.url,
sortFn: ({score, item}) => {
if (score && score > 0.1) return -score!
- const wotScore = $groupSelectionsPubkeysByUrl.get(item.url)!.size
+ const wotScore = $groupListsPubkeysByUrl.get(item.url)!.size
return score ? dec(score) * wotScore : -wotScore
},
diff --git a/src/routes/settings/content/+page.svelte b/src/routes/settings/content/+page.svelte
index 3f400de4..f303d6c9 100644
--- a/src/routes/settings/content/+page.svelte
+++ b/src/routes/settings/content/+page.svelte
@@ -9,7 +9,7 @@
BLOSSOM_SERVERS,
} from "@welshman/util"
import {Router} from "@welshman/router"
- import {userMutes, tagPubkey, publishThunk, userBlossomServers} from "@welshman/app"
+ import {userMuteList, tagPubkey, publishThunk, userBlossomServerList} from "@welshman/app"
import {preventDefault} from "@lib/html"
import Field from "@lib/components/Field.svelte"
import FieldInline from "@lib/components/FieldInline.svelte"
@@ -22,8 +22,8 @@
const reset = () => {
settings = {...$userSettingsValues}
- mutedPubkeys = getPubkeyTagValues(getListTags($userMutes))
- blossomServers = getTagValues("server", getListTags($userBlossomServers))
+ mutedPubkeys = getPubkeyTagValues(getListTags($userMuteList))
+ blossomServers = getTagValues("server", getListTags($userBlossomServerList))
}
const onsubmit = preventDefault(async () => {
@@ -43,8 +43,8 @@
})
let settings = $state({...$userSettingsValues})
- let mutedPubkeys = $state(getPubkeyTagValues(getListTags($userMutes)))
- let blossomServers = $state(getTagValues("server", getListTags($userBlossomServers)))
+ let mutedPubkeys = $state(getPubkeyTagValues(getListTags($userMuteList)))
+ let blossomServers = $state(getTagValues("server", getListTags($userBlossomServerList)))
{/snippet}
- {#each $inboxRelayUrls.sort() as url (url)}
+ {#each $messagingRelayUrls.sort() as url (url)}
{:else}
No relays found
{/each}
-