Claude: changes for issue #39 #59
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!59
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "claude/issue-39"
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?
Closes #39.
🤖 Reviewing this PR — follow along in the action run; the reply will link the full session transcript.
@claude-bot Please fix the small conflict.
🤖 On it — follow along in the action run; the reply will link the full session transcript.
📜 Live transcript — updating every ~5 minutes while the task runs.
Conflict resolved and pushed to
claude/issue-39(merge commit5b6e762).What the conflict was:
mainmoved ahead with #58 (issue #41), which added a bullet at the same spot in the### Addedsection ofCHANGELOG.mdthat this PR's two#39bullets occupy. Purely adjacent additions — no semantic overlap.Resolution: kept both sides, with the
OAuthClientMetadata.ToJson(#41) bullet ahead of theMapAtProtoPds(Action<PdsEndpointOptions>)/PdsEndpointNames(#39) bullets. No other file conflicted; the merge brought inmain'sOAuthModels.cs,docs/oauth.md, andOAuthModelsTests.cschanges cleanly.Verified: no conflict markers remain, and
dotnet test tests/ATProtoNet.Tests/ -p:EnableSourceControlManagerQueries=falseon the merged tree passes — 1033 passed, 0 failed, 0 skipped. (The container had no SDK, so I installed .NET 10.0.302 first.) The PR should now show as mergeable.⏱ 1m 33s · 14 turns · tokens: 20.3k in / 2.7k out (+414.2k cache-read)
📜 Full session transcript
📝 Retroactive review summary (was stuck as an invisible draft by the APPROVE/APPROVED bug, fixed in v12.2 — verdict was: approve):
Clean, well-scoped addition of
PdsEndpointOptions/PdsEndpointNamesand the newMapAtProtoPds(Action<PdsEndpointOptions>)overload. The refactor ofPdsHostingExtensions.MapAtProtoPdsto route every registration through the localMaphelper is mechanical and preserves each handler's original body verbatim — verified by diffing the full post-change file against the original structure.Exclude/Only/Configure/ConfigureAllcompose sensibly (Excludecorrectly wins overOnly, matching both the doc and the testOnly_CombinedWithExclude_ExcludeWins), NSIDs are validated againstPdsEndpointNames.Allso typos fail fast at startup, and the display-name change (WithDisplayName(nsid)) is a reasonable diagnostics improvement. Test coverage is thorough: realTestServer-backed tests for exclusion/inclusion/route-conflict-avoidance/display-name/conventions, plus fast unit tests onPdsEndpointOptionsitself. Docs (pds.md,xrpc-handlers.md) andCHANGELOG.mdare updated consistently with the new API and correctly reflect theAdded/Changedsplit per repo convention. No correctness, security, or omission issues found.⏱ 1m 4s · 10 turns · tokens: 33.0k in / 4.3k out (+542.1k cache-read)
📜 Full session transcript