Skip to content

Templates: open URLs in disposables - #665

Open
notmuchtohide wants to merge 6 commits into
QubesOS:mainfrom
notmuchtohide:template-open-url-dvm
Open

Templates: open URLs in disposables#665
notmuchtohide wants to merge 6 commits into
QubesOS:mainfrom
notmuchtohide:template-open-url-dvm

Conversation

@notmuchtohide

@notmuchtohide notmuchtohide commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

This is part of QubesOS/qubes-issues#6310, aiming to open Gnome Software URLs (project website, donation pages, etc.) in disposables.

This allows the user to check the project website safely before installing apps, while reducing the need for screenshots to recognize the apps in Gnome Software (QubesOS/qubes-issues#10983).

Previously, URLs were opened in offline browsers. However, if Gnome Software had access to the updates proxy (e.g. for Flatpak related actions) it would pass the proxy configurations to the browser and open the URL online.

Service ConditionGroup borrowed from qubes-notification-agent.

This is part of QubesOS/qubes-issues#6310, aiming to open Gnome Software
URLs (project website, donation pages, etc.) in disposables.

This allows the user to check the project website safely before
installing apps, while reducing the need for screenshots to recognize
the apps in Gnome Software (QubesOS/qubes-issues#10983).

Previously, URLs were opened in offline browsers. However, if Gnome
Software had access to the updates proxy (e.g. for Flatpak related
actions) it would pass the proxy configurations to the browser and open
the URL online.

Service ConditionGroup borrowed from qubes-notification-agent.
@ben-grande

Copy link
Copy Markdown
Contributor
  1. Have you tried app-dispvm.*?
  2. If that is unsuitable, please use the term dispvm rather than dvm.

@marmarta

marmarta commented Aug 7, 2026

Copy link
Copy Markdown
Member

Have you tried app-dispvm.*?

I'm not sure if this makes sense here, opening all urls in a template in disposables makes I think a lot of sense and is more resilient to other package managers using packagekit or whatnot.

  • If that is unsuitable, please use the term dispvm rather than dvm.

agreed on that

@andrewdavidwong

Copy link
Copy Markdown
Member

Suggestion: If you intend for this pull request to resolve the associated issue and would like for it to be linked to the issue automatically, you can put Closes QubesOS/qubes-issues#XXXX in the PR message (where XXXX is the issue number). Closes is one of several special keywords that GitHub will recognize. If and when the PR is merged, GitHub will automatically close the associated issue.

@codecov

codecov Bot commented Aug 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.71%. Comparing base (a37fac9) to head (e1da340).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #665      +/-   ##
==========================================
+ Coverage   71.31%   71.71%   +0.39%     
==========================================
  Files           3        3              
  Lines         502      502              
==========================================
+ Hits          358      360       +2     
+ Misses        144      142       -2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@qubesos-bot

qubesos-bot commented Aug 27, 2026

Copy link
Copy Markdown

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026090821-devel&flavor=pull-requests

Test run included the following:

New failures, excluding unstable

Compared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026050504-devel&flavor=update

  • system_tests_network_updates
    • TC_00_Dom0Upgrade_whonix-gateway-18: test_005_update_flag_clear (error)
      subprocess.CalledProcessError: Command 'timeout=120; while ! tor-ci...

Failed tests

2 failures
  • system_tests_network_updates
    • [unstable] TC_00_Dom0Upgrade_whonix-gateway-18: test_001_update_check (failure)
      ^... AssertionError: '' is not true

    • TC_00_Dom0Upgrade_whonix-gateway-18: test_005_update_flag_clear (error)
      subprocess.CalledProcessError: Command 'timeout=120; while ! tor-ci...

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/176874#dependencies
Nothing fixed

Unstable tests

Details
  • system_tests_network_updates

    system_tests/Fail (2/5 times with errors)
    • job 194439 Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...
    • job 194790 Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...
    system_tests/Fail (1/5 times with errors)
    • job 194439 Tests qubes.tests.integ.vm_update failed (exit code 1), details rep...
    system_tests/Failed (1/5 times with errors)
    • job 194790 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    system_tests/Failed (1/5 times with errors)
    • job 194439 # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...
    TC_00_Dom0Upgrade_whonix-gateway-18/test_000_update (1/5 times with errors)
    • job 194790 Error: Failed to download metadata for repo 'test': Cannot download...
    TC_00_Dom0Upgrade_whonix-gateway-18/test_001_update_check (1/5 times with errors)
    TC_00_Dom0Upgrade_whonix-gateway-18/test_006_update_flag_clear (1/5 times with errors)
    • job 194790 Error: Failed to download metadata for repo 'test': Cannot download...
    VmUpdates_fedora-44-xfce/test_120_updates_available_notification_qubes_vm_update (1/5 times with errors)
    • job 194439 subprocess.CalledProcessError: Command '/usr/lib/qubes/upgrades-sta...

Performance Tests

Performance degradation:

No issues

Remaining performance tests:

No remaining performance tests


# Systemd preload-all
preset_units /lib/systemd/system-preset/75-qubes-vm.preset initial
preset_units /usr/lib/systemd/user-preset/75-qubes-open-in-dispvm.preset initial --user

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This should be --global option, --user does it only for the current user (which is root at package installation).

installSerialConf
else
preset_units /lib/systemd/system-preset/75-qubes-vm.preset upgrade
preset_units /usr/lib/systemd/user-preset/75-qubes-open-in-dispvm.preset upgrade --user

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Here too

if [ $1 -eq 1 ]
then
preset_units %{_presetdir}/%qubes_preset_file initial
preset_units %{_userpresetdir}/75-qubes-open-in-dispvm.preset initial --user

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

and here

changed=true
else
preset_units %{_presetdir}/%qubes_preset_file upgrade
preset_units %{_userpresetdir}/75-qubes-open-in-dispvm.preset upgrade --user

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

and here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants