Commit Graph

1347 Commits

Author SHA1 Message Date
github-actions[bot] 649e5ad772 Version packages (#4105)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-15 17:27:00 +02:00
Matthieu Sieben 369a201161 Perf: Avoid fetching account data twice in putRecord (#4107)
* Perf: Avoid fetching account data twice in `putRecord`

* Apply same changes in `createRecord`/`deleteRecord`/`applyWrites`

* tidy

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* switch validation order

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-15 17:20:56 +02:00
David Buchanan 75162ffb9e Fix putRecord auth check (#4104)
* Fix putRecord auth check

* changeset

* switch pds changeset to patch

* add test for putRecord via handle

* style fix

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2025-08-13 22:41:39 +01:00
github-actions[bot] d02d43c05b Version packages (#4102)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-13 15:22:03 +02:00
github-actions[bot] f8667835db Version packages (#4099)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-13 10:30:51 +02:00
github-actions[bot] 174f86da5f Version packages (#4094)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-12 14:45:00 +02:00
Matthieu Sieben 1899b1fc16 OAuth scopes (#3806)
* style: prefix `id` and `uri` with `request` where applicable

* Dynamically validate OAuth scopes

* Allow configuring trusted OAuth clients

* Improve client validation

* Rework authorization to work with permissions

* Review changes

* fix permissions

* tidy

* Drop authorization result

* unused code cleanup

* fix preferences auth

* remove redundant check in `applyWrites`

* style

* Remove need to specify "scopes" in authorized auth strategy

* fixup! Remove need to specify "scopes" in authorized auth strategy

* split authorized and oauth auth methods

* Require explicit opt-in for takendown

* fix tests

* rollback redundant permissions mechanism

* tidy

* Fix tests

* tidy

* tidy

* pr changes

* remove hack allowing access to full preferences

* always specify authorize method

* Add OAuth scope parsing & matching

* tidy

* add support for oauth scopes in client

* review changes

* Small xrpc-server optimizations

* pr comments

* Review comments

* refactor: move oauth scopes parser & checker in own package

* code simplification

* Allow multiple collections in `repo` scopes.
Allow wildcard action in `repo` scopes.
Require action in `repo` scopes.

* Rename `emailUpdate` to `email-update` in `account` scope params.
Add wildcard (`*`) in `account` and `identity` scopes.

* tidy

* add oauth-scopes package to PDS Dockerfile

* unit tests

* Syntax rework

* adapt to latest scope definition

* Add missing tests

* Render scopes in UI

* fix build

* fixes and tests

* improve ui

* tidy

* tidy

* ui improvements

* tidy

* fr messages

* tidy

* improve consent screen ui

* fix test

* tidy

* improve dx

* Remove `transition:` scopes from `scopes_supported` authorization server metadata

* Hide blob scope if no repo scope present

* changeset

* Remove the `action` param from the `identity` scope

* fix html syntax

* simplified wording

* Make `account:email` scope optional (#4089)

* Make `account:email` scope optional

* tidy

* tidy

* tidy

* tidy

* fix

* tidy

* review comments

* tidy

* refactor: remove redundant tests for identity scope parsing and matching

* minor ui fixes

* fix "back" label not translated

* ui improvements

* fix tests
2025-08-12 13:13:14 +02:00
David Buchanan 41b205051b Make codegen locale-independent (second attempt) (#4087) 2025-08-11 11:47:35 -03:00
Matthieu Sieben 0e40995e80 Run codegen (#4085) 2025-08-07 15:27:58 +02:00
github-actions[bot] 9a1746a025 Version packages (#4082)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-05 03:36:19 -07:00
rafael c370d933b7 Lists API improvements (#4081)
* Add purposes filter to app.bsky.graph.getLists

* Add getListsWithMembership

* Add getStarterPacksWithMembership

* Refactor list membership hydration

* changeset

* update getStarterPacksWithMembership lexicon output

* bsky: address feedback on list api improvements

* tidy

* tidy

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2025-08-05 01:06:05 -04:00
github-actions[bot] 757fa34458 Version packages (#4075)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-04 23:36:10 +02:00
Foysal Ahamed 171efadb49 ❇️ Ozone events timeline (#3927)
* 🚧 WIP

*  Blend in plc and account history events in account timeline

*  Adjust snapshot

* 🧹 Cleanup and address review comments

*  Update test snapshot

* 🐛 Add back the helper function

* 📝 Add explainer comment

*  Map plc events to conforming naming convention

*  Update test snapshot

* 🧹 Cleanup

*  Add known values for event types

* 📝 Add changeset
2025-08-04 20:37:05 +02:00
github-actions[bot] c55d5910ea Version packages (#4063)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-29 17:13:36 -03:00
rafael 9751eebd71 Cleanup app.bsky.unspecced.checkHandleAvailability (#4072) 2025-07-29 17:00:05 -03:00
rafael de29a346d8 Fix paginateAll mistakes and improve typing (#4062) 2025-07-22 14:51:16 -03:00
github-actions[bot] 3f5c6af971 Version packages (#4054)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-22 07:52:30 -05:00
Eric Bailey 8787fd9dea Prevent assured user from re-initiating (#4058)
* Validate user status before initiating

* Format

* Add test, not working yet

* Fix test

* Import order

---------

Co-authored-by: rafael <rafael@blueskyweb.xyz>
2025-07-18 14:13:25 -05:00
rafael dc84906c86 checkHandleAvailability endpoint (#4049) 2025-07-17 16:09:14 -03:00
rafael 77c6dffd0b AA fixes (#4050) 2025-07-16 15:13:21 -03:00
github-actions[bot] 47236325a9 Version packages (#4043)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-15 17:39:15 -05:00
Foysal Ahamed 3b356c5096 External ID in ozone events to help dedupe events (#4048)
*  Add externalId to ozone events for deduping events per subject and event type

* 📝 Add changeset

*  Move duplicate event check inside transaction
2025-07-15 18:32:22 +02:00
rafael 083566ddfc Endpoint for unregistering push notifications (#4041)
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2025-07-14 20:06:22 -03:00
github-actions[bot] 5094525ccc Version packages (#4036)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-11 19:15:20 -03:00
rafael 88c1364274 APIs for age assurance compliance (#4028)
Co-authored-by: Eric Bailey <git@esb.lol>
2025-07-11 19:09:18 -03:00
github-actions[bot] f27ae66432 Version packages (#4024)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-11 20:35:18 +02:00
Foysal Ahamed 926193f825 Ozone support for age assurance compliance events (#4029)
* 🚧 WIP

*  Make age assurance state queryable

*  Split age assurance events into 2

*  Implement admin and user state overrides

*  Add blocked as a known value for age assurance state

*  Update test snapshot

*  Update test snapshot

*  Cleanup
2025-07-11 18:00:55 +02:00
Matthieu Sieben ad18fc171e Properly compute token exp in getServiceAuth endpoint (#4025) 2025-07-11 17:17:05 +02:00
Jim Calabro c73d913354 Pass Through Age Restricted Status on Device Push Tokens (#4030)
* add ageRestricted to lexicon

* make codegen

* update courier proto

* pass through ageRestricted

* make fmt
2025-07-10 17:22:09 -04:00
devin ivy 5ed4a88596 Fix json and text uploads: don't parse bodies with input encoding of */* (#4027)
* xrpc-server: skip body parsing when input encoding is */*, fix json and text uploads

* changeset

* pds: add tests for text and json uploads

* tidy

* xrpc-server: only create body parser when it will be used
2025-07-09 18:55:48 -04:00
Matthieu Sieben 8ef976d385 xrpc-server & lex-cli rework (#3999)
* xrpc-server & lex-cli rework

* codegen

* tidy

* tidy

* tidy

* Update .changeset/nasty-icons-peel.md

Co-authored-by: devin ivy <devinivy@gmail.com>

* excludeErrorResult util

* Restore export of `SkeletonHandler` from `pds`

* Make `calcKey` RateLimiter option required

* Process request input after auth

* fix tests

* changeset

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2025-07-08 13:04:11 +02:00
github-actions[bot] e113a55d28 Version packages (#4017)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-03 09:54:47 +02:00
Foysal Ahamed 0c0381a2bb ❇️ Ozone user agent (#3991)
*  Add userAgent tracking for events

* :rotating_lights: Fix lint issue

* ♻️ Refactor userAgent to modTool

*  Rename extra to meta

* 📝 Add changeset

*  Support modTools param in createReport

*  Add support for mod tool in createReport
2025-07-02 22:34:15 +02:00
github-actions[bot] e5bd36e0c5 Version packages (#4016)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-02 22:15:58 +02:00
Foysal Ahamed 02c358d0ca Adds safelink module (#3945)
*  Adds safelink module

*  Remove createdAt timestamp bloat

* :rotating_lights: Fix lint issue

* 🐛 Fix pagination

* 🔨 Refactor safelink rule table

* 🧹 Add better default

*  Better search params

*  Remove mod requirement for query rules and events

*  Cleanup search for queryEvents

* 📝 Add changeset

* :rotating_lights: Fix lint issue

* 🧹 Adjust as per review feedback

*  Add support for sort direction in safelink rules

* :rotating_lights: Fix lint issue

*  Split input and response object shape

* :rotating_lights: Fix lint issue
2025-07-02 21:17:38 +02:00
github-actions[bot] cf3af4660d Version packages (#4012)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-01 06:59:28 -07:00
Samuel Newman 8a0f190399 Subscribe to activity implementation (#3908)
Co-authored-by: rafael <rafael@blueskyweb.xyz>
2025-06-30 18:43:27 -03:00
github-actions[bot] a2705e5a5d Version packages (#4006)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-30 08:14:33 -07:00
Samuel Newman bb65f7a6e2 Add subscribed-post notification reason (#4005)
* add new notification reason

* changeset
2025-06-30 07:53:56 -07:00
github-actions[bot] 76367f8a94 Version packages (#4001)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-27 04:52:57 -07:00
github-actions[bot] ad81144cac Version packages (#3996)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-25 23:33:53 -07:00
github-actions[bot] b70f62c6b9 Version packages (#3988)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-24 06:17:02 -07:00
rafael 6cd1202065 Subscribe to activity lexicons (#3990)
* Activity subscription lexicons

* Update lexicons/app/bsky/notification/declaration.json

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* update codegen

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
2025-06-24 03:43:53 -07:00
Matthieu Sieben f792b91938 Improve error reporting and logging (#3953)
* Improve error reporting and logging

* tidy

* tidy

* Improve zod error message extraction

* Properly serialize request in oauth logger

* Improve formatting of Zod errors

* Restore logging of refresh errors

* tidy

* Avoid double logging of errors

* tidy

* tidy

* revert merge changes

* tidy

* tidy

* more tidy
2025-06-23 19:49:10 +02:00
Matthieu Sieben 09d90ae486 Improve OAuth Example app (#3952)
* Improve OAuth Example app

* Improve style

* bsync: Accept NSID with fragment in operation ns (#3954)

* Add `match: MuteWordMatch` to `muted-word` mod decision `cause` (#2934)

* Return MuteWordMatch instead of simple boolean

* Return full mute word with match

* Add MuteWordMatch to decision cause, update a few tests

* Backwards compat

* Tighter types

* Return all mute word matches

* Clean up types

* Rename

* More cleanup of naming

* Remove unneeded changes

* Format

* Add predicate value to matches

* Better migration path

* Changeset

* Import sort

* Tighten up addMuteWord API

Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>

* Mute words: handle `Andor` and `and/or` case (#3948)

* Handle Andor case

* Remove useless escape

* Changeset

---------

Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>

* Version packages (#3947)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update README.md to add some missing details in examples (#3254)

Update README.md

Improve code examples (some OAuth implementation details are missing in these examples)

* Increase oauth session & refresh token lifetimes (#3883)

* Allow HTTPS `redirect_uris` from any origin (#3811)

* bump MST key length from 256 to 1024 chars (#3956)

* bump MST key length from 256 to 1024 chars

* update MST key test

* add a changeset

* Version packages (#3959)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Rename `filter` -> `include` (#3966)

* rename filter -> include

* changeset

* fix tests

* Minor Fixes: Typo Correction and Comment Update (#3961)

* Update blob-resolver.ts

* Update index.ts

* Appview: sync up protos for notification prefs (#3970)

appview: sync up protos for notification prefs

* Version packages (#3969)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix invalid use of `invalid_client` (#3967)

* Replace slice() with subarray() in car file parsing (#3971)

* Replace slice() with subarray() in car file parsing

* changeset

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>

* Re-export all types & utilities needed to instantiate an OAuth client (#3976)

* Re-export all types & utilities needed to instantiate an OAuth client

* Add `jwkPrivateSchema` to ensure a key is private

* Return object instead of array as result of `findPrivateKey`

* Allow override of default `handleResolver` and `runtimeImplementation` options for NodeOAuthClient

* changeset

* Allow `OAuthClient` to be instantiated with custom `didResolver` instance

* Version packages (#3975)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Perform a bi-directional check when resolving identity from did (#3977)

* Perform a bi-directional check when resolving identity from did

* tidy

* Reject did documents containing invalid `alsoKnownAs` ATProto handles

* Use error classes

* tidy

* Improve identity resolution

* tidy

* Allow non-normalized handles in did document

* pnpm-lock

* Version packages (#3979)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* repo: MST should allow tilde in keys (#3981)

* repo: MST should allow tilde in keys

* add changeset

* fic ci

* tidy

* tidy

---------

Co-authored-by: rafael <rafael@blueskyweb.xyz>
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: James Futhey <kidGodzilla@users.noreply.github.com>
Co-authored-by: bnewbold <bnewbold@robocracy.org>
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: leopardracer <136604165+leopardracer@users.noreply.github.com>
Co-authored-by: devin ivy <devinivy@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2025-06-23 17:31:02 +02:00
github-actions[bot] 9f9a08648b Version packages (#3975)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-19 20:43:13 +02:00
github-actions[bot] 727d9330a1 Version packages (#3969)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-18 02:12:45 -07:00
Samuel Newman 97ef116571 Rename filter -> include (#3966)
* rename filter -> include

* changeset

* fix tests
2025-06-17 13:45:49 -04:00
github-actions[bot] b4cb1ebac9 Version packages (#3959)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-17 15:50:58 +02:00
github-actions[bot] 71a0a026c1 Version packages (#3947)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-13 13:49:11 -05:00