Skip to content

Merge bluesky-social/atproto changes up to ff9f84e#2

Merged
nicolo-ribaudo merged 120 commits into
eurosky-social:mainfrom
nicolo-ribaudo:merge-2026-04-15
Apr 15, 2026
Merged

Merge bluesky-social/atproto changes up to ff9f84e#2
nicolo-ribaudo merged 120 commits into
eurosky-social:mainfrom
nicolo-ribaudo:merge-2026-04-15

Conversation

@nicolo-ribaudo

@nicolo-ribaudo nicolo-ribaudo commented Apr 15, 2026

Copy link
Copy Markdown

This PR is the result of merging eurosky-social/atproto#main (up to 242f472) into bluesky-social/atproto#main (up to ff9f84e), solving merge conflicts, and then we can merge it back into eurosky-social/atproto#main. I am not merging directly bluesky-social/atproto#main into eurosky-social/atproto#main so that I can have this PR for review, showing how the merge conflicts have been solved.

The commits I authored are:

  • 5573ae2, solving the merge conflicts. The main conflicts where those in the Dockerfiles, coming from 0e8d4bb.
  • c8b730b, because CI on this fork is currently broken.

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:
image

where the first branch on the left is the bluesky main and the second one is the eurosky main.

Whenever we need to update our fork to the latest upstream version, we can create a new temporary branch from bluesky/main, merge eurosky/main into it, and then open a PR merging the temporary branch into eurosky/main. By doing so we don't solve the conflicts while merging into eurosky/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)

devinivy and others added 30 commits February 16, 2026 14:00
* Add recIdStr to suggested follows by actor

* Add recIdStr to get suggestions skeleton
…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>
* 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
ds-boyce and others added 26 commits April 2, 2026 14:48
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>
…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>
@Spotchi

Spotchi commented Apr 15, 2026

Copy link
Copy Markdown

Looks good

@nicolo-ribaudo
nicolo-ribaudo merged commit 2fa94aa into eurosky-social:main Apr 15, 2026
11 checks passed
@nicolo-ribaudo
nicolo-ribaudo deleted the merge-2026-04-15 branch April 15, 2026 14:21
@nicolo-ribaudo

Copy link
Copy Markdown
Author

From extra discussion between me and @Spotchi:

The reasons I'm not rebasing are that:

  • if our fork diverges more, we'll end up with a long chain of commits to rebase every time
  • we have a "release tag" on one of the commits on main, so I wanted to leave it there for transparency rather than force-pushing it away
  • I want it to be easy to review the changes due to merging/rebasing

I tend to never rebase the main branch on any project I work on to leave history there

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.