aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xarchsetup2
-rw-r--r--scripts/testing/tests/test_packages.py11
-rw-r--r--todo.org5
3 files changed, 11 insertions, 7 deletions
diff --git a/archsetup b/archsetup
index 353c84f..d6006ea 100755
--- a/archsetup
+++ b/archsetup
@@ -2715,7 +2715,7 @@ supplemental_software() {
else
aur_install slack-desktop # team messaging
fi
- aur_install zoom # video conferencing
+ # zoom retired 2026-07-02: zoom-web (dotfiles) opens meetings in the browser
pacman_install iperf3 # network bandwidth testing
pacman_install bind # DNS utilities (dig, host, nslookup)
pacman_install net-tools # network tools (netstat for security auditing)
diff --git a/scripts/testing/tests/test_packages.py b/scripts/testing/tests/test_packages.py
index 74737e2..5e90cb9 100644
--- a/scripts/testing/tests/test_packages.py
+++ b/scripts/testing/tests/test_packages.py
@@ -69,11 +69,14 @@ def test_bluetooth_stack_installed(host, pkg):
assert host.package(pkg).is_installed
+RETIRED_PACKAGES = ["blueman", "zoom"] # bt panel replaced blueman; zoom-web replaced zoom
+
+
@pytest.mark.attribution("archsetup")
-def test_blueman_not_installed(host):
- # blueman was retired 2026-07-02 in favor of the dotfiles bt panel;
- # its reappearance means the desktop_environment step regressed.
- assert not host.package("blueman").is_installed
+@pytest.mark.parametrize("pkg", RETIRED_PACKAGES)
+def test_retired_package_not_installed(host, pkg):
+ # A reappearance means an install step regressed.
+ assert not host.package(pkg).is_installed
@pytest.mark.attribution("archsetup")
diff --git a/todo.org b/todo.org
index 70e058b..2202092 100644
--- a/todo.org
+++ b/todo.org
@@ -32,8 +32,9 @@ Initial spec written 2026-07-02: [[file:docs/design/2026-07-02-net-panel-other-i
** TODO [#B] File-manager swallow pattern :feature:hyprland:
When the file manager launches another app, it should hide to a special workspace (the "swallow" pattern) and return when that process ends, rather than vanishing. Today it disappears with no signal of whether it's coming back, so the user can't tell success from failure — they should quit explicitly instead. Origin: roam inbox capture.
-** TODO [#C] Open meeting links in the browser instead of the Zoom app :feature:
-Route Zoom (and similar) meeting links to the browser web client rather than launching the native Zoom app — e.g. firefox/chrome extensions, or a =zoommtg://= URL handler / desktop-file override that rewrites to the web-client URL. Decide the mechanism (extension vs handler) before building. Origin: roam inbox capture.
+** DONE [#C] Open meeting links in the browser instead of the Zoom app :feature:
+CLOSED: [2026-07-02 Thu]
+Shipped 2026-07-02, mechanism per Craig ("the Linux zoom app is really terrible — one less dependency"): a =zoommtg://= URL handler, and the native app retired outright. =zoom-web= (dotfiles 187414a, 10 tests) registers as the xdg default for x-scheme-handler/zoommtg via =zoom-web.desktop=; Zoom's launch-page bounce rewrites deterministically to =https://<host>/wc/join/<confno>?pwd=…= in the default browser (subdomain hosts preserved, tracking params dropped, start action mapped, malformed URIs notify + exit 2). The registration landed in the stowed mimeapps.list, so it ships with dotfiles. Zoom uninstalled from velox (=pacman -Rns=), its windowrules removed from hyprland.conf, =aur_install zoom= dropped from archsetup, and the VM retired-package assertion now covers blueman + zoom. Known limit, accepted: a host who disabled join-from-browser blocks the web client — that meeting needs the native app installed ad hoc. Ratio trip: =pacman -Rns zoom= + the pull brings the handler; run =xdg-mime default zoom-web.desktop x-scheme-handler/zoommtg= if the stowed mimeapps.list doesn't take effect.
** TODO [#B] Scrolling/Carousel layout: frame fit + wrap-around :hyprland:
:PROPERTIES: