1809 Commits

Author SHA1 Message Date
Eric Bailey
8f22a2521c
Update data source for getSuggestedFollowsByActor ()
* Update lex

* Codegen

* Set up StatSig

* Integrate new implementation into old endpoint

* Add todo to crypto module

* Format

* Specify StatSig env

* Downgrade pnpm to match CI, bump lock

* Catch StatSig errors

* Use sep env

* Reset lockfile

* Re-add new dep using correct pnpm version

* tidy

* Integrate into AppContext and lifecycle

* Use camelCase

* Switcheroo

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

* Init prior to server listen start

* Move test env check up to server config

* Add logger and log

* Better comment

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2024-07-11 17:14:54 -04:00
Daniel Holmgren
2f40203fb4
Add in-memory did cache to Ozone backend ()
* add ozone in-memory did cache

* changeset
2024-07-10 16:21:30 -05:00
Hailey
7761a463b2
Filter out reference lists from getLists ()
* filter out reference lists

* appview: use a rule to exclude reference lists from getLists

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2024-07-08 22:25:12 -04:00
bnewbold
aab465deb7
lexicons: add missing ozone Tag event type to unions ()
* lex: add missing tag events to unions

* make codegen
2024-07-08 18:54:27 -07:00
Foysal Ahamed
34c1b9bd7e
Add ozone proxy for getLikes and getRepostedBy ()
*  Add getLikes proxy through ozone

*  Add getRepostedBy proxy

* 🧹 Cleanup

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2024-07-03 19:02:11 -04:00
devin ivy
1737d19b04
Upgrade pnpm/action-setup in workflows ()
upgrade pnpm/action-setup in workflows
2024-07-03 18:21:34 -04:00
Foysal Ahamed
7083c49cc3
Add proxy for user typeahead through ozone () 2024-07-03 23:21:38 +02:00
dan
d0b4d71c4b
Fix development commands ()
Set NODE_ENV to `development` when running dev commands
2024-07-03 11:22:23 +02:00
Hailey
ed58101790
Add starter packs to post hydration ()
* add hydration state

* add view to post

* oops. `graph.defs` not `starterpack.defs`

* add tests, update snapshots

* update record lexicon

* codegen

* add changeset

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2024-07-02 17:52:28 -04:00
Eric Bailey
e54518f69b
Social proof blocks ()
* Add bidirectional blocks state

* Filter out edge blocks from knownFollowers

* Add tests

* Destructure map

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

* Cleanup

* Consolidate known followers tests

* Clean up seed, nice naming, update tests

* Add mixed test

* Add mergeNestedMaps, add tests

* Appease linting gods

* Clarify naming

* minor tidy

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2024-07-02 17:48:14 -04:00
devin ivy
f05539db4c
Appview: apply hosting status in getRecord ()
appview: apply hosting status in getRecord
2024-07-02 17:43:21 -04:00
Yoshihiro Sugi
0529bec991
Add labelersPref to getPreferences union return types ()
* Add missing getPreferences union types

* Add changeset
2024-07-02 09:40:52 -07:00
github-actions[bot]
d2e757a700
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-01 18:28:42 -07:00
Paul Frazee
bc861a2c25
Add new preference and api for bsky app state; also put preference updates within transactional lock regions ()
* Add bskyAppState preference and api for dismissed nudges

* Add tests

* Wrap preference updates in an lock region to avoid clobbering updates

* Move to queuedNudges and activeProgressGuide

* Fix type error

* Update test

* Add changeset
2024-07-01 18:23:21 -07:00
bnewbold
52a596320a
remove mentions of sandbox ()
* README: remove mention of sandbox

* pds: update example .env to not reference sandbox
2024-06-27 11:43:58 -07:00
devin ivy
4619ef8cad
Appview: simple fix for no-hosted known followers ()
appview: simple fix for no-hosted known followers
2024-06-26 19:37:59 -04:00
bnewbold
d56234b37d
bsky: syntax typo in README () 2024-06-25 13:19:59 -05:00
Samuel Newman
4ddf4578f5
Use detailed profile view for getSuggestions ()
* present detailed profile view for getSuggestions

* change lexicon to profileViewDetailed

* finish running the codegen

* update snapshot test for getSuggestions

* Revert "change lexicon to profileViewDetailed"

This reverts commit f0b167d180716f8d6d2cd14316b50d29c2690140.

Revert "update snapshot test for getSuggestions"

This reverts commit 21609516afcbcda5f86566eb9053d0b8db3834b0.

Revert "finish running the codegen"

This reverts commit 8bf3150524fd8e479e76e7bf35d5a53cc3ae46e0.

* use basic profile + knownfollowers

* update snapshot test

* add createdAt to snapshot
2024-06-25 11:13:36 -04:00
github-actions[bot]
e956ac06be
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-24 21:52:50 -04:00
Devin Ivy
615a96ddc2 changeset 2024-06-24 21:46:35 -04:00
devin ivy
af7d3912a3
Starter packs ()
* lexicon: initial starter pack record lexicons

* lexicon: first pass on views for starter packs

* lexicon: add starter pack query endpoints, misc fixes

* lexicon: add starter pack related fields to profile views

* lexicon: codegen

* api prerelease

* bsky: protos for starter packs

* appview: implement starter pack endpoints in dataplane, protos update

* appview: starter pack hydration and view, mock dataplane indexing

* appview: wire-up starter pack graph endpoints

* appview: test basic starter packs functionality, update dev-env

* fix snaps for profile createdAt

* appview: fix list item count for starter packs in dataplane

* fix ozone snaps, tidy

* appview: reorg list aggs for starter packs

* appview: starter pack lexicon and proto tweaks, move around aggregations

* appview: fix views and snaps

* api prerelease

* fix snaps

* appview: misc proto updates for starter packs, snaps

* appview: add starter pack counts to profile detail

* build

* api prerelease

* pds: starter pack slur detection

* lexicon: starter pack notifications and batch fetch

* appview: starter pack notification and batch fetch

* appview: add starterpack-joined notif to dataplane and test

* api prerelease

* ozone: fix snaps

* pds build

*  Proxy starterpack requests through ozone and include takedowns ()

*  Proxy starterpack requests through ozone and include takedowns

* 🧹 Cleanup

*  Commit snapshots

*  Update snapshot

* lexicon: move starterpacks back to TIDs

* changeset

---------

Co-authored-by: Foysal Ahamed <foysal@blueskyweb.xyz>
2024-06-24 21:04:33 -04:00
Matthieu Sieben
fc10881f76
Add exception for HTTP clients that set a content-type when there is no body ()
* fix(xrpc-server): add exception for HTTP clients that set a content-type when there is no body

* feat(xrpc-server): allow empty body on endpoints not expecting any input

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

* fix(xrpc-server): properly test empty body requests

* tidy

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2024-06-24 16:39:29 -04:00
Ryan Barrett
aed98cc7a5
fix typo in com.atproto.sync.listBlobs lexicon description ()
thanks!
2024-06-23 22:48:33 -07:00
tsinghuacoder
15cc6ff37c
chore: fix some comments ()
Signed-off-by: tsinghuacoder <tsinghuacoder@icloud.com>
2024-06-20 17:04:47 -07:00
github-actions[bot]
bd8c9eb004
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-19 11:47:18 +02:00
Foysal Ahamed
3ad0519961
Ozone team member manager ()
* 🚧 Proposal for moderator manager lexicons

*  CRUD for moderator management works

*  Add profile view to moderator user list

*  Seed mod users from env var to db

*  Adjust tests

*  Update snapshots

*  Fix type and lexicon token issues

*  Add pagination to listUsers

*  Use sort order in pagination

* 📝 Change error name

*  Update snapshots

*  seed mods in sync to avoid re-order

* 🧹 Remove unnecessary import

* 🐛 Re-run codegen

* 🧹 Some cleanup

* 🧹 Cleanup unnecessary properties on auth-verifier

*  Rename terminologies from moderator to team and member

* 🧹 Cleanup

*  Allow admin tokens to update/add member

*  Delete members in transaction

