chadtmiller.com/pds.js
An atproto PDS in JavaScript, for Cloudflare Workers and Node
@pdsjs/git-host
0.1.3
Patch Changes
- Updated dependencies
- @pdsjs/core@2.5.2
- @pdsjs/appview@0.2.2
- @pdsjs/storage-sqlite@2.5.2
- @pdsjs/git@0.1.5
0.1.2
Patch Changes
- Updated dependencies [542c4dc]
- @pdsjs/core@2.5.1
- @pdsjs/appview@0.2.1
- @pdsjs/storage-sqlite@2.5.1
- @pdsjs/git@0.1.4
0.1.1
Patch Changes
-
04b15d0: The archive is the backfill now. Jetstream v2 serves the whole network in sealed segment files;
@pdsjs/appviewgainsplanSnapshot,getBlock,getSegmentand a columnar block decoder, andwatchaccepts areplayoption that pages the archive, folds it into the store and cuts over to the live tail at the sealed tip. A refused live cursor replays the gap. The live tail itself speaks v2: envelope frames,collectionsanddidsparams, and a caller hook for a refused cursor.git-host wires it behind
--replay(implied by--jetstream-api-key), defaulting--jetstreamto a v2 instance. On a metered instance the archive HTTP takes the key; a 429 backs off by Retry-After. The relay walk stays behind--no-backfillfor a Jetstream without an archive. -
f27dcf7: A git repository's record key is minted at creation, and its name is an ordinary field. The name was the key, so it was the identity, and renaming a repository changed its AT-URI: every review, pull request, issue and check naming it, every fork naming it upstream, and the reverse index all pointed at an address that no longer existed.
The rule is that the name is an address and the key is an identity. Every public surface still takes a name,
resolveRepois the one place that turns one into a key, and everything below it works in keys.dev.pdsjs.git.repoalready declaredkey: 'any'and already requiredname, so no record's value changes, only its key.dev.pdsjs.git.renameRepowrites that one field. A repository in a space keeps the name it has: the space is what an address resolves to and is keyed by that name.The config record moves to the repository's key, which the write guard already assumed when it joins the two. A collaborator's copy is found by the name the two copies share rather than by assuming their key matches. Pull request keys, check request keys and latest-check keys all derive from the repository's own key, so a rename leaves them where they are.
@pdsjs/git-cireads a repository's name from its record rather than from the firehose write's key, which a minted key would have matched against nothing. Its two key derivations are duplicated in the server and must agree, so the runner is deployed with it. Secret grants keep naming repositories the way a person writes them and resolve to a record key at startup, where a grant naming a repository the account does not hold is reported.Existing repositories are moved by
scripts/migrate-git-repo-keys.mjs. The resolver finds an unmigrated repository unchanged, so a deploy can precede the migration. Seedocs/plans/2026-09-04-stable-repo-keys.md. -
Updated dependencies [04b15d0]
-
Updated dependencies [d66fcff]
-
Updated dependencies [05a11b4]
-
Updated dependencies [f79dd82]
-
Updated dependencies [c68858b]
-
Updated dependencies [04b15d0]
-
Updated dependencies [288063a]
-
Updated dependencies [c3c4caa]
-
Updated dependencies [bcb5758]
-
Updated dependencies [e0b38cd]
-
Updated dependencies [4fb8f23]
-
Updated dependencies [1cf113d]
-
Updated dependencies [04b15d0]
-
Updated dependencies [c4af198]
-
Updated dependencies [f777a2c]
-
Updated dependencies [a981627]
-
Updated dependencies [3febe1c]
-
Updated dependencies [ac5c8eb]
-
Updated dependencies [00bd461]
-
Updated dependencies [83083a5]
-
Updated dependencies [2c68bdc]
-
Updated dependencies [fe7ffe0]
-
Updated dependencies [211c7c8]
-
Updated dependencies [6cf84d5]
-
Updated dependencies [35f794f]
-
Updated dependencies [522071f]
-
Updated dependencies [32db640]
-
Updated dependencies [04b15d0]
-
Updated dependencies [cc4577b]
-
Updated dependencies [cc4577b]
-
Updated dependencies [f5aae7c]
-
Updated dependencies [cc4577b]
-
Updated dependencies [fe3c9ac]
-
Updated dependencies [b99acf8]
-
Updated dependencies [c1ec3d6]
-
Updated dependencies [04b15d0]
-
Updated dependencies [7c06024]
-
Updated dependencies [6935a55]
-
Updated dependencies [15c69af]
-
Updated dependencies [a56be28]
-
Updated dependencies [673ec05]
-
Updated dependencies [74819af]
-
Updated dependencies [4dfdbfa]
-
Updated dependencies [04b15d0]
-
Updated dependencies [aeb61f9]
-
Updated dependencies [04b15d0]
-
Updated dependencies [04b15d0]
-
Updated dependencies [f27dcf7]
-
Updated dependencies [c9e3550]
-
Updated dependencies [c01859b]
-
Updated dependencies [41df38b]
-
Updated dependencies [411b47b]
-
Updated dependencies [ca47f96]
-
Updated dependencies [861663f]
-
Updated dependencies [617df4a]
-
Updated dependencies [154e7d7]
-
Updated dependencies [10c91f6]
-
Updated dependencies [0e1bf66]
-
Updated dependencies [77eb9db]
-
Updated dependencies [76f5187]
-
Updated dependencies [b51250e]
-
Updated dependencies [799286b]
-
Updated dependencies [4adc49e]
-
Updated dependencies [e83838c]
-
Updated dependencies [9149663]
-
Updated dependencies [16ea1fe]
-
Updated dependencies [fd401a4]
-
Updated dependencies [93816a1]
-
Updated dependencies [3d475f8]
-
Updated dependencies [078c2df]
-
Updated dependencies [d5f111c]
- @pdsjs/appview@0.2.0
- @pdsjs/core@2.5.0
- @pdsjs/git@0.1.3
- @pdsjs/storage-sqlite@2.5.0