ai/at
1
0

test social-app ios bsky proxy

This commit is contained in:
2026-03-02 17:29:54 +09:00
parent 7518cd7d06
commit d785bfbb5f
2 changed files with 63 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
--- a/src/state/session/agent.ts
+++ b/src/state/session/agent.ts
@@ -43,12 +43,18 @@
export type ProxyHeaderValue = `${Did}#${AtprotoServiceType}`
+// Default Bluesky proxy DID for non-self-hosted accounts (bsky.social etc.)
+const DEFAULT_BSKY_PROXY: ProxyHeaderValue = 'did:web:api.bsky.app#bsky_appview'
+
+function shouldUseProxy(serviceUrl: string): boolean {
+ return !serviceUrl.startsWith(BSKY_SERVICE)
+}
+
export function createPublicAgent() {
configureModerationForGuest() // Side effect but only relevant for tests
const agent = new BskyAppAgent({service: PUBLIC_BSKY_SERVICE})
- // Disable proxy for self-hosted environments
- // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
+ // Self-hosted public agent doesn't need proxy
return agent
}
@@ -91,8 +97,10 @@
// after session is attached
const aa = prefetchAgeAssuranceData({agent})
- // Disable proxy for self-hosted environments
- // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
+ // Enable proxy only for non-self-hosted accounts (e.g. bsky.social)
+ if (shouldUseProxy(storedAccount.service)) {
+ agent.configureProxy(DEFAULT_BSKY_PROXY)
+ }
return agent.prepare({
resolvers: [gates, moderation, aa],
@@ -131,8 +139,10 @@
const moderation = configureModerationForAccount(agent, account)
const aa = prefetchAgeAssuranceData({agent})
- // Disable proxy for self-hosted environments
- // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
+ // Enable proxy only for non-self-hosted accounts (e.g. bsky.social)
+ if (shouldUseProxy(service)) {
+ agent.configureProxy(DEFAULT_BSKY_PROXY)
+ }
return agent.prepare({
resolvers: [gates, moderation, aa],
@@ -304,8 +314,10 @@
logger.error(e, {message: `session: failed snoozeEmailConfirmationPrompt`})
}
- // Disable proxy for self-hosted environments
- // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
+ // Enable proxy only for non-self-hosted accounts (e.g. bsky.social)
+ if (shouldUseProxy(service)) {
+ agent.configureProxy(DEFAULT_BSKY_PROXY)
+ }
return agent.prepare({
resolvers: [gates, moderation, aa],