diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-04-27 05:25:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-27 05:25:28 +0100 |
commit | 1af59ca8a7db308325f8964a131d544882cff6e8 (patch) | |
tree | a779d4aee59db8f4ed9bed87759905d055a26640 /src/lib | |
parent | b10c96f28d35108313aa07b02eecb3c0b4b30770 (diff) | |
download | voidsky-1af59ca8a7db308325f8964a131d544882cff6e8.tar.zst |
Special-case bsky.app/download to open share sheet or copy to clipboard (#3710)
* special-case bsky.app/download to share * Address feedback * Improve detection --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/constants.ts | 1 | ||||
-rw-r--r-- | src/lib/strings/url-helpers.ts | 20 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/lib/constants.ts b/src/lib/constants.ts index 3f8cf9472..d7bec1e18 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -10,6 +10,7 @@ const HELP_DESK_LANG = 'en-us' export const HELP_DESK_URL = `https://blueskyweb.zendesk.com/hc/${HELP_DESK_LANG}` export const EMBED_SERVICE = 'https://embed.bsky.app' export const EMBED_SCRIPT = `${EMBED_SERVICE}/static/embed.js` +export const BSKY_DOWNLOAD_URL = 'https://bsky.app/download' const BASE_FEEDBACK_FORM_URL = `${HELP_DESK_URL}/requests/new` export function FEEDBACK_FORM_URL({ diff --git a/src/lib/strings/url-helpers.ts b/src/lib/strings/url-helpers.ts index 70a2b7069..2a20373a4 100644 --- a/src/lib/strings/url-helpers.ts +++ b/src/lib/strings/url-helpers.ts @@ -1,14 +1,15 @@ import {AtUri} from '@atproto/api' -import {BSKY_SERVICE} from 'lib/constants' -import TLDs from 'tlds' import psl from 'psl' +import TLDs from 'tlds' + +import {BSKY_SERVICE} from 'lib/constants' export const BSKY_APP_HOST = 'https://bsky.app' const BSKY_TRUSTED_HOSTS = [ - 'bsky.app', - 'bsky.social', - 'blueskyweb.xyz', - 'blueskyweb.zendesk.com', + 'bsky\\.app', + 'bsky\\.social', + 'blueskyweb\\.xyz', + 'blueskyweb\\.zendesk\\.com', ...(__DEV__ ? ['localhost:19006', 'localhost:8100'] : []), ] @@ -145,6 +146,13 @@ export function isBskyListUrl(url: string): boolean { return false } +export function isBskyDownloadUrl(url: string): boolean { + if (isExternalUrl(url)) { + return false + } + return url === '/download' || url.startsWith('/download?') +} + export function convertBskyAppUrlIfNeeded(url: string): string { if (isBskyAppUrl(url)) { try { |