Skip to content

feat(tui): open local file links - #2073

Closed
sethkarten wants to merge 1 commit into
mainfrom
feat/local-file-links
Closed

feat(tui): open local file links#2073
sethkarten wants to merge 1 commit into
mainfrom
feat/local-file-links

Conversation

@sethkarten

@sethkarten sethkarten commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Context

Prime Agent already renders file:// Markdown links as OSC 8 hyperlinks, but fullscreen mode rejected them when it handled mouse clicks. This made local file links do nothing while website links worked.

No-Ticket: requested directly.

Changes

  • Allow file: links through the existing fullscreen hyperlink handler.
  • Keep unsupported schemes blocked.
  • Use the existing platform opener on macOS, Windows, and Linux.

Validation

  • cd packages/tui && node --test --import tsx test/fullscreen.test.ts (46 passed)
  • npm run check

Note

Low Risk
Single-protocol allowlist change in the TUI hyperlink handler with updated tests; no auth or data-path changes.

Overview
Fullscreen OSC 8 clicks now open file:// links, matching behavior for http(s) links when mouse reporting prevents the terminal from handling links natively.

openHyperlink still rejects unsupported schemes (e.g. ssh://), malformed URLs, and URLs containing control characters. Opening uses the existing onOpenUrl hook or the platform default (open, xdg-open, Windows file handler).

Reviewed by Cursor Bugbot for commit b6e83f0. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add file: protocol support to TUI.openHyperlink opener

Extends the hyperlink opener in the fullscreen TUI to accept file: URLs in addition to HTTP and HTTPS. File links are dispatched through the existing open-URL callback or platform opener, while other non-HTTP(S) schemes remain rejected. Tests now cover a percent-encoded file: URL and an unsupported ssh: URL.

Macroscope summarized b6e83f0.

@sethkarten

Copy link
Copy Markdown
Contributor Author

Included in #2068: #2068

@sethkarten sethkarten closed this Sep 7, 2026
sethkarten added a commit that referenced this pull request Sep 7, 2026
…2068)

* feat(coding-agent): show the model label on every agents-view row

Resident summaries carry model info for all session kinds; only the
renderer restricted the label to subagent rows. Drop the special case so
any row whose summary has a model renders provider/id[:thinkingLevel] in
the suffix region, still suppressed while pending delete/kill.

* fix(coding-agent): open visible sessions without waiting for selection anchors

Consolidates #2079 at d5b4926.

* feat(tui): open local file links

Consolidates #2073 at b6e83f0.

* feat(coding-agent): highlight file references and command options

Consolidates #1145 at 285ccf4.

* feat: refresh Prime Inference models from the live catalog

Consolidates #1928 at 24d3413.

* feat(coding-agent): let root agents create sibling sessions

Consolidates #1996 at 0c9c883.

* feat(coding-agent): wake agents when asynchronous bash finishes

Consolidates #2053 at 1bb4d43.

* feat(coding-agent): simplify the agents view while retaining model details

Consolidates #2087 at dc67428.
Retains #2068 model visibility and #2079 immediate opening and query ownership.

* fix(coding-agent): preserve background work and sibling-session credentials

Keep managed shell commands active until completion delivery is accepted.
Forward only effective same-provider transient auth when creating root sessions.
Integration fixes for #2053 and #1996.

* fix(coding-agent): address session lifecycle and rendering regressions

Preserve sibling PATH and reject root creation after disposal.
Treat background completions as new runs without duplicate as_completed wakes.
Keep table delimiters visible and sanitize live catalog display metadata.
Scope the stale-auth regression fixture to its cached Prime team.

* fix(coding-agent): forward the selected provider environment credentials

Preserve alias priority and runtime credential identity when creating sibling sessions.
Pin that a create timeout never dispatches the task prompt.

* fix(runtime): recheck creating-cell waits when shell commands settle

Preserve late as_completed consumers without suppressing detached completion notices.
Document the cached-wrapper result limitation.

* fix(runtime): preserve background bash completion lifecycle

Wait for process-group cleanup before releasing residency. Defer paused admission within the original request and report terminal rejection.
Preserve notices after cancelled non-owning waits and clean up interrupted task construction.

* fix(runtime): use a portable signal for construction cleanup

Keep immediate POSIX cleanup and use the existing Windows job cleanup path without referencing SIGKILL.

* fix(coding-agent): steer shell messages and stop losing supervisor launches

Deliver labeled shell completion messages at the next safe turn boundary.
Stop only an owned replacement child that loses to a current authenticated supervisor.

---------

Co-authored-by: Seth <seth@primeintellect.ai>
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