source for getorbyt.com getorbyt.com/
client bsky orbytapp app orbyt bluesky getorbyt orbytvideo atproto video
0
fork

Configure Feed

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

Fix profile pages: add _routes.json, User-Agent for Bluesky API

+32 -21
-1
public/.assetsignore
··· 1 1 _worker.js 2 - _routes.json
+5
public/_routes.json
··· 1 + { 2 + "version": 1, 3 + "include": ["/*"], 4 + "exclude": [] 5 + }
+5 -1
src/utils/bluesky-api.ts
··· 80 80 cursor?: string; 81 81 } 82 82 83 + const FETCH_HEADERS: HeadersInit = { 84 + 'User-Agent': 'Orbyt/1.0 (https://getorbyt.com)', 85 + }; 86 + 83 87 async function fetchWithTimeout(url: string, timeout: number = API_TIMEOUT): Promise<Response> { 84 88 const controller = new AbortController(); 85 89 const timeoutId = setTimeout(() => controller.abort(), timeout); 86 90 try { 87 - const response = await fetch(url, { signal: controller.signal }); 91 + const response = await fetch(url, { signal: controller.signal, headers: FETCH_HEADERS }); 88 92 clearTimeout(timeoutId); 89 93 return response; 90 94 } catch (error) {
+22 -19
wrangler.jsonc
··· 1 1 { 2 - "$schema": "./node_modules/wrangler/config-schema.json", 3 - "name": "orbyt-site", 4 - "main": "@astrojs/cloudflare/entrypoints/server", 5 - "compatibility_date": "2026-01-29", 6 - "compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"], 7 - "assets": { 8 - "binding": "ASSETS", 9 - "directory": "./dist" 10 - }, 11 - "services": [ 12 - { 13 - "binding": "ORBYT_API", 14 - "service": "orbyt-api" 15 - } 16 - ], 17 - "observability": { 18 - "enabled": true 19 - } 20 - } 2 + "$schema": "./node_modules/wrangler/config-schema.json", 3 + "name": "orbyt-site", 4 + "main": "@astrojs/cloudflare/entrypoints/server", 5 + "compatibility_date": "2026-01-29", 6 + "compatibility_flags": [ 7 + "nodejs_compat", 8 + "global_fetch_strictly_public" 9 + ], 10 + "assets": { 11 + "binding": "ASSETS", 12 + "directory": "./dist" 13 + }, 14 + "services": [ 15 + { 16 + "binding": "ORBYT_API", 17 + "service": "orbyt-api" 18 + } 19 + ], 20 + "observability": { 21 + "enabled": true 22 + } 23 + }