Repository navigation
network applet: merge the WireGuard and VPN sections, label each row's kind - #13913
IvanTheGeek wants to merge 2 commits into
Conversation
Best-practices scannerThis is a regex-based check for API usage that can pose security, performance or This check is not perfect and will not replace a normal review.Found 3 potential issue(s):
|
887ad36 to
1d59a9f
Compare
|
The best-practices scanner findings above are addressed — all of the flagged The scanner comment is stale rather than wrong: the workflow re-run is sitting in |
|
Hi, I merged 13911 - I'd be fine with merging the sections and adding labels. I think the additional options here are overkill - the percentage strength is enough. Wherever you take this, though, I'd prefer smaller PRs - something like this (even though you admitted you didn't expect this to be merged as-is) - is difficult to review, especially since some of it can depend on things the reviewer has no access to for testing. Small bits are easier to look at objectively. |
|
Thanks for merging #13911. Plan: I'll cut this PR down to merging the sections plus a label on each row showing its type (WireGuard, OpenVPN, …), rebuilt on current master. The settings, the band/width/security text and the panel-icon changes go. Two small fixes follow as separate PRs: WPA3/OWE classification (#13912 item 5) and a second Sometimes a visual is helpful. Below is what I am running currently with all options turned on. The alignment is still an issue I can not get Claude to get quite right. This is what I will keep running on my box, but finding these issues seemed good to upstream as it was rather broken for my usages before.
(Drafted with help from Claude Opus 5.5.) |
WireGuard connections had a section of their own, "WIREGUARD Connections", backed by a copy of the VPN code (NMDeviceWIREGUARD) and a panel-icon override of its own. To the user both lists hold the same kind of thing, a tunnel on top of the real link, and the separate path gets the panel wrong. The override keyed off the WireGuard title switch, so the tooltip said "Connected to WIREGUARD" while a tunnel was still connecting or already disconnecting. The override is also older than the VPN icon from linuxmint#12142 (it came with linuxmint#11905), so with Wi-Fi as the main connection a WireGuard tunnel replaced the signal bars with the plain VPN icon, where a VPN-plugin connection shows the Wi-Fi bars with a padlock. List WireGuard connections under "VPN Connections" instead. NMDeviceVPN accepts both types and WireGuard maps to the VPN category, so WireGuard runs through the VPN code: the multiple-connection handling from linuxmint#12930, the removal of deleted profiles that linuxmint#13847 copied for WireGuard, and the panel icon from linuxmint#12142. That icon shows the Wi-Fi bars with a padlock when Wi-Fi is the main connection, the VPN icon otherwise, and the acquiring icon while a tunnel connects. NMDeviceWIREGUARD, the WIREGUARD category and the override go away. Every row is now a switch that turns its own connection on or off, as WireGuard rows have been since linuxmint#13911. VPN-plugin rows used to be click-to-toggle items with a dot. Nameless connections still read "Connected (private)", and WireGuard rows now follow a rename, as VPN rows already did. The section's title switch keeps its code, so it now covers both kinds: off disconnects every tunnel, WireGuard included, and on starts the most recently used connection, which may now be a WireGuard one. This drops the three WIREGUARD strings and adds none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With WireGuard and VPN-plugin connections in one list, the name is all a row has to go on, and connection names often do not say what kind of tunnel they are. Show the kind next to the name, in the switch row's status label: "WireGuard" for WireGuard connections, and for VPN plugins a name looked up from the plugin's service type (OpenVPN, PPTP, L2TP, OpenConnect, ...). A plugin that is not in the table shows the last part of its service type, such as "iodine". "WireGuard" reuses the translated string the applet already has for the WireGuard device description. The plugin names are product and protocol names and are left untranslated, so the change adds no strings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1d59a9f to
86e91cd
Compare

What changes
User-visible changes
Testing without special hardware
A WireGuard profile with no peer activates locally:
An OpenVPN profile (network-manager-openvpn) pointing at 192.0.2.1 stays connecting until NM's VPN timeout (about 60 s).
Overlaps #13767 (both edit NMDeviceVPN._createSection); whichever lands second needs a rebase. Thanks @wocisjr: #13986 proposed the shared icon path.
Tested on: Cinnamon 6.6.9 (Mint 22.3), with this applet.js as a user-dir override, not a master build: three WireGuard tunnels up at once, OpenVPN rows, row toggles, deleting and renaming profiles, and the OpenVPN password dialog (it takes focus; Cancel turns the row off).
AI assistance: written with help from Claude Opus 5.5 (Anthropic); I reviewed it and tested it on my own machine.