From c19bfb50ad6fc6368635cb0df8ec81bb820160bb Mon Sep 17 00:00:00 2001 From: helix4u <4317663+helix4u@users.noreply.github.com> Date: Wed, 1 Jul 2026 12:29:02 -0600 Subject: [PATCH] fix(desktop): restore remote file picker attachments --- apps/desktop/src/lib/desktop-fs.test.ts | 12 +++++++++++- apps/desktop/src/lib/desktop-fs.ts | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/lib/desktop-fs.test.ts b/apps/desktop/src/lib/desktop-fs.test.ts index 9dcada40a..f4dc4fac3 100644 --- a/apps/desktop/src/lib/desktop-fs.test.ts +++ b/apps/desktop/src/lib/desktop-fs.test.ts @@ -142,12 +142,22 @@ describe('desktop filesystem facade', () => { expect(selectPaths).not.toHaveBeenCalled() }) + it('uses the local Electron picker for remote file selection', async () => { + const remoteSelect = vi.fn(async () => ['/remote/project']) + $connection.set({ mode: 'remote' } as never) + setDesktopFsRemotePicker({ selectPaths: remoteSelect }) + + await expect(selectDesktopPaths({ directories: false, multiple: false })).resolves.toEqual(['/local']) + + expect(selectPaths).toHaveBeenCalledWith({ directories: false, multiple: false }) + expect(remoteSelect).not.toHaveBeenCalled() + }) + it('limits the remote picker to single-directory selection', async () => { const remoteSelect = vi.fn(async () => ['/remote/project']) $connection.set({ mode: 'remote' } as never) setDesktopFsRemotePicker({ selectPaths: remoteSelect }) - await expect(selectDesktopPaths({ directories: false, multiple: false })).resolves.toEqual([]) await expect(selectDesktopPaths({ directories: true })).resolves.toEqual(['/remote/project']) expect(remoteSelect).toHaveBeenCalledWith({ directories: true, multiple: false }) diff --git a/apps/desktop/src/lib/desktop-fs.ts b/apps/desktop/src/lib/desktop-fs.ts index d66e02230..3b05031ba 100644 --- a/apps/desktop/src/lib/desktop-fs.ts +++ b/apps/desktop/src/lib/desktop-fs.ts @@ -179,7 +179,7 @@ export async function selectDesktopPaths(options?: HermesSelectPathsOptions): Pr } if (!options?.directories) { - return [] + return desktop.selectPaths(options) } return remotePicker ? remotePicker.selectPaths({ ...options, multiple: false }) : []