Johanna Larsson and Tangled
c0caa93228
Dev compose improvements
...
1. Set the max connections to 20, I frequently see
db-1 | 2026-08-23 08:57:02.784 UTC [12641] FATAL: sorry, too many clients already
2. Add a wildcard route in Traefik to serve DID documents locally.
3. Expose the PLC port locally so I can point an app at `http://localhost:2582 ` and be able to do full OAuth flows.
2026-08-23 09:50:08 +00:00
blooym.dev and Tangled
3ade3d10c1
docs: clarify the postgres seq fix command
...
There was a syntax error in this command, so I updated the doc to clarify it and also show it needs an integer, not a string like it implied before.
2026-08-21 17:35:46 +00:00
Jack Platten and Tangled
0189aa9f96
Update config commit to create new round
2026-08-21 16:16:45 +00:00
Jack Platten and Tangled
d495d7d729
Use crate::types::queuedcomms export
...
also generate example.toml
2026-08-21 16:16:45 +00:00
73cb89c9b7
resolve review feedback.
...
- eliminates panic opportunity on receiving email
- strict enum
- added unit test for ensuring that atmos headers don't leak onto
directmx
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-21 16:16:45 +00:00
Jack Platten and Tangled
ecb7934a20
fix: fix missing test failure
2026-08-21 16:16:45 +00:00
Jack Platten and Tangled
9edc7dcdd8
comms: add comail.at category support
...
Adds a defaulted to off option to add the `X-Atmos-Category` headers
to emails sent via smarthost, for proper categorization by comail.
Category breakdown is as follows:
verification: EmailVerification, ChannelVerification, ChannelVerified,
MigrationVerification, LegacyLoginAlert, EmailUpdate, PlcOperation,
AccountDeletion
password-reset: PasswordReset, PasskeyRecovery
mfa-otp: TwoFactorCode
bulk: Welcome
untagged: AdminEmail
2026-08-21 16:16:45 +00:00
Matan Kushner and Tangled
479fa3ed22
fix: require DPoP for loopback clients
2026-08-21 11:41:29 +00:00
Louis Escher and Tangled
aa815931e0
Update lib.rs
2026-08-20 08:21:53 +00:00
Louis Escher and Tangled
0ce725174d
fix: DID length test, service test, cloning, dead code (should be it!)
2026-08-20 08:21:53 +00:00
Louis Escher and Tangled
dae3cc7e08
fix: aud fragment matching
2026-08-20 08:21:53 +00:00
Louis Escher and Tangled
b9e7955606
fix: pass exp to token creation
2026-08-20 08:21:53 +00:00
Louis Escher and Tangled
32c58b1d0b
fix: make thingy allow list
2026-08-20 08:21:53 +00:00
Louis Escher and Tangled
1b5a2b319c
fix: getServiceAuth aud parsing
2026-08-20 08:21:53 +00:00
Lewis and Tangled
ed3d129594
just: clippy over all targets, lint the bsky-off build
...
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-08-16 17:15:23 +00:00
Lewis and Tangled
8d0b6f8322
cache: DID, SSO, & OAuth client metadata caches onto shared cache
...
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-08-16 17:15:23 +00:00
Lewis and Tangled
0fc577316e
lexicon: schema docs & negative results via cluster cache
...
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-08-16 17:15:23 +00:00
Lewis and Tangled
52d5236e89
plc: dedup fetch paths, cache TTL from config
...
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-08-16 17:15:23 +00:00
Lewis and Tangled
0274f19d75
auth: EmailTokenPurpose from tranquil-types, shared cache key fns, MemoryCache in tests
...
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-08-16 17:15:23 +00:00
Lewis and Tangled
135912194d
types: HttpUrl newtypes, shared cache key/JSON helpers
...
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-08-16 17:15:23 +00:00
Lewis and Tangled
0b8787d1de
pds: compile bsky-specific proxy, CORS, & validation out under bsky features
...
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-08-16 17:15:23 +00:00
Lewis
18455f54f2
api: moorfc compliance endpoint toggle
...
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-08-16 19:58:24 +03:00
Louis Escher and Tangled
ce2f05b9d4
fix: make coverage triple state instead of boolean
2026-08-13 16:09:03 +00:00
Louis Escher and Tangled
c88f69f31d
fix: Address PR review
2026-08-13 16:09:03 +00:00
Louis Escher and Tangled
b3c314ce66
fix: Address review comments
2026-08-13 16:09:03 +00:00
Louis Escher and Tangled
434079a732
feat: compress large token scopes with brotli
2026-08-13 16:09:03 +00:00
Louis Escher and Tangled
a5a2f30bbe
fix: Collapse action parameters for repo scopes
...
TODO: Still missing tests!
2026-08-13 16:09:03 +00:00
Jack Platten and Tangled
dc2fbe6654
chore: use JSON array for healthcheck now that container is distroless
2026-08-13 05:35:23 +00:00
Johanna Larsson and Tangled
bc751b0ee2
Bring back thing that made yubikey work
2026-08-08 15:41:29 +00:00
Johanna Larsson and Tangled
9e78206cf4
Switch back to SecurityKey, remove hint
2026-08-08 15:41:29 +00:00
Johanna Larsson and Tangled
779dc1b985
Replace SecurityKey with Passkey
2026-08-08 15:41:29 +00:00
Edmund Edgar and Tangled
1dc0c40206
fix: don't require a server-custodied rotation key
...
Remove the requirement that the user's did can be controlled by the
server rotation key and signing key. This was preventing users who
didn't want to trust the PDS with their rotation keys from activating
their accounts. Errors are removed but we issue debug messages.
2026-07-26 11:45:09 +03:00
nelind
72fa88d79a
chore: bump version to 0.6.6
2026-07-26 00:25:56 +02:00
nelind and Tangled
596b9b15fd
feat(docs): explain our definition of "correct PDS implementation"
2026-07-25 18:31:06 +03:00
nelind and Tangled
59934cc184
feat: add bsky and bsky-support cargo features to manage bsky specific code
2026-07-25 18:31:06 +03:00
nelind and Tangled
34a47e6e5a
chore: clean up Cargo.toml files with cargo-shear and remove default feature on lib crates
2026-07-25 18:31:06 +03:00
Lewis and Tangled
aca78bb8d3
scopes: tweak tests, add translations
...
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-07-25 11:08:27 +03:00
Lewis and Tangled
25d7d24d4e
types: drop unchecked construction from validated newtypes
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:40 +03:00
Lewis and Tangled
b6274bb3c4
api: validated newtypes from their checked constructors
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:40 +03:00
Lewis and Tangled
2a96a8f420
server: report absent repo rev instead of an empty one
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:40 +03:00
Lewis and Tangled
9ad70bda9e
sync: parse xrpc query params into real types
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:40 +03:00
Lewis and Tangled
c3a8240154
tests: assert user_blocks matches reachable set after every write
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:40 +03:00
Lewis and Tangled
1e2311f8fc
repo: keep user_blocks equal to the reachable block set
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:40 +03:00
Lewis and Tangled
17905115d8
store: revalidate stored mutation sets on replay
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:40 +03:00
Lewis and Tangled
6ed568dbfb
store: rebuild derived indexes when stored format version is older
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:40 +03:00
Lewis and Tangled
d00d72895a
store: record-by-cid reverse index
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:40 +03:00
Lewis and Tangled
2f1e22a950
store: add record-by-cid key shapes & chunked scan helpers
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
946cb9740f
store: warn & skip instead of failing on unreadable event payloads
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
0c7cccb14c
invite: require owning account for generated codes
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
4f37ac26cd
store: typed revs thru metastore keys & requests
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
bbe9f6f3b3
db: decode sequenced event rows leniently
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
4e3b2f2af4
handle: reject handles whose tld can never resolve
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
932b0c07d4
db: make stored handle optional when it no longer parses
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
01a71ece7c
db: check column conversions when mapping rows
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
8abb6cc741
db: name column behind invalid value
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
2bfea64ffc
api: add xrpc query extractor
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
e931268f7e
types: validate on construction & normalize what gets stored
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Lewis and Tangled
14a086cb13
store: fix inline block span parsing in event sidecars
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-25 08:27:39 +03:00
Trezy and Tangled
7244551ae1
refactor: clean up property names and document stringy values
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:27 +03:00
Trezy and Tangled
01d93e44e7
fix: show the user which scopes will not be granted based on delegation
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:27 +03:00
Trezy and Tangled
fa50d7d54e
fix: prevent rpc scopes from escaping permission set namespace
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:27 +03:00
Trezy and Tangled
19e7ec29f5
fix: prevent transient permission set publishers from causing auth refresh failures
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:27 +03:00
Trezy and Tangled
311fbfcb86
feat: add handling for more scope failures
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:27 +03:00
Trezy and Tangled
515c058006
refactor: use Nsid newtype instead of strings
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:27 +03:00
Trezy and Tangled
aca6dd926e
chore: clean up dead code
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:27 +03:00
Trezy and Tangled
9c6730579e
feat: display bundled permission-sets on consent screen
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:27 +03:00
Trezy and Tangled
348ac887fc
fix: use JWT scopes as source-of-truth for access and refresh tokens
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:26 +03:00
Trezy and Tangled
ecdda4c555
feat: cache expanded permission sets
2026-07-24 20:11:26 +03:00
Trezy and Tangled
f17adc6f88
refactor: use tranquil-scopes instead of bespoke scope handling in delegation auth
...
Signed-off-by: Trezy <tre@trezy.com >
2026-07-24 20:11:26 +03:00
Lewis and Tangled
00ca223b5f
identity: force did:web signkey check to #atproto verification
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-23 10:34:21 +03:00
nelind
9ccec274aa
chore: nix flake update
2026-07-17 02:14:30 +02:00
nelind
f2754efeb2
chore(nix): use fetcherVersion 4 of fetchPnmpDeps
2026-07-17 02:14:30 +02:00
nelind and Tangled
4416f50c87
feat(config): add more default crawlers/relays
2026-07-15 08:58:35 +03:00
Lewis
e41f34746a
db: newtype Rkey and final newtype touches for now
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-12 08:03:14 +02:00
Lewis
fbfa15b0b4
invite: newtype InviteCode for invite endpoints + store
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-12 08:03:14 +02:00
Lewis
eb1a89dc58
db: Did type for repos and handlers
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-12 08:03:14 +02:00
Lewis
6ca6c45605
identity: Handle type for stored handles & extract_handle
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-12 08:03:14 +02:00
Lewis
d238affd76
repo: newtype commit cid & rev to CidLink & Tid
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-12 08:03:14 +02:00
Lewis
469255f5a9
db: newtype PasswordHash for users & app passwords
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-12 08:03:14 +02:00
Lewis
8559764d31
auth: newtype jti claims, sessions, & store
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-12 08:03:14 +02:00
Lewis
a405d523ca
oauth: newtype client, token, device & request ids
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-12 00:25:08 +03:00
Lewis
3c46e5fc73
lexicon: Nsid instead of strs for collections
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-12 00:21:32 +03:00
Lewis
f330dcd366
types: did, nsid, & rkey in AtUri::from_parts
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-11 16:14:56 +03:00
Lewis
1411506d8c
auth: typed TokenVerifyError from es256k verifier
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-11 14:45:39 +03:00
Lewis
1a9dcf86ba
types: sqlx finally behind a feature -> derive Ord & Borrow on newtypes
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-07-11 08:30:22 +03:00
Alex van de Sandt and Tangled
8ae9ce9c8f
fix: enable autocomplete in totp verification
2026-07-02 20:29:22 +03:00
Lewis
6ec4484cad
sqlx: add missing file
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-29 08:31:30 +03:00
Lewis
f3af04e4ae
dns: fall back to defaults if smth bad
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-28 10:12:00 +03:00
Lewis
aab1a945c2
session: deletes scope to did, route muts by did
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-28 09:55:11 +03:00
ave and Tangled
9dc184ee33
bsky(auth): add grace period to legacy session refresh
...
Concurrent or retried com.atproto.server.refreshSession calls presenting the
same refresh token hit the reuse-detection path, which deleted the session and
returned "Refresh token has been revoked due to suspected compromise" —
logging users out at random. The legacy flow had no grace period, unlike OAuth.
Mirror the reference atproto PDS: every rotated refresh token gets a 2h grace
window measured from its own rotation time (used_refresh_tokens.used_at in
postgres; a rotated_at_ms field appended to the metastore used-marker, with
old-format markers decoding as outside the window). A refresh presenting a
recently-rotated token is served the session's current tokens, re-minted on
the fly with the same jti/expiry — signed JWTs are never persisted. Reuse
outside the window still revokes the session.
The grace lookup returns the session's encrypted signing key so the handler
verifies the presented token's signature before minting replacement tokens or
revoking a session; a forged token bearing a known jti gets a generic
rejection with no side effects.
Integration tests asserting the old replay-gets-401 behavior are reworked to
the new contract and now also cover forged-signature replays and
out-of-window revocation.
2026-06-27 23:54:22 +03:00
Lewis
ab4eba6dc4
delegation: preset scopes grant identity & account
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-27 23:11:24 +03:00
Lewis
a171518290
tranquil-store/repo: repair tolerates corrupt/missing blocks
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-26 20:50:30 +03:00
Lewis and Tangled
28f2e04019
plc: always keep signing key in rotationKeys
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-26 18:52:12 +03:00
Lewis and Tangled
39a2e40b35
invite codes: dedup consumption, iron out kinks
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-26 13:28:49 +03:00
isabel and Tangled
05ab0b7423
nix: use systemd-nspawn tests
...
this speeds tests up like 10 fold; had to swap from sudo to runuser
since sudo wanted passwords
2026-06-22 20:31:06 +03:00
Lewis and Tangled
221b32d66f
build: smaller faster prod container
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-19 09:16:30 +03:00
Lewis
1b489776c5
server healthcheck in-bin
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-18 09:34:36 +03:00
nelind
2ca15fe7a0
fix(nix): disable the nixpkgs tranquil module when the repo module is used
2026-06-17 11:53:58 +02:00
ave and Tangled
48ae1e8b7b
Move Dockerfile(s) from musl to glibc
...
Musl is tier 2 on rust support, and glibc is tier 1.
https://doc.rust-lang.org/nightly/rustc/platform-support.html
Generally, glibc rust is reported to be more performant. Could vary due
to any other reason, but in my testing, builds were up to 50% faster
(for docker cross-compilation amd64->arm64 at least).
2026-06-16 14:31:32 +03:00
ave and Tangled
6838976969
fix(cors): Allow User-Agent header in CORS
2026-06-15 13:27:31 +03:00
Jim Severino and Tangled
3045ee25c0
Fix(docs): Add correctly TOML-formatted values for first string and array examples
2026-06-15 11:04:59 +03:00
Jim Severino and Tangled
04a90b1563
Fix(docs): Change symlinks to SSL cert files from absolute to relative
2026-06-15 11:04:59 +03:00
Lewis and Tangled
e13ba7f4c7
ripple: anti-entropy gossip sync
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-14 18:46:41 +03:00
Lewis and Tangled
a3f729c3cd
ripple: fail-closed startup, bind policy
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-14 18:46:41 +03:00
Lewis and Tangled
637b817a33
ripple: cluster-key oomf authentication
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-14 18:46:41 +03:00
Lewis and Tangled
562f970bc3
ripple: transport backpressure & connect coalesing
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-14 18:46:41 +03:00
Lewis and Tangled
06fd6a1ce9
ripple: transport from tcp to quic
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-14 18:46:41 +03:00
nelind and Tangled
3b07cdfb24
fix(api): dont verify signature or DID during importRepo
2026-06-13 23:33:57 +03:00
nelind
4a8826b7a1
fix(docs): i forgor auto links need absolute URIs ... lets use normal links instead
2026-06-12 01:00:24 +02:00
nelind
80afd764d3
fix(nix): provide a jemalloc build in the dev shell
2026-06-10 19:56:40 +02:00
Lewis and Tangled
5bbe2146ff
server: serve xrpc over http/3
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-10 13:18:49 +03:00
Lewis and Tangled
b009ccdaf2
repo: the pg side of MST structural repair
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-08 16:58:51 +03:00
nelind
39f74b5adf
feat(nix): pratice what i preach. expose lib.mkPackages
2026-06-07 22:14:27 +02:00
ave and Tangled
a231d7da29
feat(auth): accept totp/backup codes in legacy login createSession
2026-06-06 10:42:24 +03:00
ave and Tangled
63d84d38fb
refactor(auth): unify short-code generation onto util::generate_token_code
...
Collapse the three ad-hoc short-code generators into one canonical generator
plus a shared normalizer:
- util::generate_token_code now emits the uppercase base32 XXXXX-XXXXX display
form; new util::normalize_token_code canonicalizes user input (uppercase,
strip hyphen/whitespace).
- email_token and legacy_2fa now generate via util, store the normalized form,
and compare normalized input. Their private generate_short_token/generate_code
(and BASE32_CHARS/CODE_LENGTH) are removed.
- PLC (request/sign) and password reset inline util::generate_token_code,
persist the normalized form, email the display form, and normalize input
before lookup. The generate_plc_token/generate_reset_code wrappers are removed.
Behavior changes: legacy login-2FA codes go from 8-digit numeric to XXXXX-XXXXX;
PLC and password-reset codes go from lowercase to uppercase. All four code types
are now accepted case-/hyphen-insensitively. OAuth web-login 2FA, account
deletion, and the long verification_token blobs are intentionally untouched.
Tests: add util normalize tests + email_token/legacy_2fa case/hyphen tests;
update integration tests to expect the canonical stored form and the new
emailed format.
2026-06-06 09:36:08 +03:00
ave and Tangled
fe9b88141c
chore(auth): align at+jwt/refresh+jwt expiry with reference PDS
2026-06-06 01:43:46 +03:00
ave and Tangled
72f5dce32b
add ave.zone to contributors list in README
2026-06-06 01:42:54 +03:00
nelind
cd7e01100e
chore(auth): also mention that atproto spec requiers typ be "JWT" for inter-service tokens
2026-06-05 12:49:25 +02:00
ave and Tangled
7c248be153
fix(auth): emit uppercase "JWT" typ in service-auth header
...
RFC 7519 §5.1 recommends the uppercase "JWT" typ for compatibility with
legacy implementations, and it matches the reference @atproto/pds. Parsing
already lowercases, so existing lowercase "jwt" tokens still verify.
2026-06-05 13:34:43 +03:00
ave and Tangled
91999819c6
fix(proxy): limit audience of getFeed service-auth to the feed generator
2026-06-04 22:39:14 +03:00
nelind and Tangled
ffce1d5d05
feat(docs): add some general PDS debugging documentation
2026-06-04 13:45:08 +03:00
Tyler and Tangled
8e6ace2fe2
fix: derive lexicon DNS authority from all-but-last NSID segment
...
Permission-set expansion resolved the lexicon's DNS authority using a
fixed `parts[..2]`, which only works for three-segment NSIDs. For a
four-segment NSID such as community.lexicon.bookmarks.authManageBookmarks
this dropped a segment and queried _lexicon.lexicon.community instead of
_lexicon.bookmarks.lexicon.community, failing with "DNS resolution
failed: ... no record found".
The authority is every NSID segment except the last (the name),
reversed. Use parts[..parts.len() - 1] to match the spec and the
existing extract_namespace_authority helper, and update the DNS
authority test with three/four-segment and bookmarks regression cases.
2026-06-04 01:28:13 +03:00
Lewis and Tangled
3018a20843
fix(plc): allow arbitrary services to sign
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-03 11:23:51 +03:00
Lewis and Tangled
37fc06fb39
fix(store): unblock eventlog sync&freeze when writer dies
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-02 17:29:21 +03:00
Lewis and Tangled
728a8c4d3b
test(store): cross-store, firehose, read-validation coverage w/ faults
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-02 17:29:21 +03:00
Lewis and Tangled
3d49e99cc3
test(store): generic consistency checker, gauntlet fault/read
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-02 17:29:21 +03:00
Lewis and Tangled
7e823673ca
test(store): untested metastore, eventlog, & archival stuff
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-02 17:29:21 +03:00
Lewis
320933598c
fix(auth): error num 401 for oauth
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-01 19:38:45 +03:00
Lewis
500dc2e0e6
test(store): gauntlet sweep configs for time-travel & fsync repro
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-01 19:01:04 +03:00
Lewis
a220611a8b
test(store): D gauntlet faults, crash-loss oracley, recoverable scenarios
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-01 19:01:04 +03:00
Lewis
ca7a4b4b73
fix(store): recover eventlog lastseq from tail not sidecar
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-01 19:01:04 +03:00
Lewis
8ff02610e4
feat(store): inline-commit mode, committed-extent recovery, failsafe verify&rollback
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-06-01 19:01:04 +03:00
Lewis and Tangled
22f82489d5
test(pds): e2e & durability coverage for MST self-heal
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-31 21:11:36 +03:00
Lewis and Tangled
cee483e358
feat(pds): selfhealing repo writing by detecting corruption & retrying
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-31 21:11:36 +03:00
Lewis and Tangled
7f8e858137
test(store): gauntlet MST-repairable & misdirected-write scenario
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-31 21:11:36 +03:00
Lewis and Tangled
44d73dac58
feat(store): rebuild & rewrite missing/corrupt MST blocks
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-31 21:11:36 +03:00
Lewis and Tangled
b8cae15c12
feat(store): detect foreign&corrupt blocks on read & preserve blocks thru recovery
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-31 21:11:36 +03:00
Lewis and Tangled
9b58961bba
feat(repo): missing $type? invent one
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-31 13:02:11 +03:00
Lewis
31ee12ecd3
fix(store): torn hint-file tail should be recoverable on reopen
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-31 11:37:21 +03:00
nelind
ea106d5246
chore(nix): update frontend pnpm hash
2026-05-31 00:51:27 +02:00
Lewis
4015217a2e
feat(store): Clock trait for DST
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-30 23:46:22 +03:00
Lewis
7e4c9e1dab
chore: bump to 0.6.4
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-30 21:23:02 +03:00
Lewis and Tangled
e9dc57d6f4
fix(firehose): lost events if seq commits out of order
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-30 21:10:38 +03:00
Lewis
4e2525b245
fix(migrate): oauth account:* spec, p256 support
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-30 21:07:16 +03:00
nelind
38508c2c6e
feat(nix): base the data storage path defaults on the dataDir option
2026-05-30 00:37:55 +02:00
Lewis
7a54ccf6a3
fix(tranquil-config): reject unknown keys in TlsConfig, bump rust 1.96
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-29 09:39:14 +03:00
nelind
e85394c314
build: bump version to 0.6.3
2026-05-27 19:28:10 +02:00
isabel and Tangled
411c6be108
feat(nix): validate config at build time
2026-05-27 20:14:06 +03:00
isabel and Tangled
28aa7ab7fc
feat!(tranquil-config): error on unknown keys
...
an attempt to make it so that fixes like
fc6063dba8 never have to occur again
2026-05-27 20:13:58 +03:00
nelind and Tangled
348b69d76b
feat(nix): ensure that tranquil-store path is always writable by the service user just like file blob storage
2026-05-27 20:13:07 +03:00
nelind and Tangled
4b23ca2c36
fix(docs): some wording on nix config and CI stuffs
2026-05-27 20:13:07 +03:00
Lewis and Tangled
a7052e878c
feat: tranquil's own TLS handling
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-27 13:54:33 +03:00
nelind
fc6063dba8
fix(nix): override the right frontend package setting in the flake nixos module
2026-05-27 01:04:31 +02:00
Lewis and Tangled
44cb016762
fix(docs): install docs better
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-26 09:49:59 +03:00
Lewis and Tangled
e6eee18ace
fix(docs): migration oauth update
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-25 19:02:13 +03:00
Lewis
96c8375706
fix(test): oauth token eviction should be agnostic
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-25 16:17:10 +03:00
Lewis
86c5995568
fix(config): signal gate is useless since needs admin work to activate anyway
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-24 22:50:14 +03:00
Lewis and Tangled
036c317fd6
fix(migrate): oauth refreshing, embedded db first invite code
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-24 19:28:57 +03:00
Lewis and Tangled
4d2c7d4723
feat(auth): verification-gate override, inbound-migration bypass, store deleter improvement
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-23 23:02:43 +03:00
isabel and Tangled
f24a9f8bc0
build(nix): frontend pin pnpm
...
some future protections against this acursed toolchain breaking and
people who do .follows on their nixpkgs inputs
2026-05-22 23:24:45 +03:00
Lewis
f6ef6ecbd9
feat(docs): first version of 'when PRing' section of contrib
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-21 22:46:59 +03:00
karitham.dev and Tangled
a2567bdb1a
fix(locales): french handle should be "identifier" not "username"
...
My bad translation on that earlier, made it consistent with the rest of the file and usage!
2026-05-21 10:39:29 +03:00
Lewis
56120d252d
fix(locale): a little more drift
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-21 09:14:06 +03:00
Trezy and Tangled
210b0f463c
feat: add About page
...
Signed-off-by: Trezy <tre@trezy.com >
2026-05-21 09:06:42 +03:00
Lewis and Tangled
c80f504dc0
fix(locale): a couple of drift keys missing in other langs
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-21 09:06:10 +03:00
karitham.dev and Tangled
a3bd7c59ad
feat(locales): add french locale, fix missing error keys, remove dead keys
...
Adds french locale registration and translation file. Fixes 4 missing error keys that were referenced in code but absent from all locale files. Removes 2 unreferenced keys from `register.validation` that duplicated `registerPasskey.errors`.
I *think* that's all that's needed for french locale? Couldn't find anything else required to make it work!
2026-05-20 22:20:20 +03:00
nelind
9ebde27540
fix(docs): markdown is tricky ...
2026-05-19 21:30:35 +02:00
nelind and Tangled
28a7834304
docs: nel interjection: be right, be good, be fun
2026-05-19 22:18:38 +03:00
Lewis
191da5b311
chore: slight doc tweak
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-19 21:14:28 +03:00
Lewis
a5b4ba7d65
feat(docs): init better docs
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-19 20:45:50 +03:00
Trezy and Tangled
90dabd8840
docs: start a contributing file to track how to work with the repo
...
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:58 +03:00
Trezy and Tangled
19eaccea74
chore: add dev startup to justfile
...
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:58 +03:00
Trezy and Tangled
f620a6bc43
chore: add mailpit for local dev
...
Captures outbound emails, greatly simplifying local dev.
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:58 +03:00
Trezy and Tangled
04f370aaa1
chore: add frontend service to docker compose
...
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:58 +03:00
Trezy and Tangled
3fd8f7ebbf
chore: add app service with cargo-watch
...
Spins up a container with Tranquil running, but automatically uses incremental rebuilds for local dev.
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:58 +03:00
Trezy and Tangled
0afcb2ee28
chore: add plc directory for local dev
...
Prevents us from polluting the real PLC directory.
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:58 +03:00
Trezy and Tangled
8bd556f65b
chore: add db health check to docker compose
...
Safer wafe to depend on database startup.
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:58 +03:00
Trezy and Tangled
cc92594506
chore: add traefik for local dev certs and routing
...
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:58 +03:00
Trezy and Tangled
76f22b801b
chore: allow native certs during local dev
...
Allows Traefik certs to be trusted by Tranquil.
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:58 +03:00
Trezy and Tangled
021b7dbec4
chore: add profiles to docker compose
...
Allows us to spin up groups from the compose file
Signed-off-by: Trezy <tre@trezy.com >
2026-05-19 19:46:57 +03:00
nelind
eb034cb8b3
fix(ci): dont pass cachix cache name as a secret so it doesnt get redacted from CI logs
2026-05-17 17:07:34 +02:00
Lewis
bdaf510898
build: bump workspace to 0.6.2
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-17 12:32:05 +03:00
Lewis
deb2502112
feat(pds): phantom-file self-heal goes in scheduled compaction + reachability walk
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-17 12:32:05 +03:00
Lewis
1815ddba9f
feat(gauntlet): index-backed/hint-backed/readable invariants, ExternalCorruption scenario
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-17 12:32:05 +03:00
Lewis
a7517ed5c9
feat(store): consistency check & repair for orphan hints etc
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-17 11:50:32 +03:00
Lewis
d07d702dd4
feat(store): try to self-heal phantom index entries on compaction
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-17 11:50:19 +03:00
isabel and Tangled
1901b0a630
fix(nix): build against pnpm 11
...
side note: you may also notice that I have removed the `github:` url for
nixpkgs this is because it save a massive 15mb, is faster and more
reliable than github
See also:
-
<https://nix.dev/manual/nix/stable/protocols/tarball-fetcher#lockable-http-tarball-protocol >
-
<http://web.archive.org/web/20250806225139/https://nix.dev/manual/nix/2.28/protocols/tarball-fetcher#lockable-http-tarball-protocol >
2026-05-14 21:37:28 +03:00
serenity and Tangled
58f8d327c1
feat(docs): clarify nix documentation
2026-05-14 16:52:10 +03:00
Lewis and Tangled
a13343e1de
fix(oauth): gc tokens in pg in the right order, more exposure of dpop err
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-14 16:51:53 +03:00
Bas van den Wollenberg and Tangled
60e10af4aa
fix(Dockerfile): pnpm v11 build errors
...
- pnpm doesn't implicitly ignore post-install scripts anymore which means trying to build the docker image now fails. i've explicitly allowed them but idk could also ignore them maybe not sure what they actually do lol
- added `confirmModulesPurge: false` but not sure what it actually does as it's not documented? but either way it's also required for the `pnpm build` step to succeed non-interactively it seems idk weird stuff
- removed msmtp/sendmail while i was at it just like https://tangled.org/tranquil.farm/tranquil-pds/commit/f176f55862bc4c41472f8697cc2ca069c24d5e37
2026-05-14 09:56:07 +03:00
isabel and Tangled
f176f55862
chore(nix): remove sendmail
2026-05-02 23:32:57 +03:00
Lewis and Tangled
fac9520a16
feat(tranquil-server): email config, tests, fmt
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-02 22:28:59 +03:00
Lewis and Tangled
eee6fb9ff4
feat(comms): EmailSender, permanent/transient routing
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-02 22:28:59 +03:00
Lewis and Tangled
2462d0ab3b
feat(tranquil-comms): smtp and dkim signing
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-02 22:28:59 +03:00
Lewis and Tangled
85f87f7b28
feat(tranquil-comms): message construction and mx resolution
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-02 22:28:59 +03:00
Lewis and Tangled
b1d86caa78
feat(tranquil-comms): prework for email
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-05-02 22:28:59 +03:00
Lewis
9b2cfb3a7e
fix(tranquil-store): durable-tail recovery + sync semantics
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-30 11:11:28 +03:00
Lewis
efd499bb26
fix(tranquil-store): barrier durability + torn-header recovery
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-29 15:35:42 +03:00
nelind and Tangled
d4dfe838eb
fix(ci): use kaniko to build
2026-04-28 23:06:36 +03:00
Lewis and Tangled
af3821514f
test(tranquil-pds): same-rkey batch coverage and inductive inverse for in-batch dups
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-28 22:05:03 +03:00
Lewis and Tangled
8f7aad3756
fix(tranquil-pds): same-rkey batch semantics and firehose lag recovery
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-28 22:05:03 +03:00
Lewis and Tangled
75b9e3165f
refactor(deploy): container-first cleanup, drop debian malware-style install
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-27 00:13:27 +03:00
Lewis and Tangled
ccc9916109
test(tranquil-pds): websocket firehose end-to-end mst verification
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-26 20:11:27 +03:00
Lewis and Tangled
bc8fd66a45
test(tranquil-pds): mst fuzz + repo integrity properties
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-26 20:11:27 +03:00
Lewis and Tangled
180de29984
fix(tranquil-pds): firehose car carries inductive proof
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-26 20:11:27 +03:00
max. and Tangled
0455dc20bd
fix(validation): discord usernames may contain periods at start or end
2026-04-25 09:59:12 +03:00
Lewis
2770b9b14a
feat(tranquil-store): cargo-fuzz targets with asan+ubsan
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-24 10:50:08 +03:00
Lewis
d436597184
feat(tranquil-store): flaky-device scenario, jemalloc heap-prof
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-24 10:50:08 +03:00
Lewis
4cfca6d956
feat(tranquil-store): soak harness driving leak gate, signal tweaks
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-23 08:39:16 +03:00
Lewis
98b94fb170
feat(tranquil-store): leak gate and metrics sampling for gauntlet
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-22 21:00:17 +03:00
Lewis
4fe01cff72
feat(tranquil-store): sweep subcommand with axis override fan-out
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-22 17:23:15 +03:00
Lewis
00c9eb732f
fix(tranquil-store): arc-counted cache handles, reader-eviction race
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-21 22:04:24 +03:00
Lewis
6d2d3b4be4
fix(tranquil-store): commit-marker batch replay, batch-boundary rotation
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-21 14:55:15 +03:00
Lewis
9d81e58803
fix(tranquil-store): no more orphan data files, recover torn-hint tails, header-safe resume
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-21 09:59:37 +03:00
Lewis
2afd075496
fix(tranquil-store): atomic record commits, hint-as-truth recovery
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-20 21:00:54 +03:00
Hayden Young and Tangled
c74bf967cf
fix(auth): don't require 2fa for app passwords
2026-04-20 18:20:20 +03:00
Lewis
1285d5c675
fix(tranquil-store): bound writer fd usage across rotations
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-20 16:50:19 +03:00
Lewis
c30d73cd4d
test(tranquil-store): migrate some tests to gauntlet
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-19 23:50:27 +03:00
Lewis
0fab8f2eb9
feat(tranquil-store): tranquil-gauntlet CLI, config overrides, profiles
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-19 23:50:27 +03:00
Lewis
57336fa124
feat(tranquil-store/gauntlet): new invariants & scenarios
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-19 10:25:07 +03:00
Lewis
ace105899f
feat(tranquil-store/gauntlet): concurrent executor, eventlog, fault recovery
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-19 00:19:08 +03:00
Lewis
c80a525e0d
feat(tranquil-store/gauntlet): op surface, oracle, workload for eventlog & reads
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-18 10:36:30 +03:00
Lewis
7edb76507b
feat(tranquil-store/gauntlet): simulated io fault modes, shrinker, regression dump
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-18 10:36:30 +03:00
Lewis and Tangled
a20e4e05e6
fix(oauth): indigo client send empty assertions
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-17 15:18:26 +03:00
teq and Tangled
3e7a199736
docs: nixos and binary cache
2026-04-17 01:32:30 +03:00
teq and Tangled
7ed9c8ce59
feat(ci): supply cache by arg
2026-04-17 01:32:30 +03:00
teq and Tangled
b0c3402a82
feat(ci): add cachix publishing workflows
2026-04-17 01:32:30 +03:00
Lewis and Tangled
b9574f3ec1
fix(lexicons): cache ttl
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-16 19:45:27 +03:00
isabel and Tangled
baef2be844
feat: allow max prefs to be configured
...
some people (me) have a large amount of prefs and moving from ref pds to
tranquil ment i lost a few of these. so in this pr i bumped the max
prefs to 1000 and made it configurable via the config
2026-04-16 19:45:17 +03:00
Lewis
1f21b85069
fix(example.toml): lewis forgot about confique
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-16 14:49:57 +03:00
Lewis
09d437b3e3
feat(tranquil-store): gauntlet persistence & restart invariants
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-15 22:28:31 +03:00
Lewis
7f2e83e92f
feat(tranquil-store): beginnings of the gauntlet test suite
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-15 20:29:34 +03:00
nelind
ec273fa814
feat(nix): cross compiled aarch64 package
2026-04-14 23:26:34 +02:00
Lewis
d51bfd59da
fix(tranquil-store): exclude 0 refcount blocks from has()
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-14 08:40:21 +03:00
Lewis and Tangled
8ccdd30cb3
fix(repo): use mst diff instead of full tree walk for obsolete blocks
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-13 17:43:07 +00:00
Lewis
7a67361993
fix(tranquil-store): checkpoint-hint race & missing dedup hints
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-13 11:10:17 +03:00
isabel and Tangled
cdbbaaccdf
fix(nix/frontend): add nodejs
2026-04-12 23:08:39 +00:00
isabel and Tangled
55d3b7f83d
fix(nix/module): don't import using self
2026-04-12 22:50:00 +00:00
Gavin Mogan and Tangled
f00b0231fb
fix(Dockerfile): duplicate named stage causes failure to build
2026-04-12 18:53:21 +00:00
Lewis and Tangled
1dfbd27cce
fix(postgres): semaphore on car endpoint & more efficient query
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-12 17:18:45 +00:00
isabel and Tangled
bc5e0e0446
build(frontend): use pnpm
...
deno is evil
2026-04-12 16:01:21 +00:00
Lewis
1c87ef5536
fix(tranquil-store): blockstore tweaks
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-12 17:35:59 +03:00
Lewis
255c7135f9
fix(auth): no bsky chat access when not specifically privileged to have it
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-12 15:56:17 +03:00
Lewis and Tangled
34f050a1f0
feat(oauth): discoverable passkey authentication
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-12 11:16:58 +00:00
Lewis and Tangled
52c22060f3
fix(tranquil-store): preserve refcount in hint relocate records
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-12 11:16:58 +00:00
Lewis
c250d51978
chore(readme): another small update
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-11 17:23:43 +03:00
Lewis
378cb7a7fb
chore(readme): update with contributers and new description of project
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-11 16:40:32 +03:00
Bas van den Wollenberg and Tangled
bf20b4a78f
fix: use correct postgres container path for quadlet as well
2026-04-11 07:45:23 +00:00
Lewis
05246aec58
feat(tranquil-store): gc and hardening
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-10 13:57:47 +03:00
Lewis
8d0e0c6810
feat(tranquil-store): whole test suite working
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-10 13:57:44 +03:00
Lewis
1720de8650
feat(tranquil-store): repository traits on MetastoreClient
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-10 13:57:43 +03:00
Lewis
a5c68a3506
feat(tranquil-store): metastore
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-10 13:57:43 +03:00
Lewis
9ea33def13
feat(tranquil-store): eventlog
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-10 13:54:41 +03:00
Lewis
a9e3ec63e1
feat(tranquil-store): blockstore
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-10 13:54:41 +03:00
HigherOrderLogic and Tangled
dbc3c23c95
fix(nix): allow fetch Git deps
2026-04-09 21:30:03 +00:00
nekomimi.pet and Tangled
531ca7c1c0
fix(lexicon): wildcard mime type handling and case insensitivity
2026-04-09 21:28:37 +00:00
nelind and Tangled
add1ff176b
fix(auth): keep lxm optional and dont default to * when no lxm is given in getServiceAuth
2026-04-04 08:52:42 +00:00
nelind
bdb200a30c
fix(ci): dont run it at all for now. it doesnt work with the currently spindles
2026-04-01 23:45:03 +02:00
nelind
e5faba3e73
fix(ci): define CI event run correctly so it actually runs
2026-04-01 23:38:19 +02:00
Isla and Tangled
5dc810ceef
Further harden systemd service
2026-03-31 22:25:11 +00:00
june and Tangled
6abc0eaca2
feat(plc): support AtprotoLabeler service
2026-03-28 20:54:43 +00:00
nelind and Tangled
696940f732
fix(sync): dont keep websockets arround indefinetly if client abruptly closes connection
2026-03-25 16:47:38 +00:00
nelind and Tangled
f777c288da
fix(pds): do service identifier resolution for proxying correctly
2026-03-23 03:00:57 +00:00
teq and Tangled
9039648705
fix(nix): generate-lockfile for fix/signal-nix-build-deps
2026-03-23 03:00:23 +00:00
teq and Tangled
770a16b043
fix(nix): add hashes for git deps
2026-03-23 03:00:23 +00:00
teq and Tangled
d37f38e496
fix(nix): add protobuf for spqr
2026-03-23 03:00:23 +00:00
Lewis
282f08f207
feat(rfc): outline tranquil-store idea for comment
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-03-22 18:54:51 +02:00
Lewis and Tangled
f07bcb82f7
refactor(sync): extract MST parsing and serialization utilities
2026-03-22 12:51:44 +00:00
Lewis and Tangled
e38343ce09
refactor(oauth): split authorize.rs into domain modules
2026-03-22 12:51:44 +00:00
Lewis and Tangled
e454e99b8a
refactor(api): migrate all endpoints to repos accessor pattern
2026-03-22 12:51:44 +00:00
Lewis and Tangled
19b0ea19c6
refactor(tranquil-pds): consolidate repos, rate limits, validation, and auth helpers
2026-03-22 12:51:44 +00:00
Lewis and Tangled
318818ad51
feat(signal): add admin UI, frontend, and build changes
2026-03-22 07:14:20 +00:00
Lewis and Tangled
7c55a5ceb9
feat(signal): add admin endpoints, config, and server wiring
2026-03-22 07:14:20 +00:00
Lewis and Tangled
9d31ee9ace
refactor(comms): extract HTTP retry combinator and integrate signal sender
2026-03-22 07:14:20 +00:00
Lewis and Tangled
e3efcb43ba
test(signal): add protocol store integration tests
2026-03-22 07:14:20 +00:00
Lewis and Tangled
eb46824220
feat(signal): add presage client, newtypes, and slot management
2026-03-22 07:14:20 +00:00
Lewis and Tangled
e6c8a44a42
feat(signal): add postgres-backed signal protocol store
2026-03-22 07:14:19 +00:00
Lewis
aac6f2818b
fix(oauth): fail properly on non-expanded include scopes
2026-03-21 11:36:37 +02:00
Lewis
1a80a33e12
fix(ci): small tweaks
2026-03-21 10:06:31 +02:00
HigherOrderLogic and Tangled
00d71fd3d6
feat(ci): publish image on commit
2026-03-21 02:10:23 +00:00
Lewis and Tangled
c8bb4c9076
refactor(api): update delegation, notification prefs, email, meta, and age assurance endpoints
2026-03-20 13:39:11 +00:00
Lewis and Tangled
d123168787
refactor(api): update password, reauth, verify, account_status, and totp endpoints
2026-03-20 13:39:11 +00:00
Lewis and Tangled
b337d2b154
refactor(api): simplify passkey account creation and auth-adjacent server endpoints
2026-03-20 13:39:11 +00:00
Lewis and Tangled
1e07d674dd
refactor(api): rework session login flow to use common credential verification
2026-03-20 13:39:11 +00:00
Lewis and Tangled
a3f96b6367
refactor(api): centralize DID document building, update admin endpoints
2026-03-20 13:39:11 +00:00
Lewis and Tangled
7b7936d539
refactor(api): extract account provisioning helpers, simplify create_account flow
2026-03-20 13:39:11 +00:00
Lewis and Tangled
7e3dca4026
refactor(api): update repo batch/delete to use repo_ops, clean up remaining repo endpoints
2026-03-20 13:39:11 +00:00
Lewis and Tangled
7bc90d5e23
refactor(api): extract repo write lifecycle to repo_ops
2026-03-20 13:39:11 +00:00
Lewis and Tangled
4d86f026df
refactor(api): extract common helpers module, extend API error types with auth methods
2026-03-20 13:39:11 +00:00
Lewis and Tangled
5c8894d531
refactor: update routes, backend verification tweaks, and restyle
2026-03-19 14:26:26 +00:00
Lewis and Tangled
81fc03c705
refactor(frontend): refactor migration and registration lib
2026-03-19 14:26:26 +00:00
Lewis and Tangled
f3f55e239f
refactor(frontend): refactor migration components
2026-03-19 14:26:26 +00:00
Lewis and Tangled
cf77354cde
refactor(frontend): rewrite SecurityContent
2026-03-19 14:26:26 +00:00
Lewis and Tangled
467be99da3
refactor(frontend): extract dashboard sections
2026-03-19 14:26:26 +00:00
Lewis and Tangled
20212a413f
refactor(frontend): simplify API client and delete obsolete auth routes
2026-03-19 14:26:26 +00:00
Lewis and Tangled
6225d2bc1d
refactor(frontend): delete RegisterPassword and UiTest routes
2026-03-19 14:26:26 +00:00
Lewis and Tangled
b990c239e6
refactor(frontend): delete OAuthRegister and OAuthSsoRegister routes
2026-03-19 14:26:26 +00:00
Lewis and Tangled
5b503c3f7f
refactor(frontend): delete utility libraries and validation
2026-03-19 14:26:26 +00:00
Lewis and Tangled
7f66419036
refactor(frontend): delete type system boilerplate
2026-03-19 14:26:26 +00:00
Lewis
c2b8253abe
fix(api): always give xrpc error messages
2026-03-18 17:53:01 +02:00
Lewis and Tangled
ebf5af4922
fix(backups): remove useless backups concept
2026-03-18 12:17:33 +00:00
Lewis and Tangled
938df6495d
feat(frontend): add UI component test page
2026-03-18 10:43:03 +00:00
Lewis and Tangled
113bea7da3
refactor(frontend): extract migration component styles + migration.css
2026-03-18 10:43:03 +00:00
Lewis and Tangled
da8b577408
refactor(frontend): extract auth and registration page styles + pages.css
2026-03-18 10:43:03 +00:00
Lewis and Tangled
6683d03a9e
refactor(frontend): extract oauth secondary page styles
2026-03-18 10:43:03 +00:00
Lewis and Tangled
72f45bf6a3
refactor(frontend): extract oauth primary flow page styles
2026-03-18 10:43:03 +00:00
Lewis and Tangled
14bac09cb1
refactor(frontend): extract controllers, repo styles + dashboard.css
2026-03-18 10:43:02 +00:00
Lewis and Tangled
76dc3b125a
refactor(frontend): extract admin, settings, app passwords styles
2026-03-18 10:43:02 +00:00
Lewis and Tangled
c7d3dfbce0
refactor(frontend): extract security, sessions, DID document styles
2026-03-18 10:43:02 +00:00
Lewis and Tangled
154f9fae89
refactor(frontend): extract dashboard shell and lightweight component styles
2026-03-18 10:43:02 +00:00
Lewis and Tangled
331d843886
refactor(frontend): consolidate base stylesheet
2026-03-18 10:43:02 +00:00
Lewis and Tangled
79a3db8ff2
refactor(frontend): extract UI primitive component styles
2026-03-18 10:43:02 +00:00
Lewis and Tangled
f95a1c7cfd
feat(frontend): design tokens, app wiring, locales
2026-03-18 10:43:02 +00:00
Lewis and Tangled
60b4697b5a
chore: inline delegation audit page
2026-03-17 19:22:34 +00:00
Lewis and Tangled
7926c798c6
feat: cross-pds delegation
2026-03-17 19:22:34 +00:00
Lewis and Tangled
d5ed420dd7
fix: move code to more correct crates
2026-03-17 10:16:36 +00:00
Not Herself and Tangled
92e609d367
fix: handle AT Protocol $bytes type in json_to_ipld
...
json_to_ipld handled $link (→ Ipld::Link) but treated $bytes objects
as regular maps, producing a CBOR map (major type 5) instead of a byte
string (major type 2). This caused downstream consumers expecting
spec-compliant CBOR — notably Jetstream's atdata.UnmarshalCBOR — to
fail with "decoding $byte value: illegal base64 data".
Decode $bytes from standard base64 (RFC 4648 §4, padding optional)
into Ipld::Bytes, matching the existing $link handling pattern.
2026-03-15 07:15:07 +00:00
Lewis
546d342136
fix(auth): use authextractor for serviceauth too now
2026-03-14 13:04:14 +02:00
Lewis
c680f3c419
fix(homepage): favicon should render in title
...
# I am sorry I forgot this.
Now pds.ls will show beautiful icons when showing Tranquil PDSes.
2026-03-14 11:57:01 +02:00
Lewis
806cb4b8c5
chore(build): optimize container cache layers
2026-03-14 11:53:25 +02:00
Lewis and Tangled
458b9b7e0d
refactor(pds): integrate tranquil-lexicon for record validation
2026-03-13 19:53:18 +00:00
Lewis and Tangled
83fda8b57a
test(lexicon): test schemas and resolution integration tests
2026-03-13 19:53:18 +00:00
Lewis and Tangled
dab347cc83
feat(lexicon): record validation engine
2026-03-13 19:53:18 +00:00
Lewis and Tangled
08f0e67bf7
feat(lexicon): schema reference resolution
2026-03-13 19:53:18 +00:00
Lewis and Tangled
421b35ff9c
feat(lexicon): dynamic value types and schema registry
2026-03-13 19:53:18 +00:00
Lewis and Tangled
33e96665b8
feat(lexicon): add crate with schema types and format validators
2026-03-13 19:53:18 +00:00
Skyler Grey and Tangled
559cbc1001
feat: allow setting up SSO with environment
...
This is particularly useful in nix to avoid having to put secrets in
your configuration (or use some workaround) - but is probably quite
useful in other environments too and is a nice part of allowing either
environment or toml configuration.
To do this, I've had to split up the providers so as to provide
individual environment keys - I'm sure there's some clever macro that
could do this in fewer lines and more complexity
2026-03-13 10:10:46 +00:00
Lewis and Tangled
18cdb612f6
fix: signal cli in containers
2026-03-10 15:26:54 +00:00
Lewis and Tangled
2c8568b207
fix: did:web also uses handle domains not hostname
2026-03-09 19:23:35 +00:00
lewis and Tangled
f78b004df3
fix: user handle domains upgrade
2026-03-08 12:25:04 +00:00
nelind
e02e8c9e8c
fix(config): remove unused duplicate custom handle url config key
2026-03-08 00:05:38 +01:00
lewis and Tangled
5450467011
fix: container build should use all-in-one backend+frontend
2026-03-07 21:06:25 +00:00
isabel and Tangled
6200697ce0
fix(nix): typo
2026-03-07 19:59:19 +00:00
nelind and Tangled
4005041ee2
fix(test): update test_server_basics to reflect new health endpoint format
2026-03-07 15:20:21 +00:00
nelind and Tangled
1c75668b18
feat(nix): remove mold from the dev shell and add cargo nextest
2026-03-07 15:20:21 +00:00
lewis
2c470f77a5
fix: lewis shameful mistake on prod compose vol
2026-03-07 17:19:01 +02:00
nelind and Tangled
844ba0eb70
refactor(nix): update nix module to use the built-in frontend server
2026-03-06 20:21:10 +00:00
nelind and Tangled
34beff2553
feat: add back built-in frontend hosting to the backend
2026-03-06 20:21:10 +00:00
lewis and Tangled
898c6a2c6e
fix: no 2fa needed if passkey
2026-03-06 09:32:36 +00:00
lewis and Tangled
dcdef508de
fix: first user invite code
2026-03-04 12:27:14 +00:00
penny and Tangled
1e02c5803f
feat: add version information to _health endpoint
2026-03-01 21:00:53 +00:00
nelind
e2f26c259f
fix(sync): dont sequence sync events on *every* repo update
2026-02-28 18:52:41 +01:00
isabel and Tangled
4e277eb7b2
fix(nix): use correct openssl command
2026-02-28 11:12:10 +00:00
lewis and Tangled
28ca66624a
fix: ability to send more verifications
2026-02-24 10:13:11 +00:00
lewis and Tangled
3913bf5c1a
fix: trusted device save
2026-02-23 10:40:36 +00:00
lewis and Tangled
dd53262a03
fix: update docs for toml env
2026-02-23 10:36:58 +00:00
nelind
61a60a3163
fix: only include timestamp in the build version if built in debug mode so release stays reproducible
2026-02-22 00:30:43 +01:00
nelind and Tangled
09f8040135
fix: minor format cleanup and description fixing in the module
2026-02-21 20:51:03 +00:00
isabel and Tangled
dfc1ce3ddf
refactor(nix): toml conf
2026-02-21 20:51:03 +00:00
lewis and Tangled
5964601a11
fix: set env vars of paths for sendmail & signal from nix pkg not manual
2026-02-21 20:51:03 +00:00
lewis and Tangled
1521f98b2e
feat: actual good config from Isabel
2026-02-21 20:51:03 +00:00
lewis and Tangled
a7840e2ac5
fix: better defaults, add in pg & nginx
2026-02-21 20:51:03 +00:00
lewis and Tangled
a2cea49b0f
feat: nix module
2026-02-21 20:51:03 +00:00
isabel and Tangled
66eb9b7dbb
refactor: toml config
2026-02-21 18:00:55 +00:00
lewis and Tangled
cbd3b79f41
fix: service token case sensitivity regression
2026-02-15 19:54:28 +00:00
lewis and Tangled
a83a67d219
chore: small md file updates
2026-02-11 16:17:21 +00:00
lewis and Tangled
91cfc536c6
fix: bulk type safety improvements, added a couple of tests
2026-02-10 15:25:35 +00:00
lewis
1ff22c3dee
fix: removed some bs
2026-02-08 18:31:03 +02:00
lewis and Tangled
ea27772a47
fix: smaller docker img
2026-02-08 13:49:53 +00:00
lewis and Tangled
ec36b8ddc7
feat: cache locks less
2026-02-08 10:03:53 +00:00
lewis and Tangled
326aadcdb6
feat: initial in-house cache distribution
2026-02-08 10:03:53 +00:00
lewis and Tangled
240f24718e
feat: fun handle resolution during migration
2026-02-05 20:37:08 +00:00
lewis and Tangled
cd7400bc8b
fix: improved discord & signal comms
2026-02-05 16:13:45 +00:00
lewis and Tangled
b104dc938a
fix: telegram comms ux improvements
2026-02-04 19:08:44 +00:00
lewis and Tangled
dbc81a6416
fix: concurrent perf improvement
2026-02-04 19:08:44 +00:00
lewis and Tangled
442ca1434f
fix: better dashboard UX
2026-02-02 19:29:03 +00:00
lewis
b73c91b561
fix: account creation bug & frontend style improvements
2026-01-30 20:53:31 +01:00
lewis and Tangled
bee0bba6f4
fix: some small bugs
2026-01-30 12:18:19 +00:00
lewis
a9a7159d00
chore: update readme
2026-01-28 21:51:31 +02:00
lewis and Tangled
190f1a3430
feat: legacy 2fa impl
2026-01-28 18:40:08 +00:00
nelind and Tangled
afc1db95e0
feat(nix): derivation for frontend
2026-01-28 17:42:13 +00:00
nelind and Tangled
f6a14467d6
remove local references from .gitignore
2026-01-28 17:42:13 +00:00
nelind and Tangled
a1b3d8fd11
fix: nix pds build
2026-01-28 17:42:13 +00:00
lewis and Tangled
2b31a288a9
fix: no preference dedup needed
2026-01-27 15:12:15 +00:00
lewis and Tangled
c19904f6d6
fix: make frontend more type-safe
2026-01-26 20:31:20 +00:00
lewis and Tangled
d7b96773fd
fix: better type-safety
2026-01-26 17:15:51 +00:00
lewis and Tangled
8eb4b5516f
fix: match ref pds permission-levels for some endpoints
2026-01-25 13:07:32 +00:00
lewis and Tangled
6c5b5996b7
fix: consolidate auth extractors & standardize usage
2026-01-25 13:07:32 +00:00
lewis and Tangled
8af0cfe0af
fix: oauth consolidation, include-scope improvements
2026-01-25 13:07:32 +00:00
lewis and Tangled
2d10dc0983
Sharded filesystem subdirs
2026-01-21 17:53:59 +00:00
lewis and Tangled
230d90262e
fix: delegated acc passkey auth
2026-01-21 17:53:59 +00:00
lewis and Tangled
a18be8c6fd
feat: filesystem blob storage
2026-01-21 17:53:59 +00:00
lewis and Tangled
12a189cb2b
feat: oauth prompt=create, other frontend fixes
2026-01-19 17:44:24 +00:00
lewis and Tangled
158628f1a7
feat: docs tweaks & standalone frontend
2026-01-18 16:41:41 +00:00
lewis
b3ec7feb96
sso signup & login
2026-01-18 01:15:13 +02:00
lewis
4e29861990
migration improvements
2026-01-15 21:17:35 +02:00
lewis
505dc169eb
small bug fixes, code dedup
2026-01-15 19:10:05 +02:00
lewis
e09567f5cf
sqlx cache regenerated for new query locations
2026-01-14 22:23:03 +02:00
lewis
9a87de939d
pds uses repository pattern, delete inline db code
2026-01-14 22:22:30 +02:00
lewis
1a916aa30e
migrations for repo_rev tracking and backlinks table
2026-01-14 22:22:07 +02:00
lewis
71d9ed7d38
tranquil-db crates, repository pattern for db access
2026-01-14 22:21:38 +02:00
lewis
0bad085ead
delayed loading spinner in frontend, more functional-style code
2026-01-12 08:46:52 +02:00
lewis
16fb4dbd03
oauth error msg improvement, general code quality
2026-01-11 22:33:41 +02:00
lewis
d1902506a5
oauth jti fix, more code quality
2026-01-11 18:59:49 +02:00
lewis
7985f76c0d
Streamplace oauth compatibility, mock plc dir in tests
2026-01-11 17:05:38 +02:00
lewis
8f595b5ffb
Separate crates for separate concerns
2026-01-10 21:13:41 +02:00
lewis
cae667d219
Better repo action code quality
2026-01-10 18:38:03 +02:00
lewis
fbc2477771
Passkey-only accounts can opt into a password
2026-01-10 11:10:17 +02:00
lewis
bbb650ffdb
Update TODO, more logging during blob migration
2026-01-08 21:29:07 +02:00
lewis
648a9fe05c
Remove alpine & openbsd instructions
...
Tested them both out and hated the experience.
Gonna double down on containers to make that the best
devex possible.
2026-01-07 19:13:55 +02:00
lewis
d0aefd2a8e
Better auth extractor use
2026-01-06 22:02:28 +02:00
lewis
2466a9d3f4
experiment: deconstructing include oauth
2026-01-06 20:31:42 +02:00
lewis
9b9c273b59
fix: oauth regression (at least I think it's a regression)
2026-01-06 17:28:16 +02:00
lewis
8f600b6691
DPoP in frontend, why not
2026-01-06 19:58:04 +02:00
lewis
767f89ae76
fix: Bad scope parsing
2026-01-06 23:41:20 +02:00
lewis
3d0939c038
Frontend UX improvements
2026-01-06 19:10:12 +02:00
lewis
2fd72ab150
Send user agent as tranquil
2026-01-06 23:33:13 +02:00
lewis
9a516a012d
Remove old user blocks
2026-01-06 19:49:42 +02:00
lewis
7faec624d1
General linting, document react-native-streamplace-oauth-problem
2026-01-05 23:08:25 +02:00
lewis
df30e0253f
Typechecks and linting
2026-01-05 00:48:18 +02:00
lewis
a331f5e56f
More functional and typesafe frontend
2026-01-04 23:43:11 +02:00
lewis
938a9841b6
More local methods to not proxy
2026-01-04 18:38:15 +02:00
lewis
3954189c22
Functional typesafe backend
2026-01-04 15:18:26 +02:00
lewis
1724a0792f
docker email fix from scan
2026-01-04 15:03:42 +02:00
nelind and Tangled
5461f03de5
add xrpc fallback
2026-01-04 13:00:27 +00:00
nelind and Tangled
e61021feee
extract proxying into a middleware instead of a fallback handler
2026-01-04 13:00:27 +00:00
nelind and Tangled
b4e2b5d300
clean up routing
2026-01-04 13:00:27 +00:00
nelind and Tangled
f789acddd1
add mold to the devshell
2026-01-04 13:00:27 +00:00
lewis
0f32cc3faa
Performance improvements
2026-01-03 00:58:28 +02:00
lewis
4375d795a0
Frontend on /app path for easy custom homepage
2026-01-02 21:54:27 +02:00
lewis
df2135b5e1
Backups, adversarial migrations
2026-01-02 00:24:32 +02:00
scanash00 and Tangled
2fb59b41ef
fix hardcoded host and port
2026-01-01 23:55:57 +00:00
lewis
a46d2d6f8d
Age assurance override env var
2025-12-31 17:01:20 +02:00
lewis
3bf974a705
TODOfile update
2025-12-31 22:28:11 +02:00
lewis
b37b379c36
OAuth inbound migration
2025-12-31 19:13:59 +02:00
lewis
4d6e21b00d
pds-hosted did migrates away
2025-12-30 21:16:49 +02:00
lewis
ea55590b6c
Misc fixes for blobs and invites
2025-12-30 18:46:31 +02:00
lewis
7be60ea2d1
Fixed migration problem
2025-12-30 23:45:44 +02:00
lewis
76506511a1
Migration for did:webs specifically
2025-12-30 23:07:26 +02:00
lewis
70fce2f1f9
misc genesis fixes
2025-12-30 22:46:26 +02:00
lewis
452d553887
Reserved handles & misc fixes
2025-12-30 21:24:44 +02:00
lewis
a839c7d7b3
Moderation conf. vs ref
2025-12-29 21:30:23 +02:00
lewis
6027e9517a
Admin endoints vs ref
2025-12-29 20:58:04 +02:00
lewis
3b52a42156
Invite codes conf. vs ref
2025-12-29 20:00:58 +02:00
lewis
8cfc13fccc
App password conf. vs ref
2025-12-29 19:36:01 +02:00
lewis
5aceed2ab3
Email conf. vs ref
2025-12-29 18:08:12 +02:00
lewis
c302d2aea1
Account lifecycle conf. vs ref
2025-12-29 21:51:09 +02:00
lewis
c58255daa1
Session conf. vs ref
2025-12-29 20:08:42 +02:00
lewis
1c35e1ce37
Repo conf. vs ref
2025-12-29 22:29:23 +02:00
lewis
98b4a33447
Identity endpoint conformance vs ref
2025-12-29 21:55:49 +02:00
lewis
cd4780af41
Sync conformance fixes vs ref
2025-12-28 23:41:17 +02:00
lewis
013b80adc2
Investigation/warning about inbound migration
2025-12-28 19:28:40 +02:00
nelind and Tangled
613a65b393
source .env in devshell if one is pressent
2025-12-28 13:09:01 +00:00
nelind and Tangled
2e3fd6b0c1
add sqlx-cli to dev shell
2025-12-28 13:09:01 +00:00
nelind and Tangled
91398090fb
move PgPool creation into AppState::new
2025-12-28 13:09:01 +00:00
lewis
e90308ba9e
No slur handles allowed
2025-12-28 13:01:50 +02:00
lewis
8cb82abc82
Store rev properly like a good boy
2025-12-28 02:24:09 +02:00
lewis
f6d7d65ef8
Three-quarter-done in-house migration flow
2025-12-27 22:52:53 +02:00
lewis
77a67f3554
Misc fixes
2025-12-26 18:10:54 +02:00
lewis
ff59c29147
Delegated accounts
2025-12-26 20:15:45 +02:00
lewis
3f727b1c9d
App password scopes
2025-12-25 21:17:09 +02:00
nelind and Tangled
a3b5f6135a
add license information
2025-12-25 18:57:18 +00:00
lewis
d1dcf02c00
JWT token refresh good error
2025-12-25 18:23:19 +02:00
lewis
bbc9d14216
Use jacquard commit signing
2025-12-25 17:45:02 +02:00
lewis
6d840da3fa
Frontend style updates
2025-12-25 19:59:32 +02:00
nelind and Tangled
ad4dd08c9b
actually fix localhost client support
2025-12-25 21:04:32 +00:00
nelind and Tangled
3af1b7ee44
add LSPs for the frontend to devshell and fix default.nix formatting
2025-12-25 21:04:32 +00:00
lewis
d8451f3219
'Clever' stateless token verification. We could revert later if it sucks.
2025-12-24 23:57:49 +02:00
nelind and Tangled
1280f8044d
fix "localhost client" support and use in frontend when in dev mode
2025-12-24 19:07:14 +00:00
lewis
014d4b57f0
Fixed up did:web account creation
2025-12-23 20:27:17 +02:00
lewis
217a3f1197
Attempt at better byod did:web registration
2025-12-23 21:50:56 +02:00
lewis
11fc081971
Generic cosmetic per-server config
2025-12-23 20:35:17 +02:00
nelind and Tangled
ac792fdd75
add nix package, devshell and an .envrc
2025-12-23 21:38:19 +00:00
lewis
091d6d96a0
Fix genesis commit stuff, update deps
2025-12-23 22:37:44 +02:00
lewis
cb98398494
Some actual styling
2025-12-23 03:08:03 +02:00
lewis
097ca28879
Finnish & Swedish translations
2025-12-22 21:46:33 +02:00
lewis
9037d6bfa3
Locales in frontend, why not
2025-12-22 18:02:32 +02:00
lewis
d80247ba43
Security improvements
2025-12-22 21:09:09 +02:00
lewis
fa6c4cc177
Passkey-only accounts
2025-12-21 23:16:39 +02:00
lewis
adfa9a3812
Better handles
2025-12-21 17:53:25 +02:00
lewis
45b6b58ad6
Security key & totp support
2025-12-20 21:41:29 +02:00
lewis
3177dc42f5
did:web support, including our own internal kind
2025-12-20 17:36:33 +02:00
lewis
adfde3bc1e
A little more text in the README.md
2025-12-20 13:49:52 +02:00
lewis
faea661917
OAuth scopes full impl.
2025-12-20 13:05:43 +02:00
lewis
bfa7fb243e
Outbound migration perfected
2025-12-19 19:20:46 +02:00
lewis
80a3e04ec6
Rename to tranquil PDS, sounds better than bullshit PDS
2025-12-18 23:17:51 +02:00
lewis
95958bb119
Inbound migrations work
2025-12-18 21:20:41 +02:00
lewis
d695135a4d
Rename notifications to comms, add handle changing to own domain ability
2025-12-18 20:35:15 +02:00
lewis
27d794d46f
Fix regression with appview proxying
2025-12-18 21:30:10 +02:00
lewis
e929cf5af5
Remove a bunch of unnecessary tests & endpoints
2025-12-18 22:13:25 +02:00
lewis
2cf87e2cfb
Better oauth, appview groundwork
2025-12-17 23:29:48 +02:00
lewis
dea6c09aa0
Add admin functionality
2025-12-16 18:28:20 +02:00
lewis
e2bfcdb74f
More work on the pds notifs
2025-12-16 18:00:44 +02:00
lewis
c24a942a28
Cargo clippy typeshit
2025-12-16 21:23:11 +02:00
lewis
6da77b6565
Clean up installation instructions
2025-12-16 22:15:50 +02:00
lewis
524b99445d
General fixes to make more things work
2025-12-15 23:41:25 +02:00
lewis
0b45807c32
Add back some whitespaces
2025-12-15 19:02:10 +02:00
lewis
c6f9062979
Creating & posting records works. Also messed up newlines but will fix later.
2025-12-14 23:55:04 +02:00
lewis
86db6617af
Fixing my whoopsies
2025-12-13 21:41:53 +02:00
lewis
b981799357
Quick fixes and debugging
2025-12-13 19:45:27 +02:00
lewis
bf0a57cd47
Some theoretical installation instructions, for me to verify
2025-12-13 17:37:49 +02:00
lewis
43c18beb51
Performance enhancements, overengineering
2025-12-13 15:10:53 +02:00
lewis
7b6807c316
First UI idea done
2025-12-12 23:52:52 +02:00
lewis
10ba422e36
auth page css update
2025-12-12 20:42:58 +02:00
lewis
36e31d7ef9
My misc TODOs
2025-12-12 20:28:34 +02:00
lewis
9b75db2ede
Update TODO.md
2025-12-12 23:32:02 +02:00
lewis
b66e4fe291
Remaining endpoints for MVP
2025-12-12 19:20:39 +02:00
lewis
2ededf32a6
Half-ass attempt at the local-first appview endpoints like ref impl
2025-12-12 00:28:57 +02:00
lewis
e90488fbad
Idk. Code quality in general?
2025-12-11 23:02:37 +02:00
lewis
ea7837fcec
First version of pds migration
2025-12-11 17:10:19 +02:00
lewis
2eb67eb688
Actor preferences
2025-12-11 23:23:55 +02:00
lewis
17a7f1dc2b
Initial oauth impl
2025-12-11 20:05:59 +02:00
lewis
0944ecf5bf
Nice things that make the repo a little more legit
2025-12-10 18:53:27 +02:00
lewis
44c3d4129e
Updated TODO with more stuff, added user delete endpoint
2025-12-10 17:22:22 +02:00
Lewis
f19dac454e
More ref PDSes
2025-12-10 20:04:52 +02:00
Lewis
cd641a8029
Other health endpoint
2025-12-10 20:42:33 +02:00
Lewis
c09f0e9982
Initial firehose connections
2025-12-10 19:24:10 +02:00
lewis
8cfea3b480
Gearing up for migration endpoints
2025-12-09 23:35:06 +02:00
lewis
0c57965638
Files were getting too large, logically split them
2025-12-09 23:15:19 +02:00
Lewis
264e61eb14
More email-related endpoints
2025-12-09 22:52:22 +02:00
lewis
39096a217e
Add more email-centric endpoints
2025-12-09 19:39:49 +02:00
lewis
50da4c403e
Initial notification sender service
2025-12-09 18:37:10 +02:00
Lewis
abe1307673
Initial account deletion request endpoint
2025-12-09 21:09:08 +02:00
Lewis
7559378fa8
Rest of lifecycle tests split out to other files
2025-12-09 19:54:05 +02:00
lewis
04a70e590c
More endpoints, split out some tests to smaller files
2025-12-09 23:41:53 +02:00
Lewis
85eb0108fb
Add some nice env vars
2025-12-09 23:28:32 +02:00
lewis
80cee7e6f8
More endpoints baybee
2025-12-09 21:50:07 +02:00
Lewis
48477d8ea3
SQLx query macro the remaining ones
2025-12-08 20:14:23 +02:00
lewis
b19013c6ab
SQLx raw text queries to yummy query macro
2025-12-08 19:44:11 +02:00
Lewis
93422875ab
Come back to some functions I made as stubs earlier
2025-12-08 17:58:53 +02:00
lewis
a2b2c5b4c9
More endpoints
2025-12-08 17:04:00 +02:00
lewis
7ec4861cde
Add endpoints & improve tests
2025-12-08 19:20:59 +02:00
lewis
16549ddcf7
Fix MST persistence & add an appview endpoint for no reason
2025-12-07 22:04:26 +02:00
Lewis
e2cc51f0b1
Format and split big files into smaller ones
2025-12-07 11:47:38 +02:00
Lewis
7b90694066
Check did:web on account create
2025-12-06 15:18:57 +02:00
Lewis
9da8823d18
Initial did:web and objsto impl
2025-12-06 12:55:28 +02:00
Lewis
db272e9f4f
Per-user JWT stuffs
2025-12-05 22:30:55 +02:00
Lewis
7fb8e15b96
Proxying requests
2025-12-05 00:30:32 +02:00