From eaa373ddda819afec7de6ad6d05520e1f52047cb Mon Sep 17 00:00:00 2001 From: "xan.lol" Date: Sat, 11 Apr 2026 12:45:03 -0700 Subject: [PATCH] fix: image cdn in LiveStatusDialog, website in profiles, & agent session? also work towards URI support in profile website field (and masked links?) --- package.json | 1 + .../liveNow/components/LiveStatusDialog.tsx | 5 ++- src/lib/strings/website.ts | 36 ++++--------------- .../Profile/Header/EditProfileDialog.tsx | 4 +-- src/state/session/agent.ts | 10 +++--- yarn.lock | 2 +- 6 files changed, 20 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index 1436360a2..15dc1ba26 100644 --- a/package.json +++ b/package.json @@ -238,6 +238,7 @@ "tlds": "^1.234.0", "tldts": "^6.1.46", "unicode-segmenter": "^0.14.5", + "uri-js": "^4.4.1", "zod": "^3.20.2" }, "devDependencies": { diff --git a/src/features/liveNow/components/LiveStatusDialog.tsx b/src/features/liveNow/components/LiveStatusDialog.tsx index 2c70aa7a0..de2b23956 100644 --- a/src/features/liveNow/components/LiveStatusDialog.tsx +++ b/src/features/liveNow/components/LiveStatusDialog.tsx @@ -12,6 +12,8 @@ import {useOpenLink} from '#/lib/hooks/useOpenLink' import {type NavigationProp} from '#/lib/routes/types' import {sanitizeHandle} from '#/lib/strings/handles' import {toNiceDomain} from '#/lib/strings/url-helpers' +import {useImageCdnHost} from '#/state/preferences' +import {maybeModifyImageCdnHost} from '#/state/preferences/image-cdn-host' import {useModerationOpts} from '#/state/preferences/moderation-opts' import {unstableCacheProfileView} from '#/state/queries/profile' import {android, atoms as a, platform, tokens, useTheme, web} from '#/alf' @@ -123,6 +125,7 @@ export function LiveStatus({ const t = useTheme() const queryClient = useQueryClient() const openLink = useOpenLink() + const imageCdnHost = useImageCdnHost() const moderationOpts = useModerationOpts() const reportDialogControl = useGlobalReportDialogControl() const dialogContext = Dialog.useDialogContext() @@ -144,7 +147,7 @@ export function LiveStatus({ ]), ]}> - Website must be a valid URL (e.g., https://bsky.app) + Website must be a valid URI (e.g., https://bsky.app) )} diff --git a/src/state/session/agent.ts b/src/state/session/agent.ts index 982ecf0a8..3247cec2c 100644 --- a/src/state/session/agent.ts +++ b/src/state/session/agent.ts @@ -51,7 +51,7 @@ export function createPublicAgent() { const agent = new BskyAppAgent({service: PUBLIC_BSKY_SERVICE}) const proxyDid = readCustomAppViewDidUri() || BLUESKY_PROXY_HEADER.get() || APPVIEW_DID_PROXY - agent.configureProxy(proxyDid) + agent.configureProxy(proxyDid as ProxyHeaderValue) return agent } @@ -83,7 +83,7 @@ export async function createAgentAndResume( const proxyDid = readCustomAppViewDidUri() || BLUESKY_PROXY_HEADER.get() || APPVIEW_DID_PROXY - agent.configureProxy(proxyDid) + agent.configureProxy(proxyDid as ProxyHeaderValue) return agent.prepare({ resolvers: [gates, moderation, aa], @@ -124,7 +124,7 @@ export async function createAgentAndLogin( const proxyDid = readCustomAppViewDidUri() || BLUESKY_PROXY_HEADER.get() || APPVIEW_DID_PROXY - agent.configureProxy(proxyDid) + agent.configureProxy(proxyDid as ProxyHeaderValue) return agent.prepare({ resolvers: [gates, moderation, aa], @@ -295,7 +295,7 @@ export async function createAgentAndCreateAccount( const proxyDid = readCustomAppViewDidUri() || BLUESKY_PROXY_HEADER.get() || APPVIEW_DID_PROXY - agent.configureProxy(proxyDid) + agent.configureProxy(proxyDid as ProxyHeaderValue) return agent.prepare({ resolvers: [gates, moderation, aa], @@ -409,7 +409,7 @@ class BskyAppAgent extends BskyAgent { }) const proxyDid = readCustomAppViewDidUri() || APPVIEW_DID_PROXY if (proxyDid) { - this.configureProxy(proxyDid) + this.configureProxy(proxyDid as ProxyHeaderValue) } } diff --git a/yarn.lock b/yarn.lock index 12e6df60d..07ccffa5d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16106,7 +16106,7 @@ update-check@1.5.3: registry-auth-token "3.3.2" registry-url "3.1.0" -uri-js@^4.2.2: +uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== -- 2.51.2