*  Use db transactions and move profile hydration to the service layer

*  Add test for addMember endpoint

* 🐛 wait on adding admin DID

*  Do not allow updating/deleting service owner and always give service owner admin access

* 🧹 Cleanup

*  Make timestamp columns non null

* 🧹 Cleanup

*  Update mod role definition in getConfig

*  Deletion and update guards

* 🐛 don't prefill service did

* 📝 Add changeset
2024-06-18 18:47:20 -04:00
github-actions[bot]
5f45e7df48
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-18 13:55:53 -07:00
Paul Frazee
ea0f10b5d0
Remove SDK enforcement of max labelers (NOTE: still enforced server side) ()
* Remove SDK enforcement of max labelers (NOTE: still enforced server side)

* Add changeset
2024-06-18 13:40:57 -07:00
github-actions[bot]
8b4f585293
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-18 15:59:23 -04:00
Daniel Holmgren
3c76437e35
Tidy ozone config ()
remove entryway agent from ozone cfg
2024-06-18 14:54:56 -05:00
Devin Ivy
0576280aad fix pds build 2024-06-18 15:47:37 -04:00
Foysal Ahamed
37c5719748
Add proxy route on ozone for email search endpoint on entryway ()
*  Add proxy route on ozone for email search endpoint on entryway

* Use entrywayAuth instead of appviewAuth

Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com>

---------

Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com>
2024-06-18 21:29:02 +02:00
Matthieu Sieben
a8d6c11235
🚧 OAuth2 - Authorization Server ()
* chore(deps): update zod

* chore(deps): update pino to match entryway version

* chore(tsconfig): remove truncation of types through noErrorTruncation

* add support for DPoP token type when logging

* fix(bsky): JSON.parse does not return value of type JSON

* fix(pds): add res property to ReqCtx

* fix(pds): properly type getPreferences return value

* chore(tsconfig): disable noFallthroughCasesInSwitch

* refactor(pds): move tracer config in own file

* feat(dev-env): start with "pnpm dev"

* feat(oauth): add oauth provider & client libs

* feat(pds): add oauth provider

* chore: changeset

* feat: various fixes and improvements

* chore(deps): update better-sqlite3 to version 10.0.0 for node 22 compatibility

* chore(deps): drop unused tslib

* fix(did): normalize service IDs before looking for duplicates

* fix(did): avoid minor type casting

* fix(did): improve argument validation

* fix(fetch): explicit use of negation around number comparison

* fix(oauth-provider): improve argument validation

* feat(did): add ATPROTO specific "isAtprotoDidWeb" method

* feat(rollup-plugin-bundle-manifest): add readme

* feat(lint): add eqeqeq rule (only allow == and != with null)

* fix(oauth-client-browser): typo in gitignore

* fix(oauth-provider): properly name error class file

* fix(oauth-provider): remove un-necessary useMemo

* fix(did-resolver): properly build did:web document url

* fix(did-resolver): remove unused types

* fix(fetch): remove unused utils

* fix(pds): remove unused script and dependency

* fix(oauth-provider): simplify isSubPath util

* fix(oauth-provider): add InvalidRedirectUriError static constructor

* fix(jwk): improve JWT validation to provide better error messages and distinguish between signed and unsigned tokens

* fix(pds): use "debug" log level for fetch method

* fix(pds): allow access tokens to contain an unknown "typ" claim (with the exception of "dpop+jwt")

* fix(jwk): remove un-necessary code

* fix(pds): account for whitespace chars when checking JSON

* fix(pds): remove oauth specific config

* fix(pds): run all write queries through transaction or executeWithRetry
fix(pds): remove outdated comments
fix(pds): rename used_refresh_token columns & added primary key
fix(pds): run cleanup task through backgroundQueue
fix(pds): add device.id foreign key to device_account
fix(pds): add comment on cleanup of used_refresh_token
fix(pds): add primary key on device_account

* fix(oauth-provider:time): simplify constantTime util

* fix(pds): rename disableSsrf into disableSsrfProtection

* fix(oauth-client-react-native): remove incomplete package

