This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

try again

+6 -6
+1 -1
app/next.config.js
··· 2 2 const nextConfig = { 3 3 reactStrictMode: true, 4 4 images: { 5 - domains: ['bsky.social', 'cdn.bsky.app'], 5 + domains: ['public.api.bsky.app', 'cdn.bsky.app'], 6 6 }, 7 7 // We need to specify which pages need to be dynamic 8 8 // to prevent build errors with pages that use client-side features
+2 -2
app/scripts/firehose-worker.js
··· 196 196 async function resolveDIDWithBskyAPI(did) { 197 197 return new Promise((resolve, reject) => { 198 198 // The Bluesky API endpoint for DID-to-handle resolution 199 - const url = `https://api.bsky.app/xrpc/com.atproto.repo.describeRepo?repo=${encodeURIComponent(did)}`; 199 + const url = `https://public.api.bsky.app/xrpc/com.atproto.repo.describeRepo?repo=${encodeURIComponent(did)}`; 200 200 console.log(`Making Bluesky API request to: ${url}`); 201 201 202 202 const options = getRequestOptions(url); ··· 259 259 } 260 260 261 261 return new Promise((resolve, reject) => { 262 - const url = `https://api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=${encodeURIComponent(did)}`; 262 + const url = `https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=${encodeURIComponent(did)}`; 263 263 console.log(`Making handle resolver request to: ${url}`); 264 264 265 265 const options = getRequestOptions(url);
+1 -1
app/src/app/api/auth/token/route.ts
··· 42 42 43 43 // CRITICAL FIX: Use the correct token endpoint based on PDS type 44 44 // - For bsky.network PDSes: always use public.api.bsky.app for token exchange 45 - // - For bsky.social: use it directly 45 + // - For public.api.bsky.app: use it directly 46 46 // - For third-party PDSes: use their own endpoint 47 47 let authServer = pdsEndpoint; 48 48
+2 -2
app/src/lib/bluesky-auth.ts
··· 40 40 } 41 41 42 42 // If not a DID, resolve the handle to a DID 43 - const resolveResponse = await fetch(`https://api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=${encodeURIComponent(handle)}`); 43 + const resolveResponse = await fetch(`https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=${encodeURIComponent(handle)}`); 44 44 45 45 if (!resolveResponse.ok) { 46 46 throw new Error(`Failed to resolve handle: ${resolveResponse.status}`); ··· 432 432 code, 433 433 codeVerifier, 434 434 dpopToken, 435 - pdsEndpoint, // Auth server endpoint (usually bsky.social) 435 + pdsEndpoint, // Auth server endpoint (usually public.api.bsky.app) 436 436 originalPdsEndpoint // The original PDS endpoint (for third-party PDS) 437 437 }) 438 438 });