fix/plc-did-path-uri #48
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!48
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/plc-did-path-uri"
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?
that put the DID in the path ignored the plc.directory BaseAddress and
failed with 'The did scheme is not supported'. Use RFC 3986 './'-prefixed
relative references for all five DID-path endpoints; add PlcClient unit
tests (previously none) incl. a BaseAddress-composition regression test.
Found by Mise's network backfill resolving 0/59 repos.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
- JetstreamClient: single WebSocket to /subscribe with wantedCollections
- JetstreamConsumer: managed consumer with reconnect backoff, cursor
- JetstreamEventParser: forward-tolerant commit/identity/account parsing;
- JetstreamCommitEvent.GetRecord() honours LexiconTypeRegistry; computed at:// Uri
- IJetstreamDecompressor seam for optional zstd (no bundled dependency;
- 49 unit tests (parser frames, URL building, consumer resume/rewind/dedup);
- docs/jetstream.md with firehose comparison + non-verifiability caveat
Co-Authored-By: Claude Fable 5 noreply@anthropic.com(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
@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.
What conflicted
Only
CHANGELOG.md. Both sides had appended to## [Unreleased] → ### Fixed: this branch added the PLCBaseAddressentry (#47), whilemainpicked up three commits since this branch forked (#52 OAuth handle-resolution timeouts, #52 OAuthHttpClientoptions, #50 out-of-order$type). No source files conflicted.Resolution
### Fixed, followed by main's#52/#50entries and the existingRepositoryUrlnote.### Addedsections under[Unreleased](this branch's Jetstream block and main's#52block, split by### Removed). Folded them into one, so[Unreleased]is back to the canonical single-section-each order:Breaking changes→Added→Removed→Fixed→Security.Verified
Installed the .NET 10 SDK in the container (none was present), then on the merge result:
dotnet build -p:EnableSourceControlManagerQueries=false→ 0 errors (warnings are pre-existing CS1591/NU19xx noise, unchanged).dotnet test tests/ATProtoNet.Tests/ -p:EnableSourceControlManagerQueries=false→ 994 passed, 0 failed, 0 skipped. That covers both sides' new tests — the PLCBaseAddressregression tests from this branch and main'sHandleResolution*/OutOfOrderTypeMetadatatests — so the two changesets don't interact badly.Pushed as merge commit
f770e57onfix/plc-did-path-uri(16c9542..f770e57). PR #48 should now show as mergeable.⏱ 2m 13s · 20 turns · tokens: 32.4k in / 5.0k out (+734.6k cache-read)
📜 Full session transcript