Something went wrong. Try again.
A minimal atproto Personal Data Server, on SQLite. github.com/eth0net/manapds
Something went wrong. Try again.
Commits on main
eth0net 931b3368 build: assert an empty collection the way clippy 1.99 asks main
Signed-off-by: eth0net <eth0net@pm.me>
build: assert an empty collection the way clippy 1.99 asks main
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net bf2c31b8 feat: hold an account to one like, repost, follow and block per subject
Signed-off-by: eth0net <eth0net@pm.me>
feat: hold an account to one like, repost, follow and block per subject
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net a7ebd970 test: cover the two answers the record methods build themselves
Signed-off-by: eth0net <eth0net@pm.me>
test: cover the two answers the record methods build themselves
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 9cf52887 fix: say when storage would not answer this time rather than faulting
Signed-off-by: eth0net <eth0net@pm.me>
fix: say when storage would not answer this time rather than faulting
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net e773514c docs: cut a description the mock was given twice v0.1.0
Signed-off-by: eth0net <eth0net@pm.me>
docs: cut a description the mock was given twice v0.1.0
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 7743d8d4 fix: settle a delete that finds nothing before any swap
Signed-off-by: eth0net <eth0net@pm.me>
fix: settle a delete that finds nothing before any swap
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 39b9c158 fix: hold an account's turn until the write it guards has finished
Signed-off-by: eth0net <eth0net@pm.me>
fix: hold an account's turn until the write it guards has finished
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 88ea7d9e docs: note the two conformance gaps records left
Signed-off-by: eth0net <eth0net@pm.me>
docs: note the two conformance gaps records left
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net dcf3436b fix: answer an upload too large to read in the XRPC shape
Signed-off-by: eth0net <eth0net@pm.me>
fix: answer an upload too large to read in the XRPC shape
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net f2921a60 fix: take an upload's type without the parameters after it
Signed-off-by: eth0net <eth0net@pm.me>
fix: take an upload's type without the parameters after it
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
fix: answer a batch that asks for nothing
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net d843d416 fix: give a record the type of the collection it goes in
Signed-off-by: eth0net <eth0net@pm.me>
fix: give a record the type of the collection it goes in
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 772fec77 docs: say that an account's writes are taken one at a time
Signed-off-by: eth0net <eth0net@pm.me>
docs: say that an account's writes are taken one at a time
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net e1ab2bed fix: store only the records the new tree reaches
Signed-off-by: eth0net <eth0net@pm.me>
fix: store only the records the new tree reaches
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
fix: take an account's writes one at a time
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 95081344 docs: note the lock the reference's migrator takes
Signed-off-by: eth0net <eth0net@pm.me>
docs: note the lock the reference's migrator takes
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 9769d8d2 fix: tell a browser not to run a blob it is handed
Signed-off-by: eth0net <eth0net@pm.me>
fix: tell a browser not to run a blob it is handed
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 4da6c95f fix: settle a delete against an empty key inside the write
Signed-off-by: eth0net <eth0net@pm.me>
fix: settle a delete against an empty key inside the write
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net dd19caab fix: serve a blob by the DID its lexicon asks for
Signed-off-by: eth0net <eth0net@pm.me>
fix: serve a blob by the DID its lexicon asks for
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 75cd3768 docs: note the three things the write path leaves standing
Signed-off-by: eth0net <eth0net@pm.me>
docs: note the three things the write path leaves standing
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 67259482 fix: answer a delete that finds nothing rather than refusing it
Signed-off-by: eth0net <eth0net@pm.me>
fix: answer a delete that finds nothing rather than refusing it
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 8305bdb6 fix: let two connections open one new database at once
Signed-off-by: eth0net <eth0net@pm.me>
fix: let two connections open one new database at once
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net e153e08b fix: read a record's bytes whether or not they are padded
Signed-off-by: eth0net <eth0net@pm.me>
fix: read a record's bytes whether or not they are padded
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 1a7fc4ba fix: charge every write budget, not only the first to refuse
Signed-off-by: eth0net <eth0net@pm.me>
fix: charge every write budget, not only the first to refuse
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net f1d494d6 refactor: correct the records prose and thin the helpers under it
Signed-off-by: eth0net <eth0net@pm.me>
refactor: correct the records prose and thin the helpers under it
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 9f7dc104 docs: say how two writes to one account settle between them
Signed-off-by: eth0net <eth0net@pm.me>
docs: say how two writes to one account settle between them
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net f8041e26 fix: refuse a commit built on a root somebody else has moved
Signed-off-by: eth0net <eth0net@pm.me>
fix: refuse a commit built on a root somebody else has moved
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 9f933626 fix: open a database that needs no migration without writing to it
Signed-off-by: eth0net <eth0net@pm.me>
fix: open a database that needs no migration without writing to it
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 9992609c docs: say what records left standing and what the server now does
Signed-off-by: eth0net <eth0net@pm.me>
docs: say what records left standing and what the server now does
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 9a67586b feat: hold a repository's writes to an hourly and a daily budget
Signed-off-by: eth0net <eth0net@pm.me>
feat: hold a repository's writes to an hourly and a daily budget
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
feat: take a blob in and hand it back
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net bdd5a173 feat: serve the four methods that write a repository
Signed-off-by: eth0net <eth0net@pm.me>
feat: serve the four methods that write a repository
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net eff6ff0b feat: serve the three methods that read a repository
Signed-off-by: eth0net <eth0net@pm.me>
feat: serve the three methods that read a repository
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 3965aa62 feat: carry a record between dag-cbor and the JSON a client sends
Signed-off-by: eth0net <eth0net@pm.me>
feat: carry a record between dag-cbor and the JSON a client sends
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 3bebdcbf feat: apply a set of writes under one commit
Signed-off-by: eth0net <eth0net@pm.me>
feat: apply a set of writes under one commit
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net b55e3af3 refactor: take the event log and the first commit off the runtime too
Signed-off-by: eth0net <eth0net@pm.me>
refactor: take the event log and the first commit off the runtime too
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net ee8b966c test: wait for the directory rather than for the account row
Signed-off-by: eth0net <eth0net@pm.me>
test: wait for the directory rather than for the account row
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 038142a4 refactor: take the account database off the async runtime
Signed-off-by: eth0net <eth0net@pm.me>
refactor: take the account database off the async runtime
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 5c173ec0 feat: read the index back by key, by page and by collection
Signed-off-by: eth0net <eth0net@pm.me>
feat: read the index back by key, by page and by collection
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net b3fc46e3 feat: index a record as the commit that wrote it lands
Signed-off-by: eth0net <eth0net@pm.me>
feat: index a record as the commit that wrote it lands
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
docs: cut the prose that was said twice
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net f0ebe535 fix: cap how many invite codes one call writes
Signed-off-by: eth0net <eth0net@pm.me>
fix: cap how many invite codes one call writes
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net d62e22bb fix: count a level on every path that walks down the tree
Signed-off-by: eth0net <eth0net@pm.me>
fix: count a level on every path that walks down the tree
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 00b8ba68 fix: say a body is too large rather than unreadable
Signed-off-by: eth0net <eth0net@pm.me>
fix: say a body is too large rather than unreadable
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 8153def0 fix: answer a missing query parameter in the XRPC error shape
Signed-off-by: eth0net <eth0net@pm.me>
fix: answer a missing query parameter in the XRPC error shape
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
fix: bound what one budget key can cost
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
feat: serve the three app password methods
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net fd6617e2 feat: take back an identifier the directory would not speak for
Signed-off-by: eth0net <eth0net@pm.me>
feat: take back an identifier the directory would not speak for
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 32a2ee29 fix: put a floor under how many passwords hash at once
Signed-off-by: eth0net <eth0net@pm.me>
fix: put a floor under how many passwords hash at once
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net ba3394f9 docs: say why illegal Windows names are checked for
Signed-off-by: eth0net <eth0net@pm.me>
docs: say why illegal Windows names are checked for
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 103f05f7 feat: give signing in and signing up budgets of their own
Signed-off-by: eth0net <eth0net@pm.me>
feat: give signing in and signing up budgets of their own
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net d98538b1 feat: let a method say which sessions reach it
Signed-off-by: eth0net <eth0net@pm.me>
feat: let a method say which sessions reach it
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net eeaa1371 fix: only take a signup back out when the directory said so
Signed-off-by: eth0net <eth0net@pm.me>
fix: only take a signup back out when the directory said so
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 4dec81b6 fix: ask the directory what became of an operation it never answered
Signed-off-by: eth0net <eth0net@pm.me>
fix: ask the directory what became of an operation it never answered
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 52a5231c fix: take the lexicon's default for how many codes to write
Signed-off-by: eth0net <eth0net@pm.me>
fix: take the lexicon's default for how many codes to write
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 7185c8d2 fix: keep HandleNotAvailable for a name this server holds back
Signed-off-by: eth0net <eth0net@pm.me>
fix: keep HandleNotAvailable for a name this server holds back
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net d12bf4f3 fix: only say a handle does not exist where that is knowable
Signed-off-by: eth0net <eth0net@pm.me>
fix: only say a handle does not exist where that is knowable
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 064cefb9 feat: let a server hold back names of its own
Signed-off-by: eth0net <eth0net@pm.me>
feat: let a server hold back names of its own
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
feat: put a new account in the log
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed
eth0net 30aebf89 feat: build the log entries an account creation owes
Signed-off-by: eth0net <eth0net@pm.me>
feat: build the log entries an account creation owes
Signed-off-by: eth0net <eth0net@pm.me>
eth0net committed