v9 P2: Real-time ingestion (streaming) #23
Labels
No labels
bug
duplicate
enhancement
future
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
rbrooks/TeaLeaves#23
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replace polling with push wherever the platform actually supports it; keep fast polling where it does not, rather than forcing a worse architecture for an honest gap.
/api/v1/streaming/..., websocket) replaces polling entirely. A newmastodonStreamManagerservice holds long-lived connections (one per distinct instance+target where possible), with reconnect/backoff, started alongside the existing workers inindex.ts.wantedCollections=app.bsky.feed.post,wantedDids=<every watched account DID across all projects>, updated dynamically as watches change. Jetstream filters server-side by account, so this is genuinely real-time and cheap regardless of watch count.watch.bskyTagPollSeconds, default 30-60s). Jetstream has no server-side text filter; true real-time keyword tracking would mean consuming the full unfiltered firehose and matching client-side - disproportionate versus a 30-60s poll of the search API.SIGTERM).Originated in
ROADMAP.md(now retired; this tracker is the single source of truth).