Something went wrong. Try again.
hardened bluesky app fork with microcosm
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127import {type Did} from '@atproto/api'
import packageJson from '#/../package.json'
/** * The semver version of the app, as defined in `package.json.` * * N.B. The fallback is needed for Render.com deployments */export const RELEASE_VERSION: string = process.env.EXPO_PUBLIC_RELEASE_VERSION || packageJson.version
/** * The env the app is running in e.g. development, testflight, production, e2e */export const ENV: string = process.env.EXPO_PUBLIC_ENV as | 'production' | 'testflight' | 'development' | 'e2e' | (string & {})
/** * Indicates whether the app is running in TestFlight */export const IS_TESTFLIGHT = ENV === 'testflight'
/** * Indicates whether the app is `__DEV__` */export const IS_DEV = __DEV__
/** * Indicates whether the app is running in a test environment */export const IS_E2E = ENV === 'e2e'
/** * Indicates whether the app is `__DEV__` or TestFlight */export const IS_INTERNAL = IS_DEV || IS_TESTFLIGHT
/** * The commit hash that the current bundle was made from. The user can * see the commit hash in the app's settings along with the other version info. * Useful for debugging/reporting. */export const BUNDLE_IDENTIFIER: string = process.env.EXPO_PUBLIC_BUNDLE_IDENTIFIER || 'dev'
/** * This will always be in the format of YYMMDDHH, so that it always increases * for each build. This should only be used for analytics reporting and shouldn't * be used to identify a specific bundle. */export const BUNDLE_DATE: number = process.env.EXPO_PUBLIC_BUNDLE_DATE === undefined ? 0 : Number(process.env.EXPO_PUBLIC_BUNDLE_DATE)
/** * The log level for the app. */export const LOG_LEVEL = (process.env.EXPO_PUBLIC_LOG_LEVEL || 'info') as | 'debug' | 'info' | 'warn' | 'error'
/** * Enable debug logs for specific logger instances */export const LOG_DEBUG: string = process.env.EXPO_PUBLIC_LOG_DEBUG || ''
/** * The DID of the Bluesky appview to proxy to */export const BLUESKY_PROXY_DID: Did = process.env.EXPO_PUBLIC_BLUESKY_PROXY_DID || 'did:web:api.bsky.app'
/** * The DID of the chat service to proxy to */export const CHAT_PROXY_DID: Did = process.env.EXPO_PUBLIC_CHAT_PROXY_DID || 'did:web:api.bsky.chat'
/** * GCP project ID which is required for native device attestation. On web, this * should be unset and evaluate to 0. */export const GCP_PROJECT_ID: number = process.env.EXPO_PUBLIC_GCP_PROJECT_ID === undefined ? 0 : Number(process.env.EXPO_PUBLIC_GCP_PROJECT_ID)
/** * microcosm (https://www.microcosm.blue/) service hosts. These let the app read * atproto data independently of Bluesky's first-party AppView: * * - Constellation: atproto-wide backlink index (interaction counts/lists) * - Slingshot: edge cache of records + identity resolution (com.atproto.* APIs) * - Spacedust: websocket firehose of interactions (live notifications) */export const CONSTELLATION_URL: string = process.env.EXPO_PUBLIC_CONSTELLATION_URL || 'https://constellation.microcosm.blue'export const SLINGSHOT_URL: string = process.env.EXPO_PUBLIC_SLINGSHOT_URL || 'https://slingshot.microcosm.blue'export const SPACEDUST_URL: string = process.env.EXPO_PUBLIC_SPACEDUST_URL || 'wss://spacedust.microcosm.blue'
/** * User-Agent sent with microcosm API requests, per their etiquette request to * identify your project and a contact. */export const MICROCOSM_USER_AGENT = 'fih (microcosm client; scan@scanash.com)'
/** * Image CDN base used when reconstructing avatar/banner/feed image URLs from * raw blob refs (during client-side hydration). Defaults to the community-run * `cdn.blueat.net` mirror rather than Bluesky's first-party `cdn.bsky.app`, so * the app doesn't depend on Bluesky CDN infrastructure. Same URL scheme: * `<base>/img/<preset>/plain/<did>/<cid>@jpeg`. */export const IMG_CDN_URL: string = process.env.EXPO_PUBLIC_IMG_CDN_URL || 'https://cdn.blueat.net'