* Setup dockerization of postgres db
* Fix typo
* Setup postgres dialect config in pds, fix migrations for pg
* Convert home and author feed to work on pg
* Convert pds follow views to work on pg
* Convert pds liked-by and notifications views to work on pg
* Unify bigint handling between sqlite and pg
* Convert pds account, crud, and profile, reposts, thread views to work on pg
* Ensure a more complete reset of containers/volumes in with-test-db.sh, set libpq env vars
* Add readme for dockerized postgres
* Fix build issues
* Improve lex-cli to remove files that no longer exist
* Update lex-cli to use new ns
* Rename lexicons: todo.adx to com.atproto, todo.social to app.bsky
* Improve lex-cli md generator
* kysely interfaces
* migrated record plugins
* db types + notifications
* index record emthods on db
* Convert author feed to kysely
* rest of db index
* Convert home feed to kysely
* Remove references to sqlite3 package
* Convert liked by view to kysely
* create tables
* Convert notif count view to kysely
* move scrypt to own file
* Fix typo
* Convert notifs view to kysely
* Convert post thread to kysely
* Convert profile view to kysely
* accounts tests passing!
* Convert reposted by view to kysely
* Convert followers view to kysely
* Convert follows view to kysely
* Convert notifs last seen to kysely
* Tidy
* Re-enable social methods
* Minor tidy of author and home feed queries
* Tidying and minor fixes for pds view queries
* fix up crud, disabled PUTs for now
* Fix profile view, use nulls in table interfaces
* Fix pds follow/follower views, remove special db date logic
* Fix pds notification count view
* Fix pds feed views, reposted by join
* Remove typeorm from server
Co-authored-by: Devin Ivy <devinivy@gmail.com>
* Create basic seed for server based on view tests
* Utilize basic seed in view tests
* Split-up pds view tests
* Trying out snapshot testing for author feed
* Tidy
* Generalize normalization for snapshot testing
* Snapshot test home feed, fix inclusion of own reposts
* Fix typo
* Add follow snapshot tests, fix ordering and db date handling
* Add like snapshot tests, fix ordering and db date handling
* Add notification snapshot tests
* Add profile snapshot tests
* Add reposts snapshot tests, fix ordering and db date handling
* Add thread snapshot tests
* Fix typo
* Remove unneeded space
* ensure we understand the key type a user is rotating to
* race condition test
* handle username/pds with or without https://
* fix a quick types issue
* adding logging
* fix better-sqlite3 build issues
* bring did-resolver up to date w plc
* fix pds tests for plc
* Schemas and scaffolding for reset password methods
* Initial handler for todo.adx.requestAccountPasswordReset
* Initial handler for todo.adx.resetAccountPassword
* Implement server mailer
* Configure server for mailer and testing w/ mailer
* Test happy path of pass reset, fix reset bug
* Update lex to fix types bug for requestAccountPasswordReset
* Fix handlebars reference to config getters
* Test some negative password reset flows
* Minor cleanup to pass reset
* Tidy handlebars file with prettier, supporting double-quotes for html
* Fix esbuild of server for mailer templates, fix test issue
* Misc tidying for password reset
* Misc tidying for password reset
* Enforce single user per email, test unique email and username
* Remove resolved TODO re: duplicate emails
* Schemas and scaffolding for reset password methods
* Initial handler for todo.adx.requestAccountPasswordReset
* Initial handler for todo.adx.resetAccountPassword
* Implement server mailer
* Configure server for mailer and testing w/ mailer
* Test happy path of pass reset, fix reset bug
* Update lex to fix types bug for requestAccountPasswordReset
* Fix handlebars reference to config getters
* Test some negative password reset flows
* Minor cleanup to pass reset
* Tidy handlebars file with prettier, supporting double-quotes for html
* Fix esbuild of server for mailer templates, fix test issue
* Misc tidying for password reset
* Misc tidying for password reset
* Fix ordering of reposts in feed
* Preserve separate posts and reposts in feeds
* Include users' own posts in their feed
* Remove unused dep from test file
* Split getFeed() into getAuthorFeed() and getHomeFeed()
* Remove unused getFeed codegen file
* Unify queries for getHomeFeed and getAuthorFeed
* Factor out common query parts for building feeds
* Test firehose and default feed algorithm
* Fix api tsconfig reference
* notification methods on tables
* process notifs
* last seen
* notifs xrpc methods
* seen notifs route
* register route
* notifications tests
* rm unused db method
* parsing dids to something we understand
* revamping did-sdk with did-resolver
* testing
* fixing some thigns & finishing tests
* fix type error & remove old test
* wip
* create did on server & add email
* check username available & store email
* better test utils
* remove did:test
* allow authstore to sign for controlled dids
* plc ucan integration wip
* wip
* finished auth lib refactor
* integrating to repo & server
* couple fix ups
* couple more fixups
* disable dev-env test
* comments
* parsing dids to something we understand
* revamping did-sdk with did-resolver
* testing
* fixing some thigns & finishing tests
* fix type error & remove old test
* wip
* create did on server & add email
* check username available & store email
* better test utils
* remove did:test
* allow authstore to sign for controlled dids
* Add lexicon doc
* Update error-handling spec
* Implement new error-behaviors in xrpc and xrpc-server packages
* Update lexicon and lex-cli packages to add xrpc error behaviors
* Generate new API and test an error behavior
* Update dev-env to use new authorization system
* Add did and name to createSession response body
* Handle not found in getProfile api
* Stop putting a timestamp in the generated code, ffs
* Add todo.adx.getAccountsConfig
* Remove timestamps from schema codegen
* parsing dids to something we understand
* revamping did-sdk with did-resolver
* testing
* fixing some thigns & finishing tests
* fix type error & remove old test
* Refactor xrpc to use native fetch and be able to replace it (for react native)
* Factor out uri package
* Fixes to getPostThread
* Manually construct indexedAt and receivedAt timestamps to ensure theyre properly encoded
* Add ServerConfig class
* Update todo.adx.resolveName spec to make name param optional
* Add .test username and did:test behaviors
* Document name/did resolution and the .test/did:test behaviors
* Move did:test registry into server config to share across servers in the dev env
* Rework the server package structure to make it easier to include as a library
* Fix dev-env build issues
* Give better error when repo API is called on an invalid DID
* Add mock data environment to dev-env
* validate the signatures
add the id to the did doc
pid from sha256 of oragin doc
added the tick to diffs extractor
added the key authorisation
add lots of types
add routes for calling the aic
refactor to jest based repo structure
* WIP
* migrate the tests
* more test fixes
* test.
* replace snake case with camel case
* moved to use isolated server for aic
* remove the aic test from the PDS
* clean up some changes outside the aic folder
* fix CaS for saving ticks
* rearange the folder
* missed one
* cleaned up aic package.json
* broken build
* test passing
* prettier
* pid tests refactor
* fix eslint/prettier setup, add eslint-config-prettier
* misc linting and style tweaks in aic
* minor touchups to aic sign/verify
* tidy error-handling in aic
* tidy-up crypto init in aic
* add aic route for getting a did doc, update /tick routes
* knex -> typeorm
* refactor crypto
* error handling & dependencies
* switching op model & some other cleanup
* change db to use operations
* add cid references to ops & ensure no branching in DB tx
* cleaning up
* rotues
* working on client & tests
* document & oepration tests
* server tests
* cleanup
* remove lobby page & static
* formatting did documents
* aic/pch -> plc
* fixing up some doc semantics
* tooling/test server
* added recovery window
* tx mutex
* test on document formatting
* take validate op out of write tx
* error handling
* readme
* couple bug fixes
* quick readme edit
Co-authored-by: Aaron Goldman <aaron@aarons-mbp.lan>
Co-authored-by: Aaron D Goldman <aaron@blueskyweb.xyz>
Co-authored-by: Devin Ivy <devin@bigroomstudios.com>
* Add xrpc-cli package; implement 'new' and 'gen-md' commands
* Add gen-ts-obj to xrpc-cli
* Add gen-api command to xrpc-cli
* Add gen-server to xrpc-cli
* Update codegen from xrpc-cli to run prettier and include a banner comment
* Use 'void' instead of 'undefined' for return type
* Skip invalid schemas when generating code
* Rewrite schemas package to use new simplified schema
* Output type definitions in nested folders
* Add record schema code-generation
* Change xrcp client call() signature to be easier to use
* Update client codegen to match new xrpc call signature
* Fixes and improvements to generated record APIs
* Update generated api to use per-service instances
* Add xrpc-cli readme
* (WIP) Rewrite server to use xrpc
* Add missing references to server/tsconfig.json
* Replace api implementation with xrpc generated client
* Add /schemas folder with todo.adx
* Add /schemas/todo.social
* Update api package to include todo.social xrpc and adx schemas
* Update server package to include todo.social xrpc and adx schemas
* Fix some schema definitions
* (WIP) Work toward xrpc update of server
* Update auth package to use nsids for collections
* Update repo package to use nsids for collections
* Update AdxUri to use nsid collection IDs
* Bring server CRUD tests to passing state
* Move API to simpler xrpc call signature
* Apply fixes and improvements to record apis
* Update to new generated api with per-service instances
* Rename the todo.social.* view methods
* Rewrite the views system to use xrpc
* Remove paths accidentally added to tsconfig
* Remove microblog package
* Add simple API readme
* todo about deduping ucan prfs
* increase postThread default depth to fix failing test. & fix USE_TEST_SERVER config
Co-authored-by: dholms <dtholmgren@gmail.com>
* Add xrpc-cli package; implement 'new' and 'gen-md' commands
* Add gen-ts-obj to xrpc-cli
* Add gen-api command to xrpc-cli
* Add gen-server to xrpc-cli
* Update codegen from xrpc-cli to run prettier and include a banner comment
* Use 'void' instead of 'undefined' for return type
* Skip invalid schemas when generating code
* Rewrite schemas package to use new simplified schema
* Output type definitions in nested folders
* Add record schema code-generation
* Change xrcp client call() signature to be easier to use
* Update client codegen to match new xrpc call signature
* Fixes and improvements to generated record APIs
* Update generated api to use per-service instances
* Add xrpc-cli readme
* Rename fedrpc to xrpc; implement xrpc and xrpc-server packages
* Add json-schema validation to xrpc
* Add xrpc and xrpc-server to base tsconfig.json
* Fix type signature
* Remove 'key manager' service from dev-env
* Remove did:web service from dev-env
* Update dev-env to use new server api
* Replace node-fetch with axios
* Remove did:ion from did-sdk
* Disable did:key implementation in did-sdk and remove difficult upstream deps
* Fix dev-env build
* Fixes to dev-env and add user() env function
* Switch to a purely js-function REPL in the dev-env to simplify