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
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
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
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
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
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 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
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 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
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
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
34f050a1f0
feat(oauth): discoverable passkey authentication
...
Lewis: May this revision serve well! <lu5a@proton.me >
2026-04-12 11:16:58 +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 and Tangled
5c8894d531
refactor: update routes, backend verification tweaks, and restyle
2026-03-19 14:26:26 +00:00
Lewis and Tangled
ebf5af4922
fix(backups): remove useless backups concept
2026-03-18 12:17:33 +00:00
Lewis and Tangled
7926c798c6
feat: cross-pds delegation
2026-03-17 19:22:34 +00:00
lewis and Tangled
28ca66624a
fix: ability to send more verifications
2026-02-24 10:13:11 +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 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
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
190f1a3430
feat: legacy 2fa impl
2026-01-28 18:40:08 +00:00
lewis and Tangled
d7b96773fd
fix: better type-safety
2026-01-26 17:15:51 +00:00
lewis and Tangled
12a189cb2b
feat: oauth prompt=create, other frontend fixes
2026-01-19 17:44:24 +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
71d9ed7d38
tranquil-db crates, repository pattern for db access
2026-01-14 22:21:38 +02:00