fix: 🐛

This commit is contained in:
codytseng 2025-03-27 23:21:25 +08:00
parent 7826364003
commit b576afb971
6 changed files with 23 additions and 11 deletions

View file

@ -142,6 +142,7 @@ export function getRelayListFromRelayListEvent(event?: Event) {
if (!url || !isWebsocketUrl(url)) return
const normalizedUrl = normalizeUrl(url)
if (!normalizedUrl) return
switch (type) {
case 'write':
relayList.write.push(normalizedUrl)

View file

@ -4,15 +4,20 @@ export function isWebsocketUrl(url: string): boolean {
// copy from nostr-tools/utils
export function normalizeUrl(url: string): string {
if (url.indexOf('://') === -1) url = 'wss://' + url
const p = new URL(url)
p.pathname = p.pathname.replace(/\/+/g, '/')
if (p.pathname.endsWith('/')) p.pathname = p.pathname.slice(0, -1)
if ((p.port === '80' && p.protocol === 'ws:') || (p.port === '443' && p.protocol === 'wss:'))
p.port = ''
p.searchParams.sort()
p.hash = ''
return p.toString()
try {
if (url.indexOf('://') === -1) url = 'wss://' + url
const p = new URL(url)
p.pathname = p.pathname.replace(/\/+/g, '/')
if (p.pathname.endsWith('/')) p.pathname = p.pathname.slice(0, -1)
if ((p.port === '80' && p.protocol === 'ws:') || (p.port === '443' && p.protocol === 'wss:'))
p.port = ''
p.searchParams.sort()
p.hash = ''
return p.toString()
} catch {
console.error('Invalid URL:', url)
return ''
}
}
export function normalizeHttpUrl(url: string): string {