/** Public page URL: never includes playback credentials or stream URLs. */ export function trackShareUrl(server: string, trackId: string): string { return new URL(`/track/${encodeURIComponent(trackId)}`, server).href; } /** Revocable read-only playlist page; requires a listener account on this server. */ export function playlistShareUrl(server: string, shareId: string): string { return new URL(`/shared/playlist/${encodeURIComponent(shareId)}`, server).href; }