641 Commits

Author SHA1 Message Date
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
Matthieu Sieben
82e3e7bf6b
Small xrpc-server optimizations (#4073) 2025-07-30 15:43:03 +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
Devin Ivy
8d56743a18 add changeset 2025-07-22 13:59:10 -04: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
github-actions[bot]
527729e0d6
Version packages (#4051)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-16 17:09:52 -05: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
Foysal Ahamed
5ae9987972
Ozone allow aa event type query (#4044)
* 🐛 Allow filtering ozone event stream by age assurance event

* 📝 Add changeset
2025-07-14 23:26:11 +02:00
Eric Bailey
2aecd2b290
Uppercase countryCode in initAgeAssuranceMethod (#4042) 2025-07-14 15:58:04 -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
34d7a0846b
📝 Add changeset for ozone age assurance changes (#4034) 2025-07-11 18:09:49 +02:00
Matthieu Sieben
ad18fc171e
Properly compute token exp in getServiceAuth endpoint (#4025) 2025-07-11 17:17:05 +02: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
d344723a10
Loosen unspecced constraint on saved feed IDs (#4010)
* only specify ID must be present

* update validateSavedFeed test

* changeset

* fix unused import

* fix typo in changeset
2025-07-01 06:48:09 -07: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
Samuel Newman
376778a92f
Add missing put method to record (#3997)
add missing put record
2025-06-27 04:11:10 -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
Samuel Newman
e3e31b2b9b
Add put method to record utility classes (#3995) 2025-06-25 23:06:22 +03: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
3a1e010e14
OAuth: Improve error reporting (#3973)
* Fix authorization error type name

* Refactor authorization error handling: replace AccessDeniedError with AuthorizationError and improve error reporting
2025-06-23 18:30:33 +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
Matthieu Sieben
4c2d499178
Identity resolver's resolve() method returns valud consistent with resolveIdentity (#3982)
* Identity resolver's `resolve()` method returns valud consistent with `com.atproto.identity.resolveIdentity`

* Refactor IdentityResolver into interface

* Update .changeset/few-rivers-chew.md

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

* tidy

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2025-06-23 16:27:25 +02:00
bnewbold
a8dee6af33
repo: MST should allow tilde in keys (#3981)
* repo: MST should allow tilde in keys

* add changeset
2025-06-22 17:43:06 -07:00
github-actions[bot]
bc2c578203
Version packages (#3979)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-20 10:54:34 +02:00
Matthieu Sieben
9dac8b0c60
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
2025-06-20 10:34:53 +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
Matthieu Sieben
90b4775fc9
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
2025-06-19 19:27:38 +02:00
Paul Frazee
5fccbd2a14
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>
2025-06-18 20:39:05 -07:00
Matthieu Sieben
68c43a94bd
Fix invalid use of invalid_client (#3967) 2025-06-18 15:46:32 +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