Skip to content

Conversation

@legoktm
Copy link
Member

@legoktm legoktm commented Nov 19, 2025

The frontend asks the backend to open a specific UUID, and the backend looks it up and passes the filename to qvm-open-in-vm.

This unconditionally opens files in the sd-viewer dispVM, there is no exception for dev environments or otherwise (just like the client).

Fixes #2838.

Fixes #

Test plan

Checklist

This change accounts for:

  • testing changes on Qubes as needed (especially changes related to cryptography, export, disposable VM use, or complex UI changes)
  • any needed updates to the AppArmor profile for files beyond the application code
  • any needed self-contained database migrations (including testing against a clean test database from main)

@legoktm legoktm requested a review from Copilot November 19, 2025 22:50
Copilot finished reviewing on behalf of legoktm November 19, 2025 22:53
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements the ability to open downloaded files in the sd-viewer disposable VM. Users can click on completed file items in the conversation view, which triggers the backend to open the file using qvm-open-in-vm.

Key changes:

  • Added click handler to file buttons that calls the new openFile API
  • Implemented IPC handler that validates file existence and spawns qvm-open-in-vm process
  • Added the openFile method to the Electron API bridge

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
app/src/renderer/views/Inbox/MainContent/Conversation/Item/File.tsx Added onClick handler to completed file buttons and removed TODO comment
app/src/renderer/test-component-setup.tsx Added mock for openFile API in test setup
app/src/preload/index.ts Exposed openFile IPC method through the Electron API bridge
app/src/main/index.ts Implemented IPC handler that validates item/file existence and launches qvm-open-in-vm

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

The frontend asks the backend to open a specific UUID, and the backend
looks it up and passes the filename to `qvm-open-in-vm`.

This unconditionally opens files in the sd-viewer dispVM, there is
no exception for dev environments or otherwise (just like the client).

Fixes #2838.
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.

app: open files in a separate VM

2 participants