Daniel Holmgren 30b05a7d4b
Account migration ()
* draft of account migration lexicons

* format

* clean up schemas

* codegen

* second pass on schemas

* small fix

* move around checkImportStatus

* re-codegen

* getServiceAuth

* getServiceAuth impl

* importRepo impl

* handle uploadBlob for import

* allow bringing your own did on createAccount

* working on test flow

* fleshing out flow

* fix up sendPlcOP

* small fixes

* activate/deactivate account

* full flow working!

* schema tweaks

* format

* update schemas

* moar codegen

* match impl to new schemas

* email flow for signed plc operation

* add email flow for plc operations

* impl plc op request email

* proxy to entryway

* tidy activate account

* integrating account deactivated state

* fix up tests

* friendly parse on optional did auth

* admin activate/deactivate routes

* proxy relevant requests to entryway

* remove admin activation routes

* do not proxy acitvaition to entryway

* cfg for disallowing imports

* buff up test

* refactor listMissingBlobs a bit

* add validDid & activated to accoutn status

* emit event on account activation

* test creating a post after migrating

* account deactivation tests

* test name

* tests on plc operations

* fix recommended did creds

* codegen

* turn off accepting imports on createAccount

* undo prev change

* increment version

* build branch

* pr feedback

* handle errs in p-queue

* handle blob upload outside of txn

* Clean old temp account migration lexicons ()

* clean old temp lexicons

* rm old test

* fix agent session test

* fix bsky test

* dont build branch
2024-02-20 19:29:49 -06:00
..
2024-02-20 19:29:49 -06:00
2024-02-15 20:22:33 -06:00
2024-02-20 19:29:49 -06:00
2024-02-20 19:29:49 -06:00
2023-12-04 18:00:09 -06:00
2024-02-19 11:27:59 -05:00
2024-01-10 12:24:14 -06:00
2023-11-21 15:47:43 -06:00
2024-02-07 20:40:43 -05:00
2024-01-10 12:24:14 -06:00
2024-02-20 19:29:49 -06:00
2024-02-20 19:29:49 -06:00
2024-02-15 20:22:33 -06:00
2024-01-10 12:24:14 -06:00
2023-12-01 18:14:01 -05:00
2024-02-07 20:40:43 -05:00

Packages

Applications

  • PDS: The Personal Data Server (PDS). This is atproto's main server-side implementation.
  • Dev Env: A command-line application for developers to construct and manage development environments.
  • Lexicon CLI: A command-line application for generating code and documentation from Lexicon schemas.

Libraries

  • API: A library for communicating with atproto servers.
  • Common: A library containing code which is shared between atproto packages.
  • Crypto: Atproto's common cryptographic operations.
  • Syntax: A library for identifier syntax: NSID, AT URI, handles, etc.
  • Lexicon: A library for validating data using atproto's schema system.
  • Repo: The "atproto repository" core implementation (a Merkle Search Tree).
  • XRPC: An XRPC client implementation.
  • XRPC Server: An XRPC server implementation.

Benchmarking and profiling

Only applicable to packages which contain benchmarks(jest.bench.config.js).

You can run benchmarks with pnpm bench.

Attaching a profiler

Running pnpm bench:profile will launch bench with --inspect-brk flag. Execution will be paused until a debugger is attached, you can read more about node debuggers here

An easy way to profile is:

  1. open about://inspect in chrome
  2. select which process to connect to(there will probably only be one)
  3. go to performance tab
  4. press record, this will unpause execution
  5. wait for the benches to run
  6. finish recording