fix: 🐛

This commit is contained in:
codytseng
2025-01-11 13:20:20 +08:00
parent 92e338ea1e
commit 0522e3937f

View File

@@ -43,16 +43,15 @@ export function FeedProvider({ children }: { children: React.ReactNode }) {
const init = async () => { const init = async () => {
// temporary relay urls from query params // temporary relay urls from query params
const searchParams = new URLSearchParams(window.location.search) const searchParams = new URLSearchParams(window.location.search)
const tempRelays = searchParams const temporaryRelayUrls = searchParams
.getAll('r') .getAll('r')
.map((url) => .map((url) =>
!url.startsWith('ws://') && !url.startsWith('wss://') ? `wss://${url}` : url !url.startsWith('ws://') && !url.startsWith('wss://') ? `wss://${url}` : url
) )
.filter((url) => isWebsocketUrl(url)) .filter((url) => isWebsocketUrl(url))
.map((url) => normalizeUrl(url)) .map((url) => normalizeUrl(url))
if (tempRelays.length) { if (temporaryRelayUrls.length) {
setTemporaryRelayUrls(tempRelays) return await switchFeed('temporary', { temporaryRelayUrls })
return await switchFeed('temporary')
} }
if (feedType === 'following') { if (feedType === 'following') {
@@ -81,7 +80,7 @@ export function FeedProvider({ children }: { children: React.ReactNode }) {
const switchFeed = async ( const switchFeed = async (
feedType: TFeedType, feedType: TFeedType,
options: { activeRelaySetId?: string | null } = {} options: { activeRelaySetId?: string | null; temporaryRelayUrls?: string[] | null } = {}
) => { ) => {
setIsReady(false) setIsReady(false)
if (feedType === 'relays') { if (feedType === 'relays') {
@@ -117,8 +116,10 @@ export function FeedProvider({ children }: { children: React.ReactNode }) {
return return
} }
if (feedType === 'temporary') { if (feedType === 'temporary') {
if (!options.temporaryRelayUrls?.length) return
setFeedType(feedType) setFeedType(feedType)
setRelayUrls(temporaryRelayUrls) setTemporaryRelayUrls(options.temporaryRelayUrls)
setRelayUrls(options.temporaryRelayUrls)
setActiveRelaySetId(null) setActiveRelaySetId(null)
setFilter({}) setFilter({})
setIsReady(true) setIsReady(true)