Repository navigation
fix(network): recover stale D-Bus paths and support full radio off - #311
Merged
gmmcosta15 merged 7 commits intoSep 28, 2026
Merged
gmmcosta15 merged 7 commits into
gmmcosta15 merged 7 commits into
Conversation
3 tasks done
… on failed preflight, trust NM scan gate
1 task done
…tale-paths-radio-off
…tale-paths-radio-off
…tale-paths-radio-off
…#310) # Description - [x] Bug fix Stacked on #3, review after it merges. Highest review value in the stack, this is where the field bugs were. Enforces exactly one of Wi-Fi/ethernet/hotspot active at a time, on user toggles only. Background/automatic state handlers never drop a link behind the user's back. - `_set_wired_profiles_autoconnect`, `_ensure_wired_autoconnect` - Exclusivity logic in `manager.py`/`worker.py` - `networkWindow.py` toggle handlers + loading guard armed before link changes # Tests All 5 gates pass standing alone.
An error occurred while trying to automatically change base from
fix/network-single-link-exclusivity
to
dev
September 28, 2026 09:30
gmmcosta15
added a commit
that referenced
this pull request
Sep 28, 2026
) # Description - [x] Bug fix Stacked on #311, review after it merges. Last PR in the #306 split. Live Wi-Fi signal strength and auth-failure classification. - `_active_ap_signal`, `_signal_map_once`, `_read_connectivity`, `_is_wifi_ap_mode` - `_classify_settings_error`; `_validate_psk` follows NM's own psk rule (length in bytes, SAE exempt) and runs before the old profile is backed up - `_wait_for_connection` stops early when the Wi-Fi device reports FAILED (the StateChanged listener counts it, since NM leaves FAILED too fast for polling to see it) - Connection waits read the Wi-Fi interface's own IP, so an ethernet or VPN primary link can't fake success - `_async_get_network_password` prefills the saved-network password field; saved page shows the static IP/mask - `networkWindow.py` operation-result routing (success/failure/timeout handlers); the hotspot page's activate drops ethernet like the toggle does - `test_network_ui.py`, `test_worker_unit.py`, `test_worker_helpers_unit.py` coverage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Stacked on #4, review after it merges.
Recovers from stale D-Bus device paths (e.g. after NetworkManager restarts) and supports fully disabling the Wi-Fi radio.
_primary_paths_alive,_log_stale,_recover_signal_sources,_cached_path_is_valid,_device_path_for_iface,_reset_signal_proxies,_async_bootstrap_wifi_hardware_enabled,_ensure_networking_enabled,_wifi_enable_preflight,_apply_wifi_radio,_log_radio_state_scan_networks_once,_request_scan_if_allowedtest_sdbus_integration.pyTests
All 5 gates pass standing alone.