* refactor(pds): remove status & active from ActorAccount

* fix(pds): invalidate all oauth tokens on takedown

* fix(oauth-provider): enforce token expiry

* fix(pds): properly support deactivated accounts

* perf(pds:db): allow transaction function to be sync

* refactor(psq:account-manager): expose only query builders & data transformations utils from helpers

* fix(oauth-provider): imports from self

* fix(ci): add nested packages to build artifacts

* style(fetch): rename TODO into @TODO

* style(rollup-plugin-bundle-manifest): remove "TODO" from comment

* style(oauth-client): rename TODO into @TODO

* style(oauth-provider): rename TODO into @TODO

* refactor(oauth-client): remove "OAuth" prefix from types

* fix(oauth-client-browser): better type SessionListener

* style(oauth): rename TODO into @TODO

* fix(oauth-provider): enforce provider max session age

* fix(oauth-provider): check authentication parameters against all client metadata

* fix(api): tests

* fix(pds): remove .js from imports for tests

* fix(pds): change account status to match tests

* chore(deps): make all packages depend on the same zod version

* fix(common-web): remove un-necessary binding of Checkable to "zod"

* refactor(jwk): infer jwt schema from refinement definition

* fix(handle-resolver): allow resolution errors to propagate
docs(handle-resolver): better handling of DNS resolution errors
fix(handle-resolver): properly handle DOH responses

* fix(did): service endpoint arrays must contain "one or more" element

* refactor(pipe): simplify implementation

* fix(pds): add missing DB indexes

* feat(oauth): Resolve Authorization Server URI through Protected Resource Metadata

* style:(oauth-client): import order

* docs(oauth-provider:redirect-uri): add reference url

* feat(oauth): implement "OAuth Client ID Metadata Document" from draft-parecki-oauth-client-id-metadata-document-latest internet draft

* feat(oauth-client): backport changes from feat-oauth-client

* docs(simple-store): improve comments

* feat(lexicons): add iterable capabilities

* fix(pds): type error in dev mode

* feat(oauth-provider): improved error reporting

* fix(oauth-types): allow insecure issuer during tests

* fix(xrpc-server): allow upload of empty files

* fix: lint

* feat(fetch): keep request reference in errors
feat(fetch): utilities improvements

* fix(pds): allow more than one session token per user

* feat(ozone): improve env validation error messages

* fix(oauth-client): account for DPoP when checking for invalid_token errors

* fixup! feat(fetch): keep request reference in errors feat(fetch): utilities improvements

* fixup! feat(fetch): keep request reference in errors feat(fetch): utilities improvements

* fix(oauth): various validation fixes
feat(oauth): share client_id validation and parsing utilities between client & provider

* feat(dev-env): fix ozone port number

* fix(fetch-node): prevent fetch against invalid domain names

* fix(oauth-provider): add typings for psl dep

* feat(jwk): make type def compatible with TS 4.x

* fix(oauth): fixed various spec compliance
fix(oauth): return "sub" in refresh token response
fix(oauth): limit token validity for third party clients
fix(oauth): hide client image when not trusted

* fix(oauth): lint

* pds: switch changeset to patch, no breaking changes

* changeset and config for new oauth deps

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2024-06-18 15:11:37 -04:00
Daniel Holmgren
80dae83540
Build bsync on main ()
build bsync
2024-06-13 17:32:48 -05:00
Daniel Holmgren
1a629420d6
bsync: allow mutes on posts () 2024-06-13 17:29:49 -05:00
github-actions[bot]
438dc8e0b0
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-13 16:03:41 -05:00
Daniel Holmgren
7c1973841d
Thread mutes ()
* schemas

* protos

* implementation

* add filtering on ingestion

* test

* add thread viewer state to post views

* update snaps

* changeset

* fix threadgating test
2024-06-13 15:30:49 -05:00
Daniel Holmgren
fcae4c5b91
Scope put prefs by AuthScope ()
scope put prefs by authscope
2024-06-11 16:04:38 -05:00
github-actions[bot]
708217d6bf
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-11 12:40:45 -05:00
Eric Bailey
58abcbd8b6
Social proof ()
* lexicon: initial social proof lexicons

