Skip to content

[bugfix][#965] Render canonical GitHub PR links in VS Code logs#969

Merged
were merged 1 commit intomainfrom
issue-965
Feb 18, 2026
Merged

[bugfix][#965] Render canonical GitHub PR links in VS Code logs#969
were merged 1 commit intomainfrom
issue-965

Conversation

@were
Copy link
Contributor

@were were commented Feb 18, 2026

[bugfix][#965] Render canonical GitHub PR links in VS Code logs

Summary

This PR fixes VS Code plan/implementation log link handling so canonical GitHub pull request URLs are treated the same as canonical issue URLs.

What Changed

  • Expanded webview log linkification to support canonical GitHub issue and PR URLs.
  • Expanded extension-host URL allowlist to canonical GitHub issue and PR routes.
  • Unified external URL opening through a single allowlist gate used by plan/view-issue, plan/view-pr, and link/openExternal.
  • Updated VS Code link-detection tests to cover:
    • issue URL positives
    • PR URL positives
    • unsupported-route negatives (including extra route segments)
  • Updated companion and workflow/tutorial docs to reflect canonical issue+PR behavior.

Validation

  • make vscode-plugin passed.
  • tests/vscode/test-link-detection.sh passed (20 passed, 0 failed).
  • TEST_SHELLS="bash zsh" make test-fast passed:
    • bash: 58 passed, 0 failed
    • zsh: 58 passed, 0 failed
    • python/pytest: 405 passed, 0 failed

Issue 965 resolved
closes #965

Allow VS Code plan/implementation logs to linkify GitHub PR URLs the same way as issue URLs,
while keeping external URL opening restricted to canonical GitHub issue/PR routes.

File changes:
- `vscode/webview/plan/utils.ts`
  - Expanded log link detection from issue-only to issue+PR routes.
  - Tightened matching to canonical route boundaries so extra path/query/fragment segments are not linkified.
- `vscode/src/view/unifiedViewProvider.ts`
  - Expanded URL allowlist from issue-only to issue+PR canonical routes.
  - Added `openExternalGitHubUrl()` as the single allowlist gate and reused it in:
    - `plan/view-issue`
    - `plan/view-pr`
    - `link/openExternal`
- `tests/vscode/test-link-detection.sh`
  - Updated regex fixtures to match issue+PR canonical behavior.
  - Added PR-positive detection coverage.
  - Added allowlist validation coverage for canonical positives and unsupported-route negatives.
- `vscode/webview/plan/utils.md`
  - Documented canonical issue+PR linkification contract for `renderLinks()`.
- `vscode/src/view/unifiedViewProvider.md`
  - Documented canonical issue+PR URL validation and shared external-open gate.
- `docs/workflows/vscode-extension.md`
  - Documented inline issue/PR linkification and canonical external-open restrictions.
- `docs/tutorial/03-vscode-planning.md`
  - Documented clickable canonical issue/PR links in logs.

Related issue:
- #965

Tests:
- `make vscode-plugin`: PASS
- `tests/vscode/test-link-detection.sh`: PASS (20 passed, 0 failed)
- `TEST_SHELLS="bash zsh" make test-fast`: PASS
  - Bash suite: 58 passed, 0 failed
  - Zsh suite: 58 passed, 0 failed
  - Python suite: 405 passed, 0 failed
@were were merged commit fe17369 into main Feb 18, 2026
4 checks passed
@were were deleted the issue-965 branch February 18, 2026 19:09
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.

[plan] [#965] Render GitHub PR URLs in VS Code Logs

1 participant

Comments