Repository navigation
Device-list authorization + DO-first control plane (listauth) #11220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
5af5bee
test: reproduce irx mint failure on stale kept-alive broker connection
azooz2003-bit eed4383
irx: retry mint once on stale kept-alive connection, attribute URL er…
azooz2003-bit 102728c
control-plane v1: JSON Schema wire contract + generated Swift/TS types
azooz2003-bit 3206fb5
control-plane v1: proof optional on mint_request/publish_hint (phase …
azooz2003-bit ee15150
control-plane v1: relay passes carry refreshAfter
azooz2003-bit 04a7325
irx control plane: socket client, pushed passes, event-driven relay r…
azooz2003-bit 50ce4bb
Merge branch 'feat-irx-mint-retry' into feat-irx-ctlplane
azooz2003-bit c5284ec
control-plane v1: wire the account control-plane channel into the pre…
azooz2003-bit fa182b9
ci: guard the committed control-plane wire types in workflow-guard-tests
azooz2003-bit cff4b32
irx control plane: passes stay on the HTTPS autopilot in phase A (bro…
azooz2003-bit 8359ce8
irx: Settings Networking reflects the irx runtime instead of the dorm…
azooz2003-bit 7cbf8e3
irx control plane: Mac passes stay on the HTTPS autopilot in phase A too
azooz2003-bit ab46dc7
control plane: dev worker proxies upstream calls to the staging web d…
azooz2003-bit 9b857c6
irx: register before minting on cached-state launches (mint proof race)
azooz2003-bit 5f89aac
control plane: carry the Stack refresh token beside the bearer
azooz2003-bit 4e26840
irx: provisioning is event-driven on sign-in, never before it
azooz2003-bit a61abe7
irx: publish device-registry routes to shared staging in Debug
azooz2003-bit 20fef43
irx: provision restored sessions too, not only fresh sign-in publishes
azooz2003-bit 7f7487c
irx: journal every auth-gate transition
azooz2003-bit 265eadc
irx: physical-device attach tickets carry the Mac device id
azooz2003-bit 994fc6e
irx: namespace transport state per bundle and broker; owner-only cach…
azooz2003-bit aecc7bc
Unbreak the macOS build: pass the namespaced state directory into Irx…
azooz2003-bit 1b41f40
irx: pairing attempts clear the stack-token gate's timed-out suppression
azooz2003-bit 7cba7e3
Merge remote-tracking branch 'origin/main' into feat-irx-ctlplane
azooz2003-bit 1e5270c
auth: explicit pairing attempts supersede parked timed-out phases
azooz2003-bit 6567a34
Merge remote-tracking branch 'origin/main' into feat-irx-ctlplane
azooz2003-bit 161f2e0
Merge remote-tracking branch 'origin/main' into feat-irx-ctlplane
azooz2003-bit 241f29d
Adopt main's vendor/bonsplit pin (merge kept stale gitlink)
azooz2003-bit 238a38b
Merge remote-tracking branch 'origin/feat-irx-ctlplane' into feat-lis…
azooz2003-bit 33b662e
listauth: acceptance-gates harness (30-min soak relay/direct, cold <2…
azooz2003-bit 014778f
listauth backend: listv2 overlay, acks + alarm retry ladder, revocati…
azooz2003-bit 8aae7fc
fix(main-red): expose processLiveness in AgentHibernationRecord membe…
azooz2003-bit 80e9744
listauth gates: per-launch sim sign-in env, signed-in anchor, directo…
azooz2003-bit 8537d1b
irx keepalive: two consecutive pong misses before death, immediate re…
azooz2003-bit 3e04f82
irx: authorize NAT traversal after admission in automatic path mode
azooz2003-bit 68c66c0
irx: foreground stale-redial — replace zombie sessions immediately on…
azooz2003-bit 3a8b53b
listauth gates: background scoring uses foreground-relative wall delta
azooz2003-bit d2aed68
irx: send X-Cmux-App-Namespace on the control socket; DO emits confir…
azooz2003-bit 14fcb37
mobile-dev-launch: allow cold auth bootstrap
azooz2003-bit b57438e
stabilize irx mobile sessions and presence heartbeats
azooz2003-bit 4ae6995
fix presence control-plane directory discovery
azooz2003-bit 60505d1
Merge origin/main into feat-listauth
azooz2003-bit ddfea62
test: remove timing assertion from control plane race
azooz2003-bit 380ca8b
Merge remote-tracking branch 'origin/main' into feat-listauth
azooz2003-bit 3717ddc
fix: keep control-plane and devbox CI contracts green
azooz2003-bit 7e2f370
fix: harden redial and legacy directory compatibility
azooz2003-bit 328b9a6
fix: recover zombie control sockets safely
azooz2003-bit fbd35fb
Merge remote-tracking branch 'origin/main' into feat-listauth
azooz2003-bit 7155014
fix: preserve cache data and monotonic reconnect liveness
azooz2003-bit c8e37df
fix: reject replayed leases and unscoped cache migration
azooz2003-bit 9a0a6b5
fix: acknowledge revisioned control-plane updates
azooz2003-bit afadcc4
fix: close reconnect and admission race windows
azooz2003-bit c52527b
fix: acknowledge directories and preserve legacy cache
azooz2003-bit 39ac413
fix: serialize control loops and merge relay updates
azooz2003-bit 9b94796
fix: acknowledge only applied control-plane facts
azooz2003-bit 5bfad3c
fix: remove shared decoder and snapshot registry closes
azooz2003-bit dfe4185
fix: bound persisted device lease TTL
azooz2003-bit File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -57,4 +57,22 @@ actor AuthPhaseTimeoutRegistry { | |
| activePhases[key] = nil | ||
| timedOutPhases[key] = nil | ||
| } | ||
|
|
||
| /// Supersede every parked timed-out phase for an explicit interactive | ||
| /// attempt. A timed-out phase's operation was already cancelled at its | ||
| /// deadline and the sign-in write chokepoint drops a cancelled flow's | ||
| /// token writes, so the damper's only remaining job is suppressing | ||
| /// AUTOMATIC retry hammering; an explicit user action (a pairing attempt, | ||
| /// a tapped retry) is entitled to reclaim the phase immediately. Only the | ||
| /// timed-out operation's slot is released: a live, untimed-out operation | ||
| /// keeps refusing concurrent begins exactly as before. | ||
| func supersedeTimedOutPhases() { | ||
| for (key, state) in timedOutPhases { | ||
| activePhases[key]?.remove(state.id) | ||
| if activePhases[key]?.isEmpty == true { | ||
| activePhases[key] = nil | ||
| } | ||
| } | ||
| timedOutPhases.removeAll() | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. P2: When an operation is caller-cancelled, the deferred Prompt for AI agents |
||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: When an Iroh ticket has no non-empty
macDeviceID, this branch emits a v3 URL that cannot pass transport admission because the decodedexpectedPeerDeviceIDis empty. Treat such tickets as not encodable and keepcanEncodeconsistent so callers use the fallback payload instead.Prompt for AI agents