Add support for setting Labels / Fixes Chat #135
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #46 (Mostly)
This PR adds support for setting labels at the library level. You could add them through the
HttpClient
withinATProtocol
but this should make it more straightforward to do.ATProtocol.Options.LabelParameters
that will automatically apply labels toATProtocol
calls. Simply add a label to this HashSet, and it will be included in the headers of the request.ATProtocolBuilder
, there is a new methodATProtocolBuilder.EnableBlueskyModerationService()
, which adds the Bluesky Moderation service label by default. You can also apply it yourself withatProtocol.Options.LabelParameters.Add(LabelParameter.BlueskyModeration);
ATProtocol
, there is a new methodATProtocol.SetDefaultLabelsAsync()
, which automatically callsatprotocol.Actor.GetPreferencesAsync
to fetch the users labels, and applies them to theATProtocol.Options.LabelParameters
HashSet.atproto-content-labelers
is currently not bound nor returned, so that would need to be done.In adding this code, I also fixed the
chat.bsky.convo
endpoints, which requires a header (did:web:api.bsky.chat#bsky_chat
) to be applied as a proxy.