import 'server-only' /** * Base URL of the AppView used for all public read operations (engagement, * thread fetches, relationships, list members, beta allowlist). * * Defaults to Bluesky's public AppView. Overridable so an alternative AppView * can be swapped in without code changes. Note this is a structural dependency: * likes/reposts/thread aggregation only exists in an AppView, so content * outside the configured AppView's crawl is invisible to FlockOff regardless * of which PDS the logged-in user is on. */ // Trailing slashes stripped so string concatenation (`${APPVIEW_URL}/xrpc/…`) // can't produce double-slash paths from an innocently formatted env value. // `||` (not `??`) so an empty/whitespace env value also falls back. export const APPVIEW_URL = ( process.env.APPVIEW_URL?.trim() || 'https://public.api.bsky.app' ).replace(/\/+$/, '')