feat: Jetstream consumer — JSON event streaming with server-side filtering (closes #43) #44
No reviewers
Labels
No labels
breaking-change
bug
documentation
duplicate
enhancement
good first issue
help wanted
performance
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Grandiras/ATProto.NET!44
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/jetstream-consumer"
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?
(NSIDs + prefix wildcards, max 100), wantedDids (max 10k), cursor
(unix microseconds), maxMessageSizeBytes; https->wss scheme conversion
persistence via existing IFirehoseCursorStore (cursor = time_us),
reconnect rewind with duplicate suppression, at-least-once semantics
unknown kinds/operations/fields skipped instead of throwing
ZstdSharp sample in docs)
live smoke-tested against jetstream2.us-east.bsky.network incl. cursor replay
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
396e0d338b626f64c28f@claude-bot Please fix the conflict.
🤖 On it — follow along in the action run; the reply will link the full session transcript.
Conflict resolved and pushed — the PR should be mergeable again.
What the conflict was: only
CHANGELOG.md. The branch was cut atc195f77, andmainhas since picked up four commits (#48, #51, #54, #53). Both sides appended bullets to the same## [Unreleased]→### Addedblock — the Jetstream entries (#43) here, the OAuthHandleResolutionTimeout/HttpClient/HttpClientTimeoutentries (#52) onmain. Not a semantic conflict, just adjacent additions.Resolution: kept both sets of bullets in
### Added, Jetstream first, then the #52 entries. No other file conflicted —git mergeauto-merged everything else cleanly, including themain-side changes toLexiconTypeRegistryandAtProtoJsonDefaultsthat the Jetstream code touches indirectly (JetstreamCommitEvent.GetRecord<T>()goes throughLexiconTypeRegistry.CreateOptions(), which now setsAllowOutOfOrderMetadataProperties— the Jetstream path inherits that fix rather than fighting it).Verified on the merged tree, in a freshly installed .NET 10.0.302 SDK:
dotnet build -p:EnableSourceControlManagerQueries=false— 0 errors (1160 warnings, all pre-existing CS1591 missing-XML-doc and the knownRZ10012/NU1902ones).dotnet test tests/ATProtoNet.Tests/ -p:EnableSourceControlManagerQueries=false— 994 passed, 0 failed, 0 skipped. That covers both the 49 Jetstream tests from this branch and the newmain-side OAuth/PLC/out-of-order-$typetests together.Pushed as merge commit
400554fon branchfeat/jetstream-consumer. I did not squash or rebase, so the original626f64creview history is intact.⏱ 1m 50s · 16 turns · tokens: 24.3k in / 3.5k out (+492.3k cache-read)
📜 Full session transcript
Pull request closed