* Social proof ()

* Update deactivation through updateSubjectStatus ()

* attach hosting status to entryway session responses

* integrate account deactivation in with entryway

* tidy

* tidy

* chnageset

* update changeset

* Version packages ()

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

* lexicon: initial social proof lexicons

* feat: add generated types for social proof

* feat: social proof implementation

---------

Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Devin Ivy <devinivy@gmail.com>

* Rename

* Codegen

* Implementation, renaming

* Remove only

* Add depth resolution param, update snaps

* Be smart like Devin

* Snaps

* Revert lock changes

* Snaps

* Snaps

* Snaps

* Add changeset

* Snaps

* Revert lock changes

* Add test for basic profile

* Add getKnownFollowersEndpoint

* Make it zero

* Return max of 5

* Remove isNoHosted

* Use array and index

* Clarify ternary

* Remove includeKnownFollowers from views

* Revert "Return max of 5"

This reverts commit 1a27eb74a2d327e094c30dbe8e4314472c0d7aa7.

* Ope missed a param

* Rename view method

* Don't return viewer if undefined

* Format

* Clean up hydrator

* Snaps

* Update proto, use batch endpoint

* Format

* Fix proto, codegen

* Remove unneeded promise

* Move hydrator into route handler

* Add hydrationLogger

* Handle failures of dataplane getKnownFollowers

* Use .at(), defer to params.limit

* Create instance of FollowsFollowing for better type support

* Support knownFollowers in mergeStates

* Add back fat-fingered deleted imports

* Filter out blocks

* Codegen lex

* Naive block filtering

* Remove whitespace edits

* Update changeset desc

* Remove whitespace

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
Co-authored-by: dirkmc <dirkmdev@gmail.com>
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-11 12:34:32 -05:00
Daniel Holmgren
71e3edc8a4
Fix some linting warnings ()
fix some linting warnings
2024-06-10 12:59:21 -05:00
devin ivy
6e323fb6b5
Fix flaky tests surrounding ozone/pds ()
fix flaky tests surrounding ozone/pds
2024-06-07 13:04:22 -04:00
github-actions[bot]
b82efd5d53
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-05 14:59:20 -04:00
Foysal Ahamed
2b21b5be29
Search accounts by normalized email ()
*  Search accounts by email domain works

*  Add Search against normalized email column

* 🐛 Fix pagination

*  Make email field optional in the response

* 🧹 Cleanup implementation

* 🧹 More cleanup

* 🧹 Cleanup and reuse accountView for searchAccounts response

* 📝 Add changeset

*  Add min max and default to limit
2024-06-05 11:40:16 -04:00
Foysal Ahamed
8d2d3ac9e0
Add server.getConfig endpoint to ozone ()
*  Add server.getConfig endpoint to ozone

*  Fix tests

*  Cleanup snapshot

* 🧹 Tidy up lexicons

*  Change role values to match with upcoming mod-manager roles

*  Add chat service config

* Update lexicons/tools/ozone/server/getConfig.json

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

*  Update lexicons

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2024-06-05 11:05:21 -04:00
Daniel Holmgren
5007d74ce7
Forward deactivation for PDSs running behind an entryway ()
* Forward deactivation to entryway

* comments
2024-06-04 18:04:43 -05:00
Daniel Holmgren
d8e2fefa98
Emit deactivation event on updateSubjectStatus ()
* emit account event on updateSubjectSTatus

* changeset

* tidy

* dont double emit

* rerun CI

* rerun CI
2024-06-04 16:45:01 -05:00
github-actions[bot]
5441fbde9e
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-04 10:57:52 -05:00
Daniel Holmgren
9495af23bd
Update deactivation through updateSubjectStatus ()
* attach hosting status to entryway session responses

* integrate account deactivation in with entryway

* tidy

* tidy

* chnageset

* update changeset
2024-06-04 10:33:47 -05:00
github-actions[bot]
c5d36d5ba2
Version packages ()
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-31 16:44:11 -05:00