Evan Jarrett and Claude Fable 5
37bab324d7
fix OAuth refresh-token burn on client cancellation causing sign-outs
...
When a Docker client canceled a slow /auth/token request mid-refresh, the
token-refresh POST was aborted client-side but completed on the PDS, which
rotated the refresh token. The rotated token was never received or persisted,
so the next refresh replayed the consumed token, got invalid_grant, and the
session (OAuth + UI) was deleted, signing the user out everywhere.
- Detach refresh POSTs from the inbound request context via a per-session
RoundTripper (WithoutCancel + 30s cap); once a refresh starts it completes
- Persist session updates (rotated tokens, DPoP nonces) on a detached context
- Gate session deletion on IsSessionInvalidError: cancellation, timeouts, and
transport errors no longer delete sessions; genuine invalid_grant still does
- Add phase timing to /auth/token and per-DID lock wait warnings to attribute
the ~14s pre-refresh stalls that push requests past Docker's deadline
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-02 13:38:45 -05:00
Evan Jarrett
902fba4553
convert alert to modal. go fix the codebase
2026-05-16 11:59:47 -05:00
Evan Jarrett
a0cc862798
lots of new work for authenticating between appview -> hold. fixed quota handling, improve integration tests for round-trip push/pull/auth/quota checking
2026-05-11 09:20:55 -05:00
Evan Jarrett
25628dad2c
update the login page
2026-04-11 21:01:31 -05:00
Evan Jarrett
9033d74a19
fix validation on dids with hyphens
2026-04-07 22:26:21 -05:00
Evan Jarrett
a68477033a
use hyphens as the encode for dids
2026-04-07 21:47:51 -05:00
Evan Jarrett
21b6f6301a
allow dids on docker login
2026-04-07 21:32:51 -05:00
Evan Jarrett
9704fe091d
use chi/render to simplify returned json
2026-01-06 22:47:21 -06:00
Evan Jarrett
e6bd4c122e
fix sql migration bug. add better error logs for auth failures. fix showing incorrect pull commands with helm charts
2026-01-03 17:26:25 -06:00
Evan Jarrett
509a1c0306
some lexicon json cleanup. code formatting
2025-12-20 10:46:40 -06:00
Evan Jarrett
4063544cdf
cleanup view around attestations. credential helper self upgrades. better oauth support
2025-12-18 09:33:31 -06:00
Evan Jarrett
5f1eb05a96
try and provide more helpful reponses when oauth expires and when pushing manifest lists
2025-11-25 09:25:38 -06:00
Evan Jarrett
ecf84ed8bc
type-ahead login api. fix app-passwords not working without oauth
2025-11-09 21:57:28 -06:00
Evan Jarrett
4cfe6f221d
create identity resolver to reduce duplicate lookups
2025-10-26 23:08:03 -05:00
Evan Jarrett
0b22082f89
lower cached plc hits to 8 hours
2025-10-26 22:50:42 -05:00
Evan Jarrett
c831d3f735
auth/token needs GET
2025-10-25 19:42:54 -05:00
Evan Jarrett
35ba417a96
more slog
2025-10-25 10:14:19 -05:00
Evan Jarrett
f75d9ceafb
big scary refactor. sync enable_bluesky_posts with captain record. implement oauth logout handler. implement crew assignment to hold. this caused a lot of circular dependencies and needed to move functions around in order to fix
2025-10-24 23:51:32 -05:00
Evan Jarrett
5d52007104
general bug fixes
2025-10-21 09:21:51 -05:00
Evan Jarrett
48414be75d
lots of unit testing for xrpc endpoints. start pointing appview to the new endpoints. remove legacy api endpoints
2025-10-17 15:41:20 -05:00
Evan Jarrett
70e802764b
crazy refactor to start using holds embedded pds for crew/captain validation
2025-10-16 00:05:45 -05:00
Evan Jarrett
ab7e0f07ac
fix authentication message
2025-10-12 22:45:44 -05:00
Evan Jarrett
9a64804807
better unauth message
2025-10-12 22:30:24 -05:00
Evan Jarrett
9025c89cc6
attempt gorelease and goat builds
2025-10-12 22:09:03 -05:00
Evan Jarrett
776b5f444c
try and use multipart uploads
2025-10-10 20:50:21 -05:00
Evan Jarrett
08d5fce21f
move file store cache to sqlite. implement repository page
2025-10-07 21:51:53 -05:00
Evan Jarrett
5bcedac3c1
update docker credential helper to remove configure and store devices, not api keys. improve ui, fetch profile image
2025-10-07 19:52:26 -05:00
Evan Jarrett
2d16bbfee3
cleanup more auth
2025-10-07 10:58:11 -05:00
Evan Jarrett
31e235a2a1
cleanup oauth
2025-10-04 13:50:28 -05:00
Evan Jarrett
85d0bd2463
initial commit
2025-10-02 11:03:59 -05:00