* feat(reveal): reveal changed files and terminal file links
Reveal only existed on file explorer rows. Every reveal menu now shares
one action, so a missing file or a remote workspace behaves the same
in all of them.
Fixes#24003
* fix(reveal): address review findings on missing links and SSH files
A hovered hyperlink to a missing file saved "missing" in the cache plain
path links trust, hiding the path once the file existed. A tab holding an
SSH file from outside its workspace still offered reveal.
* fix(reveal): drop reveal from check-details tabs
Their path is a synthetic id, so reveal could only fail.
* fix(reveal): use scoped file access for directory checks
* fix(reveal): retire superseded Spanish menu labels
* test: preserve explicit file access and untranslated-locale contracts
* refactor(terminal): reveal a file link from its click popover, not the right-click menu
The terminal "Reveal in Finder" action now lives in the file-link popover
(the one with "Open file" and "Open with default app"), as a row with no
click shortcut. It goes through the shared reveal, so a folder link (including
a macOS .app or .xcodeproj bundle) is selected in its parent and never opened.
The row is omitted, not disabled, when the file is not on this machine: an
SSH or runtime-owned file, a pane whose shell runs on another host, or while a
remote runtime is focused. Workspace-root links keep their own "Open in
Finder"/"Open folder" row and get no reveal row.
Removes the right-click path: the context-menu item, the hovered-link tracking
and its OSC 8 / path-existence probe refactors, the directory stat (and its
user-named file-access grant, which only served the open-a-folder behaviour),
and the right-click e2e case. Terminal files the PR touched are back to main
apart from the popover row.
Co-authored-by: Kelvin Amoaba <97001695+AmoabaKelvin@users.noreply.github.com>
* test(terminal): type the reveal settings fixture without assertion
* test(startup): account for encoded Windows prompt lines
* test(compatibility): retain the released journal parser dependency
* test(journal): retain one canonical provider-handle import
* fix(terminal): give the popover's Reveal in Finder row the reveal icon
Every other Reveal in Finder item shows the external-link icon; the link
popover draws it for rows that open outside Orca, so mark the row that way.
---------
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
Co-authored-by: Brennan Benson <79079362+brennanb2025@users.noreply.github.com>
* test: add golden E2E tests for source control workflows
- Tests core source control interactions: file edit/save, commit staging, and diff viewing
- Integrated into CI/CD pipelines for Linux, macOS, and Windows
- Includes helper utilities for test setup and worktree management
* test(e2e): verify golden commit author and fix test flakiness
- Configure git author name/email at worktree level during setup
- Verify commits are made with correct author details in assertions
- Add explicit timeouts to file visibility waits and git status polling
- Fix test ordering to seed edits after source control is open
- Simplify git status refresh logic to rely on automatic updates
* Add rollback to createGoldenWorktree on setup failure
Cleanup callbacks only register after setup succeeds. When a config
command fails, the half-built worktree and branch leak into later
test runs, causing flakiness. Now we roll back immediately and
re-throw the setup error.
* test(e2e): match explorer rows after the git status badge appears
The golden file-save spec used an exact /^README.md$/ filter. After save,
the explorer row text becomes "README.md M", so reopen clicked nothing.
* test: strengthen golden worktree setup verification
- Track working directory in git call inspection to verify correct execution context
- Verify user.name/email config applies to worktree-specific settings, not repo
- Add exhaustive setup call sequence assertions to catch setup/rollback leaks