Commit Graph
5 Commits
Author SHA1 Message Date
Jinwoo Hong c0273b1ff7 test(e2e): move the Source Control reveal golden into its own spec so older release tags skip it (#26005) 2026-10-06 21:07:20 -04:00
6012570996 feat(files): reveal Source Control files and terminal file links in the file manager (#24502)
* 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>
2026-10-05 20:10:31 -07:00
Jinwoo Hong 1efd4e1a97 test(e2e): seed source control diff before opening panel (#17784) 2026-08-31 22:22:17 -04:00
Jinwoo Hong 59515beb70 fix(release): recover immutable patch validation gates (#16984)
* fix(release): recover immutable patch validation gates

* test(e2e): locate wrapped terminal file links

* test(e2e): keep sibling file links on one terminal row
2026-08-28 00:55:45 -07:00
Jinjing e84fb46eaf test: add golden E2E tests for source control workflows (#14260)
* 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
2026-08-13 09:56:30 -07:00