diff --git a/.env b/.env index f49ce47..f94dcdb 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -VITE_DEFAULT_PUBKEYS=fe7f6bc6f7338b76bbf80db402ade65953e20b2f23e66e898204b63cc42539a3,391819e2f2f13b90cac7209419eb574ef7c0d1f4e81867fc24c47a3ce5e8a248,84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240,dace63b00c42e6e017d00dd190a9328386002ff597b841eb5ef91de4f1ce8491,82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2,58c741aa630c2da35a56a77c1d05381908bd10504fdd2d8b43f725efa6d23196,eeb11961b25442b16389fe6c7ebea9adf0ac36dd596816ea7119e521b8821b9e,b676ded7c768d66a757aa3967b1243d90bf57afb09d1044d3219d8d424e4aea0,61066504617ee79387021e18c89fb79d1ddbc3e7bff19cf2298f40466f8715e9,3f770d65d3a764a9c5cb503ae123e62ec7598ad035d836e2a810f3877a745b24,6389be6491e7b693e9f368ece88fcd145f07c068d2c1bbae4247b9b5ef439d32,97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322 +VITE_DEFAULT_PUBKEYS=06639a386c9c1014217622ccbcf40908c4f1a0c33e23f8d6d68f4abf655f8f71,266815e0c9210dfa324c6cba3573b14bee49da4209a9456f9484e5106cd408a5,391819e2f2f13b90cac7209419eb574ef7c0d1f4e81867fc24c47a3ce5e8a248,3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d,3f770d65d3a764a9c5cb503ae123e62ec7598ad035d836e2a810f3877a745b24,55f04590674f3648f4cdc9dc8ce32da2a282074cd0b020596ee033d12d385185,58c741aa630c2da35a56a77c1d05381908bd10504fdd2d8b43f725efa6d23196,61066504617ee79387021e18c89fb79d1ddbc3e7bff19cf2298f40466f8715e9,6389be6491e7b693e9f368ece88fcd145f07c068d2c1bbae4247b9b5ef439d32,63fe6318dc58583cfe16810f86dd09e18bfd76aabc24a0081ce2856f330504ed,6e75f7972397ca3295e0f4ca0fbc6eb9cc79be85bafdd56bd378220ca8eee74e,76c71aae3a491f1d9eec47cba17e229cda4113a0bbb6e6ae1776d7643e29cafa,7fa56f5d6962ab1e3cd424e758c3002b8665f7b0d8dcee9fe9e288d7751ac194,82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2,84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240,97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322,b676ded7c768d66a757aa3967b1243d90bf57afb09d1044d3219d8d424e4aea0,dace63b00c42e6e017d00dd190a9328386002ff597b841eb5ef91de4f1ce8491,eeb11961b25442b16389fe6c7ebea9adf0ac36dd596816ea7119e521b8821b9e,fe7f6bc6f7338b76bbf80db402ade65953e20b2f23e66e898204b63cc42539a3 VITE_BURROW_URL= VITE_PLATFORM_URL=https://flotilla.social VITE_PLATFORM_TERMS=https://flotilla.social/terms diff --git a/CHANGELOG.md b/CHANGELOG.md index d8a374b..eade69e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +# 0.2.10 + +* Improve space discovery + # 0.2.9 * Add NIP 01 signup flow on mobile diff --git a/src/app/state.ts b/src/app/state.ts index 5cc56af..a775841 100644 --- a/src/app/state.ts +++ b/src/app/state.ts @@ -345,7 +345,11 @@ export const hasMembershipUrl = (list: List | undefined, url: string) => export const getMembershipUrls = (list?: List) => { const tags = getListTags(list) - return sort(uniq([...getRelayTagValues(tags), ...getGroupTags(tags).map(nth(2))])) + return sort( + uniq([...getRelayTagValues(tags), ...getGroupTags(tags).map(nth(2))]).map(url => + normalizeRelayUrl(url), + ), + ) } export const getMembershipRooms = (list?: List) => diff --git a/src/routes/discover/+page.svelte b/src/routes/discover/+page.svelte index d2e3f8b..3ab350d 100644 --- a/src/routes/discover/+page.svelte +++ b/src/routes/discover/+page.svelte @@ -2,8 +2,9 @@ import {onMount} from "svelte" import {addToMapKey, dec, gt} from "@welshman/lib" import type {Relay} from "@welshman/app" - import {relays, createSearch} from "@welshman/app" + import {relays, createSearch, loadRelay, loadRelaySelections} from "@welshman/app" import {createScroller} from "@lib/html" + import {fly} from "@lib/transition" import Icon from "@lib/components/Icon.svelte" import Page from "@lib/components/Page.svelte" import Spinner from "@lib/components/Spinner.svelte" @@ -14,15 +15,26 @@ import SpaceCheck from "@app/components/SpaceCheck.svelte" import ProfileCircles from "@app/components/ProfileCircles.svelte" import { - memberships, membershipByPubkey, getMembershipUrls, + loadMembership, userRoomsByUrl, getDefaultPubkeys, } from "@app/state" - import {discoverRelays} from "@app/requests" import {pushModal} from "@app/modal" + const discoverRelays = () => + Promise.all( + getDefaultPubkeys().map(async pubkey => { + await loadRelaySelections(pubkey) + + const membership = await loadMembership(pubkey) + const urls = getMembershipUrls(membership) + + await Promise.all(urls.map(url => loadRelay(url))) + }), + ) + const wotGraph = $derived.by(() => { const scores = new Map>() @@ -131,9 +143,9 @@ {/if} {/each} - {#await discoverRelays($memberships)} -
- Loading spaces... + {#await discoverRelays()} +
+ Looking for spaces...
{/await}