Matthieu Sieben
b3ce11ae2e
OAuth provider UI unification ( #4820 )
...
* refactor
* tidy
* tidy
2026-04-14 16:46:18 +02:00
Eric Bailey
ce87b88e33
Ensure service entrypoints are copied into docker containers ( #4666 )
2026-02-19 17:33:31 -06:00
Matthieu Sieben
0e8d4bb62b
Skip puppeteer download in build and verify steps ( #4652 )
...
* Skip puppeteer download in build and verify steps
* tidy
* tidy
* fix deps
* install puppeteer as pretest step
* cleanup
2026-02-18 17:43:38 +01:00
rafael
162aa5f82a
use node 20.20 in bsky ( #4551 )
2026-01-15 12:28:27 -03:00
Matthieu Sieben
b0ecba0211
Add missin service files from Docker build
2025-12-03 08:58:38 +01:00
Matthieu Sieben
3182731f11
Fix docker build ( #4367 )
2025-11-24 22:07:16 +01:00
Matthieu Sieben
261968fd65
New TS SDK ( #4366 )
...
* lex
* packaging
* moke packaging
* revert test changes
* do not build temp
* tidy
* automatically build the list of `@atproto/lex/com` lexicons
* fix build
* Remove "com" export
* ridy
* remove manifest option
* tidy
* rename
* tidy
* tidy
* tidy
* tests
* add procedure params
* stricter tests
* tidy
* Improve ui8 parsing
* tidy
* tidy
* code split
* code split
* fix reserved keywords conflict
* exclude packages/lex/src/tests/lexicons from lint
* reserved keywords
* safe identifier
* fix build
* move lib.js to src/lib.ts
* Move tests dir
* fix ci ?
* increast lint size
* Remove `Record` type alias for recordsz
* fix package json exports
* Add support for unsafe characters in defs and nsids
* tidy
* token tests
* tidy
* name consistency
* remove unused `unknownKeys` params option
* Fix "moving" keys in `DictSchema` (remove `IntersectionSchema`)
* REview comments
* adapt shebang in `env`
* Make sure union object have their $type property set in typings
* fix
* Improve typing of `UnknownTypedObject`
* lex improvements
* code reorg
* split lex-builder
* tidy
* improve packaging
* rename lex-validation to lex-schema
* lex client
* rename prettifier option
* add lex-client as dependency to "lex"
* Export client as part of main export
* re-write example app using @atproto/lex
* add missing lex-client to tsconfig
* tidy
* add "null" schema type
* Smaller bundle code footprint
* tidy
* correctness
* tidy
* code split and improved testing
* tidy
* refactor common utils
* test all implementations
* improve tests
* tidy
* fix build
* fixes
* tidy
* lint
* tests
* tidy
* fix oauth-example app
* tidy
* tidy
* tests
* tidy
* Return an actual `Uint8Array` from `fromBase64Node`
* tidy
* adapt xrpc-server
* Rename `Lex` to `LexValue`
* minor fixes
* fix tests
* fix tests
* tidy
* fix
* tidy
* tidy
* fix `verifyCidForBytes` implementation
* fix imports
* tidy
* split lex-json in own package
* make base64 tests faster
* Add interop tests
* lint error
* tidy
* tidy
* changeset
* implement lex-resolver and lex-install
* remove need for polyfill
* readme
* more details
* tidy
* allow specifying `service` header on a per request basis
* tidy
* tidy
* tidy
* tidy
* add custom/intersection validation schemas
* tidy
* tidy
* remive un-necessary util
* improve typing of `l.object` output
* make "name" required in lexicon method errors
* fix tests
* tidy
* tidy
* add error responses
* update readme
* add "like " to example
* readme improvements
* tidy
* error management improvements
* Improve error results
* tidy
* refactor
* tidy
* lock
* Update binary to `ts-lex`
* tidy
* tidy
* Add "Overview" section
* fix build
* update bin
* readme-improvements
* paul's feedback
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Initial plan
* Address README review comments
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Clarify client configuration inheritance behavior
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Document allowLegacyBlobs default and compatibility implications (#15 )
* Initial plan
* Add notes about default setting and compatibility for allowLegacyBlobs
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 >
* Rename `Json` to `JsonValue` in lex-json package (#14 )
* Initial plan
* Rename Json to JsonValue in lex-json package and dependent packages
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Remove import alias for JsonValue in ipld.ts
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 >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* review comments and fixes
* Add lex to the dockerfiles
* tidy
* changeset for lex packages
* tidy
* Tidy
* tidy
* tidy
* Move language parsing to lex-data
* tidy
* doctoc
* error handling
* tidy
* tidy
* tidy
* fix
---------
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
2025-11-24 21:01:16 +01:00
Daniel Holmgren
1dd20d3a81
WebSocket Library ( #4348 )
...
* create new websocket lib
* switch out ozone impl
* keepalive test
* remove websocket keepalive code from xrpc-server
* add the package in all the spots
* websocket -> ws-client
* missed ref
* fix import in ozone test
2025-11-18 17:34:41 -06:00
Devin Ivy
513b832482
fix pds and bsky builds, ensure all deps are included in dockerfile
2025-01-07 10:01:51 -05:00
Matthieu Sieben
3365bf8b22
install pnpm through corepack ( #2864 )
...
* install pnpm through corepack
* remove engine from services package.json
2025-01-02 22:04:43 -05:00
rafael
8a4d06c367
Add --heapsnapshot-signal=SIGUSR2 to bsky service ( #2927 )
2024-10-31 23:16:12 -04:00
Daniel Holmgren
c46dc9144a
Fix bsky build ( #2790 )
...
* test build
* see logs
* copy sync pakcage
* tidy
2024-09-04 20:46:56 -05:00
Devin Ivy
ae4d0f9f59
fix dockerfiles, include new tsconfigs
2024-03-18 18:55:38 -04:00
Matthieu Sieben
f689bd51a2
Build system rework ( #2169 )
...
* refactor(crypto): remove circular dependency
* refactor(crypto): expose compress/decompress as part of the DidKeyPlugin interface
* fix(crypto): remove import from private file
* refactor: isolate tsconfig
* fix: remove unused bench file
* chore(repo): remove unused deps
* fix(ozone): properly list dependencies
* fix(services): do lint js files
* fix(services/pds): remove unused deps
* chore(pds): remove bench
* chore(dev-env): remove unused deps
* chore(api): remove bench
* remove unused babel.config.js files
* fix: remove .ts extension from import
* fix(pds): remove imports of src files
* fix(tsconfig): properly list all projects
* fix(dev-env): remove imports of src files
* fix(bsky): remove direct import to crypto src
* fix(api): remove imports to api internals
* chore(build): prevent bundling of built output
* chore(dev): add "dev" script to build in watch mode
* chore(deps): move ts-node dependency where it is actually used
* fix(deps): add dev-env as project dependency
* fix(xrpc-server): properly type kexicon
* fix(bsky): improve typings
* fix(pds): fully type formatRecordEmbedInternal return value
* fix(repo): remove imports from @ipld/car/api
* feat(dev-env): re-export BskyIngester
* fix: properly lint & type jest config & test files
* fix(ci): test after build
* fix(types): use NodeJS.Timeout instead of NodeJS.Timer
* fix(bsky): make types exportable
* fix(ozone): make types exportable
* fix(xrpc-server): make types exportable
* fix(xprc-server): make code compliant with "node" types
* fix(xrpc-server): avoid accessing properties of unknown
* chore(deps): update @types/node
* feat(tsconfig): narrow down available types depending on the package's target environment
* fix(pds): remove unused prop
* fix(bsync): Database's migrator not always initialized
* fix(dev-env): remove unreachable code
* fix(xrpc-server): remove unused import
* fix(xrpc-server): mark header property as abstract
* fix(pds): initialize LeakyTxPlugin's txOver property
* fix(bsky): initialize LeakyTxPlugin's txOver property
* fix(bsky): remove unused migrator from DatabaseCoordinator
* fix(bsky): Properly initialize LabelService's cache property
* fix(ozone): Database's migrator not initialized
* fix(ozone): initialize LeakyTxPlugin's txOver property
* fix(crypto): ignore unused variable error
* feat(tsconfig): use stricter rules
* feat(tsconfig): enable useDefineForClassFields
* feat(xrpc-server): add support for brotli incoming payload
* fix(xrpc-server): properly parse & process content-encoding
* fix(common:stream): always call cb in _transform
* tidy/fix tests and service entrypoints
* Revert "fix(xrpc-server): properly parse & process content-encoding"
This reverts commit 2b1c66e153820d3e128fc839fcc1834d52a66686.
* Revert "feat(xrpc-server): add support for brotli incoming payload"
This reverts commit e710c21e6118214ddf215b0515e68cb87299a952.
* remove special node env for tests (defaults to jest val of "test")
* kill mute sync handler on disconnect
* work around connect-es bug w/ request aborts
* style(crypto): rename imports from uint8arrays
* fix update package-lock
* fix lint
* force hbs files to be bundled as cjs
* fix: use concurrently instead of npm-run-all
npm-run-all seems not to be maintained anymore. Additionally, concurrently better forwards signals to child processes.
* remove concurrently alltogether
* ignore sqlite files in services/pds
* fix verify
* fix verify
* tidy, fix verify
* fix blob diversion test
* build rework changeset
---------
Co-authored-by: Devin Ivy <devinivy@gmail.com >
2024-03-18 17:10:58 -04:00
Jake Gold
2e08b691bb
Add runit to the services/bsky Dockerfile ( #2254 )
...
add runit to the services/bsky Dockerfile
2024-02-29 14:16:50 -08:00
Daniel Holmgren
f65de89eed
Feature: Appview v2 ( #1924 )
...
* add buf & connectrpc, codegen client
* lint
* prettier ignore
* fix prettier ignore
* tidy & add tests
* filler commit
* rm filler
* server boilerplate
* follows impl
* posts impl
* posts & likes impl
* repost impl
* profiles & handle null values
* list impl
* mutes impl
* blocks impl
* misc
* feed gen impl
* label impl
* notifs impl
* feeds impl
* threads impl
* early sketchwork
* wip
* stub out thick client
* in-progress work on hydrator
* tweak
* hydrate profile labels, detail lists
* feedgen hydration
* protobuf tweaks
* more protobuf tweaks
* wip
* snake case
* moar snake case
* tidy actor hydration
* tidy parsing
* type fixes, renaming, comments in hydrator
* hydrate list items and likes
* hydrate notifications
* feed hydration
* graph & label hydration
* more record protobufs
* pluralize
* tweak pbs
* use new methods
* Setup dataplane grpc client/mock server (#1921 )
* add buf & connectrpc, codegen client
* lint
* prettier ignore
* fix prettier ignore
* tidy & add tests
* add record getter mocks
* post view hydration
* fix up mock dataplane to match new protos
* missed one
* wire up dataplane in ctx & dev-env
* adding some basic views
* feed hydration, add blocks to post hydration
* pass over notification hydration
* tidy
* merge
* implement getProfile
* hydrate post aggregation and viewer state
* fix
* fix codegen
* get some tests passing!
* add takedowns & some like bugfixing
* all profile tests passing!
* likes test
* follow endpoints using data plane
* reorg follow block rules
* reposts
* post views!
* implement getList w/ dataplane caveat
* adjust dataplane getListMembers to return listitem uris
* implement getListMutes and -Blocks w/ dataplane
* suggestions
* timeline
* misc view fixes
* view fixes for mutes, self-mute/block
* author feed
* feed gen routes
* tidy
* misc block/mute fixes
* list feed & actor likes
* implement getLists, fix some empty cursors
* implement getMutes, empty profile description fix
* implement getBlocks, block application fix
* implement getSuggestedFollowsByActor, needs some fixes
* feed generation
* search routes
* threads
* tidy
* fix some snaps
* fix getSuggestedFollowsByActor
* implement listNotifications
* implement getUnreadCount w/ dataplane
* implement notifications.updateSeen w/ dataplane
* 3rd party blocking tests
* blocked profile viewer
* add search mocks
* refactor getFeed
* createPipeline -> createPipelineNew
* basic replygating functionality on dataplane w/o filtering violating replies
* hack threadgates into dataplane, apply gates
* deterministic thread orders in dataplane
* misc cleanup around dataplane
* upgrade typescript to v5.3
* update typescript linter deps
* sync bsky proto, codegen
* update dataplane, sync with bsky proto updates
* remove indexer, ingester, daemon, moderation services from appview
* convert more bsky internals to dataplane, remove custom feedgens, implement mute/unmuting in mock dataplane
* remove bsky services. db and indexing logic into mock dataplane.
* remove tests not needed by appview v2, misc reorg
* add basic in-mem repo subscription to dataplane mock
* fix dev-env, bsky tests, bsky build
* cull bsky service entrypoint
* add bsky service readme
* build
* tidy
* tidy, fix pds proxy tests
* fix
* fix bsky entrypoint deps
* support http2 grpc client
* build
* fix dataplane bad tls config/default
* support multiple dataplane urls, retry when unavailable
* build
* tidy/fix
* move dataplane mock tests into their own dir
* cover label hydration through timeline test
* bring back labels in appview tests
* remove unused db primary/replica/coordinator from bsky dataplane
* bsky proto add cids to contracts, buf codegen
* sync-up bsky data-plane w/ codegen updates
* start using dataplane interaction endpoints
* add file
* avoid overfetching from dataplane, plumb feed items and cids
* pass refs through for post viewer state
* switch list feeds to use feed item in dataplane
* handle not found err on get-thread dataplane call
* support use of search service rather than dataplane methods
* mark some appview v2 todos
* tidy
* still use dataplane on search endpoints when search service is not configured
* fix pds test
* fix up bsky tests & snaps
* tidy migrations
* fix appview-v2 docker build
* Support label issuer tied to appview v2 (#2033 )
support label issuer tied to appview
* Appview v2: handle empty cursor on list notifications (#2017 )
handle empty cursor on appview listnotifs
* Update appview v2 to use author feed enum (#2047 )
* update bsky protos with author feed enum, misc feed item changes
* support new author feed enums in dataplane
* fix build
* Appview v2: utilize sorted-at field in bsky protos (#2050 )
utilize new sorted-at field in bsky protos
* remove all dataplane usage of GetLikeCounts, switch to GetInteractionCounts
* Appview v2, sync w/ changes to protos (#2071 )
* sync bsky protos
* sync-up bsky implementation w/ proto changes
* Appview v2 initial implementation for getPopularFeedGenerators (#2072 )
add an initial implementation for getPopularFeedGenerators on appview v2
* merge
* fixes
* fix feed tests
* fix bsync mock
* format
* remove unused config
* fix lockfile
* another lockfile fix
* fix duplicate type
* fix dupplicate test
* Appview v2 handling clearly bad cursors (#2092 )
* make mock dataplane cursors different from v1 cursors
* fail open on clearly bad appview cursors
* fix pds appview proxy snaps
* Appview v2 no notifs seen behavior (#2096 )
* alter behavior for presenting notifications w/ no last-seen time
* fix pds proxy tests
* Appview v2 dataplane retries based on client host (#2098 )
choose dataplane client for retries based on host when possible/relevant
* don't apply negated labels
* display suspensions on actor profile in appview v2
* Appview v2 use dataplane for identity lookups (#2095 )
* update bsky proto w/ identity methods
* setup identity endpoints on mock dataplane
* move from idresolver to dataplane for identity lookups on appview
* tidy
* Appview v2: apply safe takedown refs to records, actors (#2107 )
apply safe takedown refs to records, actors
* Fix timing on appview v2 repo rev header (#2113 )
fix timing on appview repo rev
* fix post thread responses
* Appview v2 don't apply 3p self blocks (#2112 )
do not apply 3p self-blocks
* Appview v2 search for feed generators (#2118 )
* add protos for feedgen search
* support feed search on getPopularFeedGenerators
* Appview v2 config tidy (#2117 )
* remove mod and triage roles from appview
* rename cdn and search config
* remove custom feed harness from appview v2
* Appview v2: don't apply missing modlists (#2122 )
* dont apply missing mod lists
* update mock dataplane
* Update packages/bsky/src/hydration/hydrator.ts
Co-authored-by: devin ivy <devinivy@gmail.com >
* refactor & document a bit better
* fix up other routes
---------
Co-authored-by: devin ivy <devinivy@gmail.com >
* Appview v2 enforce post thread root boundary (#2120 )
* enforce post thread root boundary
* test thread root boundary
* Appview v2 fix admin environment variable (#2137 )
fix admin env in appview v2
* Remove re-pagination from getSuggestions (#2145 )
* remove re-pagination from getSuggestions
* fix test
* Adjust wording for account suspension (#2153 )
adjust wording for account suspension
* Appview v2: fix not-found and blocked uris in threads (#2201 )
* fix uris of not-found and blocked posts in threads
* update snaps
* ✨ Show author feed of takendown author to admins only (#2197 )
* fold in cid, auth, tracing, node version changes
* remove dead config from bsky service entrypoint
* build
* remove ozone test codepaths for appview v2
* tidy, docs fix
---------
Co-authored-by: Devin Ivy <devinivy@gmail.com >
Co-authored-by: Foysal Ahamed <foysal@blueskyweb.xyz >
2024-02-27 15:22:55 -05:00
Eric Bailey
90e8325e5f
pnpm setup ( #1532 )
...
* use pnpm
* fix dependency issues, replace yarn and lerna scripts
* remove the main/dist scripts
* update Dockerfiles
* use pnpm
* fix dependency issues, replace yarn and lerna scripts
* remove the main/dist scripts
* update Dockerfiles
* update bin script
* remove unused zod dep
* fix type errors in pds
* add types prop to packages
* remove unused, bump lock
* fix test running
* build before test
* fix pino types
* format
* pds depends on dev-env in test
* refer to src instead of built packages
* pds relies on bsky in test too
* remove yarn.lock
* add -r flag to root test
* test push to aws
* remove docker test
* add publishConfig to new package
* move services to top level dir
(cherry picked from commit f5012bec33435a4473e9960066807623334f3aff)
* update workflow paths
(cherry picked from commit 5c70f0176d381ca35d6be10cfa173e22373a5b5d)
* add main-to-dist script
* use script in all packages, remove old Dockerfiles
* remove old bsky service
* remove newline
* test container builds
* Revert "test container builds"
This reverts commit c228611f5e8e1624d4b124be4976c49590130f43.
* remove unused config
* test build containers
* pnpm in syntax
* bump dd-trace
* shamefully hoist
* even more shame
* hoist, externalize deps
* clean install for prod and smaller containers
* dont build branches
---------
Co-authored-by: dholms <dtholmgren@gmail.com >
2023-09-05 18:45:49 -05:00