feat: Update API, based on the latest lexicon schemas - #346
Open
sugyan wants to merge 2 commits into
Open
Conversation
sugyan
changed the base branch from
fix/codegen-empty-doc-and-collection
to
main
August 14, 2026 12:12
Regenerated with `lexgen` from bluesky-social/atproto@5c3b7c9c8 (402 lexicons). 61 new modules, no removals. This is a breaking change at the Rust source level: several types gain required fields, `threadViewPref` loses `prioritizeFollowedUsers`, and `getServiceAuth.aud` relaxes from `format: did` to a plain string. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Catch up the hand-written code with the regenerated API. - New required fields in test fixtures across atrium-api, bsky-sdk and bsky-cli, and in the video example. - `getServiceAuth.aud` is now a plain string rather than a `Did`. - `threadViewPref.prioritizeFollowedUsers` was removed upstream, so `bsky_sdk::preference::ThreadViewPreferenceData` drops the field it could no longer populate. - Register the new `app.bsky.actor.contentVisibilityDeclaration` record with `record_impl!` and handle its `KnownRecord` variant in `create_record`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
sugyan
force-pushed
the
update/lexicon-5c3b7c9c8
branch
from
August 14, 2026 12:13
6faa1d2 to
a2e623a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Regenerates
atrium-apifrombluesky-social/atproto@5c3b7c9c8(402 lexicons) and catches the hand-written code up with it.Stacked on #345 — the regeneration needs both codegen fixes from that PR to come out clean. Base will retarget to
mainonce #345 merges. Review the second commit onward for the interesting part; the first is purelexgenoutput.Contents
feat: Update API, based on the latest lexicon schemas—lexgenoutput only. 61 new modules, no removals.feat: Update for the latest lexicon— 12 hand-written files, +31/−15.Breaking changes
This is semver-major for
atrium-api. Most of it is ordinary lexicon evolution (new optional fields, open-union additions), but three things break at the source level:refresh_session::OutputData(email,emailAuthFactor,emailConfirmed),describe_server::OutputData(blobUploadLimit),graph::follow::RecordData(via),getFollows/getFollowersparams (sort),listConvosparams (kind,lockStatus),MessageInputData(replyTo),embed::video::MainData(presentation), and severalactor::defsview types (debug,mutedOnlyReposts,mutedOnlyQuoteposts).getServiceAuth.audrelaxed fromformat: didto a plain string, so it is nowStringrather thanDid.threadViewPref.prioritizeFollowedUsersremoved upstream.bsky_sdk::preference::ThreadViewPreferenceDatadrops the field to match — it could no longer be populated from the server and there is no write-back path, so keeping it would have left a field permanently stuck at its default. Happy to keep it instead if you would rather not break that struct.Also new:
app.bsky.actor.contentVisibilityDeclaration, registered withrecord_impl!and handled inbsky-sdk'screate_record.Verification
clippy reports two
needless_borrowhits inatrium-crypto/src/encoding.rs:58,61. Those reproduce identically onmainand are unrelated to this regeneration — left alone here.Note on release
atrium-apiis0.25.8, so this should land as0.26.0. Worth eyeballing what release-plz does with it before merging.🤖 Generated with Claude Code
Note
Every workflow filters on
pull_request: branches: ["main"], so no CI runs while this PR is based onfix/codegen-empty-doc-and-collection. Merging #345 and retargeting this PR tomainwill need a push (or close/reopen) to kick the checks off — a base change alone firespull_request.edited, which is not in the default trigger set. Retargeting tomainright now also works; it just pulls #345's two commits into this diff until that PR merges.