mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-19 18:45:15 +02:00
Fixes #1368 Previously, was duplicated in 4 places with 3 subtly different fallback behaviors: 1. inline-citation.tsx: returned on error 2. markdown-text.tsx: returned on error 3. assistant-message.tsx: returned on error 4. citation.tsx: returned on error Created canonical in that: - Returns - Strips prefix from hostname - Returns on invalid URL (safest contract) Updated all 4 call sites: - inline-citation.tsx: (preserves original fallback) - markdown-text.tsx: (preserves original fallback) - assistant-message.tsx: (drop-in, both return ) - citation.tsx: (drop-in, both return ) Co-authored-by: guangyang1206 <guangyang1206@users.noreply.github.com>
14 lines
467 B
TypeScript
14 lines
467 B
TypeScript
/**
|
|
* Extract a normalized hostname from a URL. Strips a leading `www.`.
|
|
* Returns `undefined` if the input is not a parseable URL.
|
|
*
|
|
* This is the canonical replacement for the four previously-duplicated
|
|
* `extractDomain` helpers that had subtly different error fallbacks.
|
|
*/
|
|
export function tryGetHostname(url: string): string | undefined {
|
|
try {
|
|
return new URL(url).hostname.replace(/^www\./, "");
|
|
} catch {
|
|
return undefined;
|
|
}
|
|
}
|