From 4e6020b88cdba8334ee97ea14f8fc7d782f1998a Mon Sep 17 00:00:00 2001 From: Hailey Date: Wed, 6 Mar 2024 11:34:48 -0800 Subject: fix internal links showing up as external (#3128) * fix internal links showing up as external * fix internal links showing up as external --- src/lib/strings/url-helpers.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/lib/strings/url-helpers.ts') diff --git a/src/lib/strings/url-helpers.ts b/src/lib/strings/url-helpers.ts index ba2cdb39b..ee88225ee 100644 --- a/src/lib/strings/url-helpers.ts +++ b/src/lib/strings/url-helpers.ts @@ -158,7 +158,12 @@ export function linkRequiresWarning(uri: string, label: string) { const host = urip.hostname.toLowerCase() // Hosts that end with bsky.app or bsky.social should be trusted by default. - if (host.endsWith('bsky.app') || host.endsWith('bsky.social')) { + if ( + uri.startsWith('/') || + host.endsWith('bsky.app') || + host.endsWith('bsky.social') || + host.endsWith('blueskyweb.xyz') + ) { // if this is a link to internal content, // warn if it represents itself as a URL to another app return !!labelDomain && labelDomain !== host && isPossiblyAUrl(labelDomain) -- cgit 1.4.1 From 800eecbfe4746c887933ecd34c20c862220d07ee Mon Sep 17 00:00:00 2001 From: Hailey Date: Wed, 6 Mar 2024 11:40:10 -0800 Subject: fix internal links showing up as external pt2 (#3129) * fix internal links showing up as external pt2 * fix internal links showing up as external pt2 --- src/lib/strings/url-helpers.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/lib/strings/url-helpers.ts') diff --git a/src/lib/strings/url-helpers.ts b/src/lib/strings/url-helpers.ts index ee88225ee..7729e4a38 100644 --- a/src/lib/strings/url-helpers.ts +++ b/src/lib/strings/url-helpers.ts @@ -148,6 +148,11 @@ export function feedUriToHref(url: string): string { export function linkRequiresWarning(uri: string, label: string) { const labelDomain = labelToDomain(label) + // If the uri started with a / we know it is internal. + if (uri.startsWith('/')) { + return false + } + let urip try { urip = new URL(uri) @@ -156,10 +161,8 @@ export function linkRequiresWarning(uri: string, label: string) { } const host = urip.hostname.toLowerCase() - // Hosts that end with bsky.app or bsky.social should be trusted by default. if ( - uri.startsWith('/') || host.endsWith('bsky.app') || host.endsWith('bsky.social') || host.endsWith('blueskyweb.xyz') -- cgit 1.4.1