Skip to content

fix(web): pair on same-tab token hash navigation - #1740

Merged
donjor merged 1 commit into
hyprwsfrom
fix/pair-hash-token
Oct 14, 2026
Merged

donjor merged 1 commit into
hyprwsfrom
fix/pair-hash-token

Conversation

@donjor-agent

@donjor-agent donjor-agent Bot commented Oct 14, 2026

Copy link
Copy Markdown

🤖 claude/anthropic claude-opus-5-5 (high) · host
with peer-worker pi/openai gpt-6.1-sol (low)

Problem

Navigating an existing /pair tab to /pair#token=... never submits the token and leaves it in the address bar.

Change

Consume URL tokens on mount and hashchange, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

Verification

Behavior

  • Navigation: same-tab token pairs
  • Privacy: token stripped from URL
  • First load: pairing still succeeds
  • Tests: 2 passed, 0 failed

Checks

  • Types: web typecheck, exit 0
  • Lint: changed files, exit 0
  • Build: web production, exit 0
  • Gate: vp run fork:ci, exit 0
  • Live evidence: host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
@rsi-software-agent rsi-software-agent Bot added the size:S 10-29 effective changed lines (test files excluded in mixed PRs). label Oct 14, 2026
@donjor
donjor marked this pull request as ready for review October 14, 2026 03:47
@donjor
donjor merged commit 1e03952 into hyprws Oct 14, 2026
@donjor
donjor deleted the fix/pair-hash-token branch October 14, 2026 03:50
donjor added a commit that referenced this pull request Oct 15, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 15, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 16, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 16, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 18, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 18, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 18, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 19, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 19, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 19, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 20, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 20, 2026
Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
donjor added a commit that referenced this pull request Oct 20, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 4e65bbd fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 470e5f5 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 20, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 4e65bbd fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 470e5f5 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 20, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 4e65bbd fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 470e5f5 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 20, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 4e65bbd fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 470e5f5 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 21, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 4e65bbd fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 470e5f5 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor added a commit that referenced this pull request Oct 21, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 4e65bbd fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 470e5f5 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Co-authored-by: donjor <[email protected]>
donjor pushed a commit that referenced this pull request Oct 21, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
donjor pushed a commit that referenced this pull request Oct 21, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
donjor pushed a commit that referenced this pull request Oct 21, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
donjor pushed a commit that referenced this pull request Oct 22, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
donjor pushed a commit that referenced this pull request Oct 22, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Oct 29, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Oct 29, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Oct 29, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Oct 30, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Oct 30, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Oct 30, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Oct 31, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
donjor pushed a commit that referenced this pull request Nov 6, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 6, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 6, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 6, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 6, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 6, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 6, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 7, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 7, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 7, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 8, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 8, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 9, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
donjor pushed a commit that referenced this pull request Nov 9, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 9, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 9, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 9, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 9, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 10, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 10, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 10, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 10, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
rsi-software-agent Bot pushed a commit that referenced this pull request Nov 10, 2026
## Problem

Navigating an existing `/pair` tab to `/pair#token=...` never submits the token and leaves it in the address bar.

## Change

Consume URL tokens on mount and `hashchange`, using the existing token-stripping helper and credential submission path.
Remove the obsolete mount-only token refs.

## Scope and approval

The host approved this focused fix and PR publication.
Closes #146.

## Verification

### Behavior

- [x] **Navigation:** same-tab token pairs
- [x] **Privacy:** token stripped from URL
- [x] **First load:** pairing still succeeds
- [x] **Tests:** 2 passed, 0 failed

### Checks

- [x] **Types:** web typecheck, exit 0
- [x] **Lint:** changed files, exit 0
- [x] **Build:** web production, exit 0
- [x] **Gate:** `vp run fork:ci`, exit 0
- [ ] **Live evidence:** host grounding pending

No servers or browsers launched by this worker.
Hosted pairing and native mobile are unchanged.

Implementation: Pi, gpt-6.1-sol; host: Claude Code, claude-opus-5-5.

## Fork trailers

Squashes:

- 8d3c37e fix(web): pair on same-tab token hash navigation (#1740) (#1740)
- 46cf384 fixup! fix(web): pair on same-tab token hash navigation (#1740) (#1740)

Fork-Domain: upstream-fixes
Fork-Tier: bugfix
Fork-Upstreamable: yes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 effective changed lines (test files excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[📍] Pairing link opened in a tab already showing the pairing screen never auto-pairs

1 participant