Skip to content

Restore Retry Now socket subscription - #14

Merged
askac merged 3 commits into
mainfrom
fix/retry-now
Aug 26, 2026
Merged

Restore Retry Now socket subscription#14
askac merged 3 commits into
mainfrom
fix/retry-now

Conversation

@askac

@askac askac commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Why

Retry Now opens the Socket.IO manager directly after some disconnect paths have removed the namespace subscriptions. The transport can reopen without restoring the page socket, while the README also leaves the browser-owned SSH signer advantages and browser authorization credential scope implicit.

What changed

  • Reconnect through the Socket so namespace subscriptions are restored before the manager opens.
  • Document the browser-owned Ed25519 signing boundary, exact profile binding, and portable non-secret settings model.
  • Clarify the authorization URL bearer scope, persistent browser trust, and process-lifetime access token.
  • Preserve continuous reconnect backoff, access-token recovery, optional browser-key use, and password or host-side authentication when key use is off.

Testing

Covered offline automatic recovery, immediate recovery after a full Socket disconnect, current-token recovery, the complete browser regression suite, backend authorization and SSH signer policy scenarios, and static documentation validation.

askac added 3 commits August 26, 2026 23:38
## Why
Retry Now opens the Socket.IO manager directly after some disconnect paths have removed the namespace subscriptions. The transport can reopen without restoring the page socket, leaving the unavailable state visible.

## What changed
- Reconnect through the Socket so namespace subscriptions are restored before the manager opens.
- Preserve continuous backoff and access-token recovery for failed retry attempts.

## Testing
Covered offline automatic recovery, immediate recovery after a full Socket disconnect, current-token recovery, and the complete browser regression suite.
## Why
Browser authorization setup documents the redemption flow but not the grant link's bearer scope, persistent browser trust, or process-lifetime access token. Forwarding one of these credentials can therefore grant more access than its holder expects.

## What changed
- Document the local minting boundary and the authorization URL's single-use 120-second lifetime.
- Explain that accepted browser keys remain authorized until revoked.
- Preserve the existing process-scoped access token behavior while documenting its rotation condition.

## Testing
Covered source-level verification of authorization grant expiry and replay rejection, local HTTP minting policy, persistent browser-key storage, and process-scoped access token generation.
@askac
askac merged commit d488318 into main Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant