chore(server): fix spotify link preview (#11638)

close AF-2499
This commit is contained in:
forehalo
2025-04-11 09:36:20 +00:00
parent 2f5647ac77
commit e73d68cac4

View File

@@ -4,6 +4,14 @@ import { imageProxyBuilder } from './proxy';
const localhost = new Set(['localhost', '127.0.0.1']);
const URL_FIXERS: Record<string, (url: URL) => URL> = {
'open.spotify.com': (url: URL) => {
// with si query, spotify will redirect to landing page which [Open Desktop] check
url.searchParams.delete('si');
return url;
},
};
export function fixUrl(url?: string): URL | null {
if (typeof url !== 'string') {
return null;
@@ -28,6 +36,12 @@ export function fixUrl(url?: string): URL | null {
// check hostname is a valid domain
(fullDomain === parsed.hostname || localhost.has(parsed.hostname))
) {
const fixer = URL_FIXERS[parsed.hostname];
if (fixer) {
return fixer(parsed);
}
return parsed;
}
} catch {}