See the best posts from any Bluesky account
0
fork

Configure Feed

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

Drop FIREHOSE_JETSTREAM_URL override and fix scheduler preload

FIREHOSE_JETSTREAM_URL was redundant with JETSTREAM_URL — the firehose
worker just reads JETSTREAM_URL directly now.

Also scope the scheduler preload to `console` only. It was widened to
`['console', 'web']` during Phase 3 but the scheduler provider is only
registered for `console`, which caused a binding-resolution error when
`pnpm dev` booted the web server.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+6 -11
+5 -5
adonisrc.ts
··· 91 91 () => import('#start/validator'), 92 92 { 93 93 file: () => import('#start/scheduler'), 94 - // The scheduler file defines recurring work dispatched inside the 95 - // queue-worker process via `node ace queue:work` (console env). The 96 - // `web` env entry is kept so `pnpm dev` boots it too for local dev, 97 - // although the scheduler Worker itself only starts inside queue:work. 98 - environment: ['console', 'web'], 94 + // Scheduled work is dispatched inside queue-worker via `node ace 95 + // queue:work`. The scheduler provider is only registered in `console`, 96 + // so this preload must be console-only to avoid a binding-resolution 97 + // error when `pnpm dev` boots the web server. 98 + environment: ['console'], 99 99 }, 100 100 ], 101 101
+1 -2
app/services/firehose_consumer.ts
··· 60 60 61 61 /** 62 62 * Resolves the jetstream URL to subscribe to. 63 - * Preference order: FIREHOSE_JETSTREAM_URL → JETSTREAM_URL → default. 64 63 */ 65 64 export function resolveFirehoseJetstreamUrl(env: NodeJS.ProcessEnv = process.env): string { 66 - return env.FIREHOSE_JETSTREAM_URL ?? env.JETSTREAM_URL ?? DEFAULT_JETSTREAM_URL 65 + return env.JETSTREAM_URL ?? DEFAULT_JETSTREAM_URL 67 66 } 68 67 69 68 // ---------------------------------------------------------------------------
-1
docker-compose.yml
··· 19 19 OTEL_EXPORTER_OTLP_HEADERS: ${OTEL_EXPORTER_OTLP_HEADERS} 20 20 FIREHOSE_WEBHOOK_URL_1K: ${FIREHOSE_WEBHOOK_URL_1K:-} 21 21 FIREHOSE_WEBHOOK_URL_10K: ${FIREHOSE_WEBHOOK_URL_10K:-} 22 - FIREHOSE_JETSTREAM_URL: ${FIREHOSE_JETSTREAM_URL:-} 23 22 24 23 x-logging: &default-logging 25 24 driver: json-file
-2
docs/superpowers/specs/2026-04-14-firehose-virality-webhook-design.md
··· 318 318 crossings. Optional. 319 319 - `FIREHOSE_WEBHOOK_URL_10K` — Discord webhook URL for 10,000-like 320 320 crossings. Optional. 321 - - `FIREHOSE_JETSTREAM_URL` — optional override; defaults to the same 322 - URL as the existing consumer. 323 321 324 322 Thresholds themselves (`[1000, 10000]`) are hardcoded in the job — they 325 323 are tied 1:1 to webhook URLs, so there's no sensible way to configure
-1
start/env.ts
··· 44 44 // Firehose virality webhook (worker + threshold job) 45 45 FIREHOSE_WEBHOOK_URL_1K: Env.schema.string.optional(), 46 46 FIREHOSE_WEBHOOK_URL_10K: Env.schema.string.optional(), 47 - FIREHOSE_JETSTREAM_URL: Env.schema.string.optional(), 48 47 49 48 // Backfill 50 49 BACKFILL_MAX_POSTS: Env.schema.number.optional(),