Skip to content

feat: add open-in-file-manager action to project context menu#196

Merged
DeadWaveWave merged 1 commit intoDeadWaveWave:mainfrom
Liu8Can:feat/project-open-in-file-manager
Apr 28, 2026
Merged

feat: add open-in-file-manager action to project context menu#196
DeadWaveWave merged 1 commit intoDeadWaveWave:mainfrom
Liu8Can:feat/project-open-in-file-manager

Conversation

@Liu8Can
Copy link
Copy Markdown
Contributor

@Liu8Can Liu8Can commented Apr 26, 2026

💡 Change Scope

  • Small Change: Fast feedback, localized UI/logic, low-risk.
  • Large Change: New feature, cross-boundary logic, runtime-risk
    (persistence, IPC, lifecycle, recovery).

📝 What Does This PR Do?

Adds a third action to the project right-click menu so users can open
the project directly in the system file manager.

This change is intentionally minimal and reuses the existing
workspace.openPath path-opener flow instead of introducing a new main/
preload contract.

Behavior:

  • Shows Open in Explorer on Windows, Open in Finder on macOS, and
    Open in File Manager on Linux.
  • Resolves the project path from the current local mount first.
  • Falls back to the legacy workspace.path only when mounts are still
    unavailable for older local data.
  • Does not try to open a local file manager for remote-only projects;
    shows an in-app warning instead.

🏗️ Large Change Spec (Required if "Large Change" is checked)

1. Context & Business Logic

N/A. This PR is scoped as a Small Change.

2. State Ownership & Invariants

N/A. This PR does not introduce new persisted or cross-boundary state
ownership.

3. Verification Plan & Regression Layer

N/A. See verification below.


✅ Delivery & Compliance Checklist

  • My code passes the ultimate gatekeeper: pnpm pre-commit is
    completely green
    .
  • I have signed the CLA if required (see CLA.md).
  • I have included new tests to lock down the behavior (or explicitly
    stated why it's untestable).
  • I have strictly adhered to the DEVELOPMENT.md architectural
    boundaries.
  • I have attached a screenshot or screen recording (if this touches
    the UI).
  • I have updated the documentation accordingly (if adding a feature
    or changing a contract).

📸 Screenshots / Visual Evidence

Please attach one screenshot of the project context menu showing:

  • Manage locations…
  • Open in Explorer / Open in Finder / Open in File Manager
  • Remove project
image

Verification

  • pnpm pre-commit
  • Added unit coverage for:
    • local mount preferred over remote mount
    • legacy path fallback when no mounts exist yet
    • warning path for remote-only projects
  • Added E2E coverage to verify the new context-menu action is visible
    from the sidebar project menu

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 26, 2026

CLA assistant check
All committers have signed the CLA.

@Liu8Can
Copy link
Copy Markdown
Contributor Author

Liu8Can commented Apr 26, 2026

I checked the failing CI after opening this PR.

What I changed in this PR is limited to the project sidebar context menu
and the new “open in file manager” action.

I re-ran the relevant checks locally:

  • pnpm pre-commit passed
  • the targeted sidebar E2E passed
  • shard 2/3 (which contains workspace-canvas.sidebar- workspaces.spec.ts) passed locally

I also reproduced failures locally in unrelated M6 mounts tests:

  • tests/e2e/m6.endpoints-mounts.integration.spec.ts
  • tests/e2e/m6.endpoints-mounts.legacy- repair.local.integration.spec.ts

So from what I can tell, the current red CI is not caused by this
sidebar context-menu change.

@DeadWaveWave DeadWaveWave merged commit 7504eb2 into DeadWaveWave:main Apr 28, 2026
11 of 13 checks passed
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.

3 participants