Merge bluesky-social/atproto changes up to ff9f84e#2
Merged
nicolo-ribaudo merged 120 commits intoApr 15, 2026
Conversation
* pds: lxm checks case-insensitive * tidy
* Add recIdStr to suggested follows by actor * Add recIdStr to get suggestions skeleton
Add claude action
…me (bluesky-social#4647) * Use existing method name * Fix import * Wait no, still wrong * Changeset
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* move feature gates to analytics folder * implement scoped feature gate evals * Add separate config for metrics trackingHost * Add source param * Pare down metadata sent to event proxy * Just build metrics within feature gate client * Refactor a bit to streamline usage * Further pare down API to be super clear * Add readme * Cleanup * Use new env vars * Stop metrics if we stop feature-gates * Add metrics client test * Adjust imports for lint * Try catch for safety, revert logger change * Structure log metadata to match proxy needs * Nah use stableId * Revert "Nah use stableId" This reverts commit 5c6d39a. * Align on deviceId --------- Co-authored-by: Eric Bailey <git@esb.lol>
* Skip puppeteer download in build and verify steps * tidy * tidy * fix deps * install puppeteer as pretest step * cleanup
…al#4659) Add a `$` in front of the method type utilities to prevent name conflicts with local definitions
* minor tests fix * Properly support "enum" and "const" schemas in params * tidy * Add support for `knownValues` in string schemas * tidy * tests * tidy * tidy * tidy * fix types * fix tests * add suggested tests * merge conflicts
* Various Lex SDK improvements * changeset * Improve typeing of `string()` schemas * fix tests * improve backwards compatibility
* Delete any pre-existing OAuth session when a new one is created (for a given `sub`) * OAuth client improvements * tidy * tidy * tdy * remove event-target-polyfill dep * Update .changeset/neat-humans-fix.md Co-authored-by: devin ivy <devinivy@gmail.com> * tidy --------- Co-authored-by: devin ivy <devinivy@gmail.com>
* Add identifier fallbacks * Cleanup * No await
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Use import `with` instead of deprecated import `assert` (fixing build warning)
* Add changeset check workflow * fix node version * Fake missing changeset * tidy * fix test
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Attempt at fixin CI
* Allow calling `xrpc` and `xrpcSafe` functions with a service URL * tidy * tidy * fix test * Improve app password based session management * lex lex jsdoc * Add easy login for app password based bots * Shorten readme intro
* docs: Updating app password based session example Updating atproto app password based session example in README * refactor: prettier lint + changeset
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Lex SDK error handling improvements * Allow `WWWAuthenticate` to have multiple challenges for the same scheme * tidy * add tests * tests * review comments * tidy * tidy * tidy * tidy
* Lex SDK error handling improvements * Add support for method defined through `@atproto/lex` in addition to `@atproto/lexicon` "codegen" * review comments * tidy
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Revert "Fix legacy profile validation by using safeParse instead of ifMatches validation (bluesky-social#4824)" This reverts commit 9def38a.
* Allow validation of legacy blobs (in 'validate' mode) * tidy * tidy * tidy * changeset * tidy * review comments * update skills * tidy * Add `TypedBlobRef` * fix style * review comments * lint
…al#4837) * bsky: skip blocks against mod viewer * bsky: test mod service blocks fix * changeset
* Add labels to statusView, hydrate and return them * Add test * Add moderateStatus API SDK method * Changeset * Format
* Increase max image upload size to 2mb from 1mb * SI * Apply suggestion from @surfdude29 Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> --------- Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Data Plane Caller Interceptor * Changeset * add a test --------- Co-authored-by: Eric Bailey <git@esb.lol>
* refactor * tidy * tidy
…4836) * Improve performances of `lexParseJsonBytes` function * tidy * tidy * Add test for repeated keys; fix import order in bench file Agent-Logs-Url: https://github.com/bluesky-social/atproto/sessions/3cb30e99-4d11-4396-82a3-79c2eb5ca6cf Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com> * Fix `lexParseJsonBytes` strict mode to match `lexParse` behavior (bluesky-social#4843) * Initial plan * Fix lexParseJsonBytes strict mode to match lexParse behavior - Fix parseNull/parseTrue/parseFalse to throw SyntaxError with 'Unexpected token' (matching JSON.parse) - Fix parseNumber to compute full value before validating, throw TypeError('Invalid non-integer number: ${value}') in strict mode (matching lexParse) - Fix parseObject to throw TypeError (not SyntaxError) for invalid $bytes, $link, and blob objects - Use parseTypedBlobRef instead of isBlobRef for blob validation - Add $type empty string check and improve $type error messages - Update incorrect test: 1e10 is a safe integer and should not throw in strict mode - Add comprehensive strict vs non-strict mode parity tests for lexParseJsonBytes vs lexParse Agent-Logs-Url: https://github.com/bluesky-social/atproto/sessions/c72e3862-277f-4f61-b4eb-b5a334e42647 Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com> * Improve code comment in parseNumber Agent-Logs-Url: https://github.com/bluesky-social/atproto/sessions/c72e3862-277f-4f61-b4eb-b5a334e42647 Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com> * tidy * tidy * tests * tidy --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com>
* Improve error reporting from fetchHandler() in NodeJS * Use request logger instead of global one when performing service proxying
* Fix `normalizeDatetime` inconsistencies * tdy * tidy * tests * tidy * tidy * comment
* Improve `AtUriString` type an utilities * review comments * tidy * tidy * tidy * tidy * Apply suggestion from @matthieusieben * Apply suggestion from @matthieusieben * review comments
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
Looks good |
Author
|
From extra discussion between me and @Spotchi:
|
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.
This PR is the result of merging
eurosky-social/atproto#main(up to 242f472) intobluesky-social/atproto#main(up to ff9f84e), solving merge conflicts, and then we can merge it back intoeurosky-social/atproto#main. I am not merging directlybluesky-social/atproto#mainintoeurosky-social/atproto#mainso that I can have this PR for review, showing how the merge conflicts have been solved.The commits I authored are:
Looking at CI, it should just generate the new image once this PR is merged. CI however failed last time, I don't know yet if it was temporary or if CI is broken.
Ideally this is how we can keep the two repos in sync:

where the first branch on the left is the bluesky
mainand the second one is the euroskymain.Whenever we need to update our fork to the latest upstream version, we can create a new temporary branch from
bluesky/main, mergeeurosky/maininto it, and then open a PR merging the temporary branch intoeurosky/main. By doing so we don't solve the conflicts while merging intoeurosky/main, but we always get a clean merge there.(ignore the "create branch for merging" commits in this image, the tools I used didn't let me create a branch without creating a commit first)