David Heinemeier Hansson and Claude Opus 5.5
18328559b9
Keep the Wi-Fi icon steady on OWE transition-mode networks ( #14133 )
...
* Keep the Wi-Fi icon steady on OWE transition-mode networks
An OWE transition-mode network pairs an open SSID with a hidden "_owetm_"
twin on the same BSSID. Between scans NetworkManager reports the in-use
access point under the hidden SSID and drops the active profile from the
device's AvailableConnections, which is the only place Quickshell builds
known networks from. No listed network is then connected, so the bar fell
back to the disconnected icon until the next scan brought the open SSID
back, flickering on and off while the link stayed up.
Fall back to the Wi-Fi device's own connected state when no listed network
is connected, and read the in-use access point's strength from nmcli
(without a rescan) while the connected network has none of its own.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Discard stale in-use AP reads and key Wi-Fi checks on the device
Bump a generation whenever the cached in-use access point strength stops
describing the link (leaving Wi-Fi or a device change), and drop any nmcli
read started before it, re-reading immediately instead of a full interval
later.
Key Wi-Fi connectivity checks on the device rather than the SSID, so the
listed network coming and going with each scan on an OWE transition-mode
network no longer schedules a check. A real network switch still passes
through "disconnected".
Add a QML fixture that runs the panel against a mocked device through the
scan churn, a mid-read disconnect, and a final disconnect.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 20:05:32 -04:00
..
2026-09-27 21:15:00 +02:00
2026-10-03 20:05:32 -04:00
2026-09-27 22:19:31 +02:00
2026-08-10 14:10:31 +02:00
2026-10-01 13:36:22 +02:00
2026-10-02 03:34:05 +02:00
2026-08-23 14:26:25 -04:00
2026-10-02 22:03:07 -04:00
2026-10-02 22:03:07 -04:00
2026-10-02 22:03:07 -04:00
2026-10-02 22:03:07 -04:00
2026-10-02 22:03:07 -04:00
2026-10-02 22:03:07 -04:00
2026-10-02 22:03:07 -04:00
2026-10-02 22:03:07 -04:00
2026-10-02 22:03:07 -04:00
2026-08-07 15:46:10 +02:00
2026-10-02 22:03:07 -04:00
2026-08-07 15:46:10 +02:00
2026-09-07 04:20:13 -05:00
2026-09-21 11:49:32 +02:00
2026-08-24 17:58:52 +02:00
2026-05-25 14:47:08 +02:00
2026-09-27 16:11:36 +02:00
2026-09-27 22:05:41 +02:00
2026-08-16 05:45:06 -04:00
2026-09-06 15:12:07 +02:00
2026-09-21 11:49:32 +02:00
2026-09-27 21:57:46 +02:00
2026-07-20 16:37:33 -07:00
2026-05-25 14:18:39 +02:00
2026-06-24 13:31:17 +02:00
2026-08-23 17:02:29 -04:00
2026-08-13 10:35:22 +02:00
2026-07-28 21:28:31 -07:00
2026-08-22 17:19:23 +02:00
2026-08-10 22:49:44 +02:00
2026-09-21 11:49:32 +02:00
2026-08-01 15:35:34 -05:00
2026-09-27 19:34:36 +02:00
2026-08-07 23:58:51 +02:00
2026-09-28 14:04:31 +02:00
2026-09-21 11:49:32 +02:00
2026-09-27 16:24:04 +02:00
2026-09-21 11:49:32 +02:00
2026-09-26 15:31:40 +02:00
2026-09-17 11:11:08 +01:00
2026-09-21 11:49:32 +02:00
2026-09-05 10:17:35 +02:00
2026-08-13 22:37:29 +02:00
2026-09-05 10:17:35 +02:00
2026-09-20 13:18:36 -04:00
2026-09-27 18:02:01 +02:00
2026-09-23 09:19:45 +01:00
2026-09-12 17:57:33 +02:00
2026-09-21 11:49:32 +02:00
2026-09-27 21:15:00 +02:00
2026-08-27 11:26:28 +02:00
2026-08-29 14:24:05 -04:00
2026-10-02 21:21:18 -05:00
2026-09-08 14:59:34 +05:30
2026-09-28 11:43:34 +02:00
2026-08-30 14:22:58 +02:00
2026-08-08 14:58:29 +02:00
2026-08-11 11:04:50 -04:00
2026-08-11 11:04:50 -04:00
2026-09-21 11:49:32 +02:00
2026-08-24 21:58:27 +02:00
2026-07-16 21:53:15 -07:00
2026-07-18 18:21:39 -07:00
2026-05-27 10:41:12 +02:00
2026-07-11 11:42:55 -07:00
2026-09-27 21:15:00 +02:00
2026-09-27 21:15:00 +02:00
2026-09-27 21:15:00 +02:00
2026-09-27 21:15:00 +02:00
2026-09-27 22:05:41 +02:00
2026-09-27 21:15:00 +02:00
2026-09-27 21:15:00 +02:00
2026-05-29 15:25:21 +02:00
2026-09-21 11:49:32 +02:00
2026-09-12 20:10:41 +02:00
2026-09-21 11:49:32 +02:00
2026-09-12 20:10:41 +02:00
2026-06-04 18:38:25 -04:00
2026-08-09 21:54:21 +02:00
2026-07-19 17:36:34 -07:00
2026-08-25 09:10:20 +02:00
2026-08-09 13:57:36 +02:00
2026-09-22 23:11:16 -05:00
2026-09-23 00:05:51 -05:00
2026-09-22 23:11:16 -05:00
2026-09-24 21:41:08 -05:00
2026-08-29 15:31:29 -04:00
2026-09-05 23:28:46 -05:00
2026-09-05 23:28:46 -05:00
2026-09-07 20:59:46 +03:00
2026-08-07 23:59:50 +02:00
2026-08-13 12:25:25 +02:00
2026-08-12 14:01:58 +02:00
2026-08-13 12:37:43 +02:00
2026-09-24 22:49:41 -04:00
2026-08-13 12:22:58 +02:00
2026-09-06 16:01:50 -04:00
2026-08-18 21:40:20 +02:00
2026-08-13 20:28:43 +02:00
2026-07-29 14:49:55 -04:00
2026-08-25 11:03:12 +02:00
2026-09-13 12:37:08 +02:00
2026-08-11 13:26:24 +02:00
2026-08-11 11:29:35 +02:00
2026-07-16 21:19:28 -07:00
2026-05-29 15:59:13 +02:00
2026-07-23 21:03:43 -07:00
2026-07-21 15:25:49 -07:00
2026-10-03 18:19:16 +02:00
2026-09-21 11:49:32 +02:00
2026-08-30 12:54:08 -04:00
2026-06-23 16:22:27 +02:00
2026-09-15 00:46:30 -04:00
2026-09-28 11:48:28 +02:00
2026-08-12 16:57:57 +02:00
2026-09-21 11:49:32 +02:00
2026-09-07 19:56:18 +02:00
2026-09-21 10:50:25 +02:00
2026-09-28 14:04:31 +02:00
2026-09-05 09:18:27 -05:00
2026-08-12 16:42:37 +02:00
2026-06-28 20:46:23 -04:00
2026-09-08 02:36:58 -04:00
2026-08-30 11:36:22 -04:00
2026-07-25 12:35:17 -07:00
2026-09-14 16:32:09 -04:00
2026-08-10 05:58:56 -07:00
2026-09-21 10:40:17 +02:00
2026-08-13 21:04:47 +02:00
2026-09-21 11:49:32 +02:00
2026-09-21 11:49:32 +02:00
2026-08-11 11:29:35 +02:00
2026-09-27 20:00:08 +02:00
2026-06-04 18:38:25 -04:00
2026-09-21 11:49:32 +02:00
2026-09-27 19:02:59 +02:00
2026-09-12 20:10:41 +02:00
2026-10-03 00:10:16 -07:00
2026-08-15 17:04:04 +02:00
2026-09-27 15:10:49 +02:00
2026-08-23 14:26:25 -04:00
2026-08-29 22:42:33 -06:00
2026-07-20 11:07:44 -07:00
2026-08-24 07:34:36 +03:00
2026-09-15 18:02:17 +02:00
2026-08-24 14:36:09 +02:00
2026-08-22 13:43:46 +02:00
2026-08-11 13:26:24 +02:00
2026-08-25 11:03:12 +02:00
2026-08-11 18:25:44 +02:00
2026-08-05 08:30:12 -05:00
2026-08-11 14:16:32 -07:00
2026-07-23 20:37:25 -07:00
2026-09-25 15:35:10 -04:00
2026-08-28 20:08:26 -05:00
2026-09-05 20:05:04 +02:00
2026-10-03 20:05:32 -04:00
2026-07-31 17:18:42 -04:00
2026-09-21 10:54:38 +02:00
2026-10-03 20:05:32 -04:00
2026-07-21 15:26:20 -07:00
2026-09-16 23:01:13 +01:00
2026-08-23 18:31:42 -04:00
2026-09-28 12:04:15 +02:00
2026-07-18 21:49:47 -07:00
2026-08-13 10:48:18 +02:00
2026-09-21 10:40:17 +02:00
2026-09-21 02:14:54 -04:00
2026-09-28 00:59:44 -05:00
2026-09-28 01:40:39 -05:00
2026-07-24 16:48:14 -07:00
2026-09-27 21:07:27 +02:00
2026-09-20 20:36:19 -05:00
2026-09-21 11:49:32 +02:00
2026-06-24 13:40:16 +02:00
2026-09-27 21:29:06 +02:00
2026-09-27 22:19:31 +02:00
2026-09-26 14:49:34 -05:00
2026-09-16 21:49:50 +01:00
2026-09-21 11:49:32 +02:00
2026-09-21 11:49:32 +02:00
2026-08-01 13:13:39 -05:00
2026-07-29 22:39:55 -04:00
2026-09-21 11:49:32 +02:00
2026-07-29 18:11:32 -04:00
2026-10-01 04:49:25 +02:00
2026-08-29 18:19:51 -04:00
2026-09-21 11:49:32 +02:00
2026-07-23 13:51:07 -07:00
2026-06-29 10:49:43 -05:00
2026-08-01 15:36:34 -05:00
2026-07-19 09:33:23 -07:00
2026-09-27 22:48:22 +02:00
2026-08-30 11:54:31 -04:00
2026-08-29 15:26:33 -04:00
2026-08-30 12:54:08 -04:00
2026-08-27 17:28:13 +02:00
2026-08-27 17:28:13 +02:00
2026-06-22 18:30:16 +02:00
2026-05-25 14:18:39 +02:00
2026-09-26 01:16:26 -05:00
2026-09-06 15:46:59 +02:00
2026-09-24 10:18:44 +01:00
2026-09-17 17:02:43 +01:00
2026-08-30 09:06:22 +02:00
2026-07-23 15:04:22 -07:00
2026-09-27 21:57:46 +02:00
2026-09-15 17:53:37 +02:00
2026-09-27 18:05:20 +02:00
2026-09-27 21:57:46 +02:00
2026-09-07 17:33:33 +01:00
2026-08-25 12:09:17 +02:00
2026-08-25 12:09:17 +02:00
2026-08-25 12:09:17 +02:00
2026-09-26 13:00:15 +01:00
2026-09-07 17:33:33 +01:00
2026-08-27 19:55:36 +02:00
2026-08-30 15:03:06 -04:00
2026-07-27 15:32:56 -07:00
2026-09-27 21:57:46 +02:00
2026-07-19 17:36:34 -07:00
2026-09-27 20:46:00 +02:00
2026-08-10 03:31:17 -07:00
2026-07-29 23:21:45 -04:00
2026-08-10 14:14:57 -07:00
2026-07-26 19:19:33 -07:00
2026-08-07 18:44:37 +02:00
2026-09-28 08:46:30 +02:00
2026-08-09 19:15:21 +02:00
2026-08-30 18:45:05 -04:00
2026-08-24 21:58:27 +02:00
2026-08-30 12:54:08 -04:00
2026-08-24 21:58:27 +02:00
2026-08-24 15:33:03 +02:00
2026-08-13 11:46:45 +02:00
2026-07-22 17:31:14 -07:00
2026-09-06 19:34:36 -04:00
2026-09-05 20:05:04 +02:00
2026-08-07 23:43:49 +02:00
2026-09-07 12:57:08 -04:00
2026-08-23 18:31:42 -04:00
2026-08-01 15:44:07 -05:00
2026-09-28 11:48:28 +02:00
2026-09-21 11:49:32 +02:00
2026-09-23 10:41:32 -07:00
2026-09-21 11:49:32 +02:00
2026-09-23 10:57:42 +05:30
2026-09-27 16:24:04 +02:00
2026-09-27 20:31:02 +02:00
2026-09-07 12:53:10 -04:00
2026-09-27 15:29:34 +02:00
2026-08-25 22:30:09 +02:00
2026-08-03 16:52:02 -05:00
2026-08-25 11:03:12 +02:00
2026-09-28 15:46:05 +02:00
2026-09-21 11:49:32 +02:00
2026-08-14 08:23:45 +02:00
2026-09-15 08:10:58 -04:00
2026-07-23 15:28:32 -07:00
2026-07-23 15:28:32 -07:00
2026-09-06 22:32:34 +01:00
2026-09-13 10:35:32 +02:00
2026-09-26 15:31:40 +02:00
2026-09-15 17:50:20 +02:00
2026-09-21 16:09:04 +01:00
2026-06-04 18:38:25 -04:00
2026-09-13 10:35:32 +02:00
2026-06-04 18:38:25 -04:00
2026-09-21 10:50:25 +02:00
2026-08-12 11:56:02 +02:00
2026-09-06 22:26:06 +01:00
2026-09-26 15:31:40 +02:00
2026-07-29 20:04:49 -07:00
2026-09-26 23:07:58 +02:00
2026-09-26 15:31:40 +02:00
2026-10-03 08:08:13 -04:00
2026-07-17 07:59:20 -07:00
2026-07-29 09:15:53 -07:00
2026-10-01 13:36:22 +02:00
2026-08-23 14:26:25 -04:00
2026-08-13 19:33:22 +02:00
2026-08-05 17:43:14 +02:00
2026-08-27 19:45:45 +02:00
2026-08-29 03:32:08 -04:00
2026-08-27 19:25:25 +02:00
2026-08-01 12:53:30 -07:00
2026-08-07 12:50:04 +02:00
2026-08-19 13:59:25 +02:00
2026-09-21 11:49:32 +02:00
2026-09-21 11:49:32 +02:00
2026-08-25 08:45:50 +02:00
2026-09-14 16:46:45 -04:00
2026-09-16 21:49:50 +01:00