Daniel Holmgren 38656e71ff
Label expiration ()
* sketching out label sequencer

* refactor sequencer

* sequencer tests

* tests

* add query labels endpoint & tests

* add pagination

* fix label formatting on temp

* tidy

* format labels

* make use listen/notify for sequencer

* ensure sig on all outgoing labels from ozone

* fixing up tests

* fix sequencer tests

* fix hanging server test

* add log on failure to update label

* update description for sig

* add expiration to labels

* fix test

* use bytes for label sigs

* fix tests

* add ver to labels

* tidy up background queue

* store signing keys as ids

* fix sequencer teest
2024-03-08 19:48:45 -06:00
..
2024-03-08 19:48:45 -06:00
2024-02-29 11:14:25 -06:00
2024-03-08 19:48:45 -06:00
2024-02-29 11:14:25 -06:00
2023-12-04 18:00:09 -06:00
2024-01-10 12:24:14 -06:00
2024-02-27 15:22:55 -05:00
2024-02-29 11:14:25 -06:00
2024-02-29 11:14:25 -06:00
2024-03-08 19:48:45 -06:00
2024-03-08 19:48:45 -06:00
2024-02-29 11:14:25 -06:00
2024-02-29 11:14:25 -06:00
2024-02-29 11:14:25 -06:00
2024-03-05 19:04:57 -06: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