Commit Graph

2335 Commits

Author SHA1 Message Date
Kev 🐶 4e09849b0b Fix wrong imports in oauth-client-node README (#2844) 2024-10-03 23:31:59 -04:00
github-actions[bot] 556c5a549c Version packages (#2859)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-03 20:36:45 -05:00
Eric Bailey a0531ce429 Add check for external media within RecordWithMedia (#2857) 2024-10-03 20:24:00 -05:00
github-actions[bot] 600fea65d4 Version packages (#2856)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-03 14:07:55 -05:00
Matthieu Sieben 8943c10082 Disable use of HTTP2 when checking SSRF IP (#2854) 2024-10-03 14:03:48 -05:00
Daniel Holmgren df14df522b Ozone signature methods (#2855)
* lexicons

* fix typo & add proxy routes

* changeset
2024-10-03 14:00:12 -05:00
github-actions[bot] a611a5fe56 Version packages (#2846)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-01 20:13:26 +02:00
Foysal Ahamed a2bad977a8 Ozone batch repo and record getters (#2836)
*  Add getRepos and getRecords endpoints for bulk fetching

*  Fix issues and add tests for get repos and get records

*  Use the right lxm

* 🐛 Revert changes in lockfile

*  Add getAccountInfos in PDS

* 🐛 Fix type def for repo and record view detail

*  Update snapshots

*  Update snapshots

*  Consolidate error type for com.atproto and tools.ozone getRecord error type

* 🧹 Cleanup

*  Update snapshots

*  Update snapshots

*  Changeset
2024-10-01 19:37:23 +02:00
Matthieu Sieben 1226ed2682 Do not display the client_name of untrusted clients (#2847)
* Do not display the client_name of untrusted clients

* do not show client id of trusted clients
2024-10-01 19:08:26 +02:00
Foysal Ahamed cafa8a15c0 Add index on reviewState column on moderation_subject_status table (#2848) 2024-10-01 19:07:55 +02:00
Samuel Newman a8c6b8997c Disallow pinning someone else's post (#2840)
* Reapply "add failing test for pinning someone else's post"

This reverts commit 16a2399e19.

* make sure pinned post belongs to the person who pinned it

* add snapshot

* Use uriToDid

---------

Co-authored-by: Eric Bailey <git@esb.lol>
2024-10-01 11:53:19 -05:00
Samuel Newman 023474cc74 Don't replace first post with pin if limit=1 (#2841)
don't replace post if limit=1
2024-10-01 11:53:07 -05:00
Matthieu Sieben 4098d98901 Default to unencoded responses (#2834)
* Allow defaulting to unencoded responses when proxying client requests that do not specify accept-encoding
* fix content-encoding negotiation
2024-10-01 10:43:15 +02:00
Eric Bailey 27882035e7 Use uppercase 2fa codes in email templates (#2843)
* Update email templates

* Format random readme
2024-09-30 17:18:33 -05:00
Kev 🐶 2974d83786 Fix Promise generic in oauth-client README (#2839) 2024-09-30 18:31:11 +02:00
Samuel Newman 16a2399e19 Revert "add failing test for pinning someone else's post"
This reverts commit 734f5d5484.
2024-09-30 13:41:03 +03:00
Samuel Newman 734f5d5484 add failing test for pinning someone else's post 2024-09-30 13:40:12 +03:00
Paul Lindner 98d9a158f9 Follow-on cleanup after #2483 (#2837)
- Change tests to use AtpClient instead of the deprecated BskyClient
2024-09-28 20:10:36 +02:00
github-actions[bot] 6593fdc3f4 Version packages (#2812)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-27 13:04:34 -05:00
Matthieu Sieben eb20ff64a2 ponyfill URL.canParse (#2835) 2024-09-27 17:03:29 +02:00
Samuel Newman 2676206e42 Pinned posts (#2771)
* pinned posts lexicon

* codegen

* change lexicon, different approach

* codegen 2

* dataplane db migration

* move pinned post lexicon to right place

* add pinned posts optionally to getAuthorFeed

* remove type modification

* Clarify naming, add viewer state, add tests

* return pinnedPost with profileViewDetailed

* allow pinned replies in `posts_and_author_threads`

* clearer variable naming

* annotate type of `items`

* boolean --> varchar

* reuse authorDid in viewerPinned

* simplify test

* make pinned post not top post in test

* update snapshot

* changeset

---------

Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: dholms <dtholmgren@gmail.com>
2024-09-26 18:26:45 -05:00
Matthieu Sieben ed325d863c OAuth spec alignment (#2755)
* Improve reporting of metadata validation error
* Properly validate client metadata scope
* Allow loopback clients to define their scopes through client_id query parameters
* Require definition of "scope" in client metadata document
* Restrict the value used as code_challenge_methods_supported
* Remove `plain` from `code_challenge_methods_supported`
* Prevent use of empty string in unsupported oidc request parameters
* Centralize parsing of client metadata error
* Enfore code_challenge_method=S256 request parameter
* Improve error description in case of invalid loopback client_id
* Enfore single scope query param in loopback clients
* Disable request params scopes defaulting to client metadata scope
* Centralize loopback client validation logic
* add assertion utils for client ids
* Improve invalid client_id error messages from BrowserOAuthClient.from()
* Use scope from client metadata as default value
* Improve client side validation of client metadata
* Allow fetching of source maps files from browser debugger
* Use the clientId to configure the OAuth client
* Allow native clients to use https: redirect uris
* Explicitely forbid MTLS client auth method
* Improve error feedback in case of invalid client_id domain name
* Remove un-spec'ed restrictions on redirect_uris based on the client_uri
* Do not strip query string from URL after oauth redirect in fragment mode
* Add missing "expires_in" property to OAuthParResponse type definition
* Allow non canonical urls to be used as client ID
* Allow client metadata to contain other return type values than "code"
* Properly validate request_uri request parameter
* Improve parsing and validation of client_id's
* Return "invalid_client" on invalid client credentials
* improved error management & reporting
* performance improvement
* Allow loopback client ids to omit the (empty) path parameter

Co-authored-by: devin ivy <devinivy@gmail.com>
2024-09-26 14:07:08 +02:00
dan 87a1f24262 Add fast path skipping grapheme counting (#2817)
* Cache length calculations between min and max

* Harden grapheme counter tests

* Add fast paths

* Code style tweaks

* changeset

---------

Co-authored-by: dholms <dtholmgren@gmail.com>
2024-09-25 20:17:42 +09:00
Matthieu Sieben b298bfd280 Prevent PDS crash when catchall proxy request are cancelled (#2824)
* Prevent PDS crash when catchall proxy request are cancelled

* fixes

* ensure stream destruction
2024-09-24 11:55:29 -05:00
Samuel Newman d7e37677ea Align OAuth 2FA code handling with social-app (#2825)
* uppercase email 2FA code

* use same validation logic as social-app

* use same regex for pattern as social-app

* rename check function

* spelling correction

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

---------

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
2024-09-23 18:23:58 +01:00
Arthur Pinheiro 6bf6192ff2 Fix typo in README.md (#2826) 2024-09-23 16:37:35 +01:00
Matthieu Sieben a07b21151f PDS pipethrough optimizations (#2770)
* Micro optimization in request proxying

* Request NSID parsing optimization

* DID document parsing optimization

* remove un-necessary call to next()

* Allow HandlerPipeThrough to be used with streams

* Refactor pipethrough to work with streams

* Expose "unicastLookup" DNS lookup and "isUnicastIp" utilities

* Use a hardened, HTTP2 compatible, client to perform proxied requests

* changeset

* tidy

* Properly handle compressed streams

* tidy

* update @types/node

* refactor

* Improved error management

* Expose parseContentEncoding() util

* use pipeline from nodejs

* Avoid decoding in read-after-write (if possible)

* Various fixes

* Return Buffer instance from streamToBytes

* fixes

* Add omit() utility

* tidy

* lint

* typo

* Use Buffer instead of ArrayBuffer form pipe through handler result

* optimization

* tidy

* refactor

* increase highWaterMark

* remove un-necessary type check

* Use undici.request where more relevant

* Improve soc in fetch utils

* feedback

* fidy

* tidy

* test refactor

* safer fetch

* changeset

* expose and re-use extractUrl util

* small optimizations

* tidy

* optimization

* build branch

---------

Co-authored-by: dholms <dtholmgren@gmail.com>
2024-09-19 18:24:20 -05:00
Eric Bailey 319aa7cf6d Add isFallback to getSuggestedFollowsByActor method (#2805)
* Add isFallback to `getSuggestedFollowsByActor`

Inferred based on returned `relativeToDid` from the suggestions
response.

* Integrate new params

* Fix logic
2024-09-13 12:37:15 -05:00
Eric Bailey a06634ae57 Email templates at (#2813)
* Add @ to handles, update PLC copy

* Changeset

* lint

---------

Co-authored-by: dholms <dtholmgren@gmail.com>
2024-09-12 11:57:41 -05:00
Eric Bailey 922b94ce37 Update email templates (#2767)
* Update email templates

* Update PLC

* Update test with new email string

* Format

* One more test update

* Use handle instead of identifier to match entryway

* Changeset
2024-09-12 10:53:31 -05:00
github-actions[bot] 85c85350d1 Version packages (#2791)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-11 18:30:47 -05:00
Eric Bailey 33aa0c7222 NUX API (#2810)
* Codegen

* Explicitly add Zod (already a peer dep) and validation to api

* Add Nux methods

* Match naming convention

* Remove id, it won't be used

* Add tests

* Use id instead of name, little clearer

* Update API contracts

* Update tests

* Changeset

* Don't mutate
2024-09-11 18:25:05 -05:00
Foysal Ahamed 62a8225f36 Optionally ack all open subjects from the author with takedown event and get all mod subjects of a user (#2793)
*  Add acknowledgeAllSubjectsOfAccount flag with takedown event

* 📝 better documentation of forAccount and subject params

* 🧹 Cleanup tests

*  Change wording according to review

*  Refactor tests

* ♻️ Rename acknowledge flag
2024-09-11 18:26:53 +02:00
Matthieu Sieben 98711a147a fix(xrpc-server): properly parse & process content-encoding (#2464)
* fix(xrpc-server): properly parse & process content-encoding

* Minor optimization

* code style
2024-09-11 09:46:18 +02:00
Daniel Holmgren bcefbdbc6b Slow down get repos (#2802)
* slow down get repos

* move wait
2024-09-08 20:32:55 -05:00
Daniel Holmgren 6c1ec149cf PDS proxy to appview performance (#2773)
* accept entryway session tokens

* extra check + tests

* build

* build

* pr feedback

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2024-09-06 18:56:37 -05:00
devin ivy 71785d31f7 Ozone: pass through unknown account details (#2794)
* ozone: pass through account info details that may not be known yet

* tidy, build
2024-09-05 21:22:48 -04:00
Eric Bailey c5b765d043 Remove launched feature gate (#2765) 2024-09-05 10:30:37 -05:00
Matthieu Sieben cb4abbb673 Properly validate atproto did:web (#2776)
* Properly validate atproto did:web

* explicit why there is no protection against localhost fetches in did:web resolver
2024-09-05 13:01:48 +02:00
github-actions[bot] 0a37a3cc56 Version packages (#2788)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-04 20:22:22 -05:00
Daniel Holmgren b15dec2f4f Atproto sync package (#2752)
* first pass/port

* reworking

* authenticated commit parsing

* authenticate identity evts

* some testing

* tidy & add firehose to queue

* error handling

* fix test

* refactor sync queue + some tests

* fix race in sync queue

* rm firehose from syncqueue

* add tests for queue utils

* README

* lint readme

* filter before parsing

* pr feedback

* small fix

* changesets

* fix type

* Rework dataplane subscription (#2766)

* working sync package into appview subscription

* add restart method to subscription for tests

* fix another test

* tidy subscription utils/files

* remove dupe property

* tidy after merge

* fix start cursor on subscription

* tweak process full subscription logic

* fixes
2024-09-04 20:18:16 -05:00
Foysal Ahamed 642c7ae968 Improve query perf on moderation event (#2787)
*  Add index on subjectDid and use subjectDid to speed up query

* 📝 Add changeset
2024-09-04 19:48:16 -04:00
devin ivy 2397067b26 Appview: retry dataplane requests on abort (#2783)
appview: retry dataplane requests on abort
2024-09-04 19:36:22 -04:00
github-actions[bot] 71305e8595 Version packages (#2764)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-04 14:23:00 +02:00
Foysal Ahamed e4d41d66fa ❇️ Template language (#2780)
*  Throw specific error for duplicate template name

* 🧹 Cleanup console

*  Throw duplicate template name error from update too

*  Add language to templates

* 📝 Add changeset

*  Add missing event type

*  Add language format in lexicon and error checker in util

* 🚨 fix linter issues
2024-09-04 12:42:39 +02:00
Foysal Ahamed 8252c652e8 🐛 Fix appealed param's usage (#2777)
🐛 Depend on false value instead of null since the input is sent through GET request for queryStatuses
2024-09-02 19:10:54 -04:00
Daniel Holmgren bfbac24312 Repo write commit metadata (#2745)
* schemas & codegen

* impl

* bundle commit & rev
2024-08-30 13:18:43 -05:00
devin ivy befebc0e98 Revise repo write validation for unknown Lexicons (#2748)
* lexicon: validation status result from repo writes

* pds: return  validation status from repo writes, write results from applyWrites

* tidy
2024-08-30 12:59:55 -05:00
Foysal Ahamed 372ed4c519 Apply embed specific tag on subjects for video, image and external (#2703)
*  Refactor subject tagging to facilitate video content tagging

* ♻️ Refactor tag check

*  Fix tagging logic

* ♻️ Refactor content tagger and fix image content type check

*  Add embed tag check for video and external

*  Add tagging for both media and image embed
2024-08-29 18:23:48 +02:00
github-actions[bot] 6bc7faf087 Version packages (#2761)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-28 19:13:54 -04:00