fix: resolve wifi crashes, shell injections, race conditions, and add debug mode
- Remove transient NEED_AUTH/DISCONNECTED error paths from wifi connect - Guard double-callback in connect_wifi_bssid/connect_wifi_with_password - Shell-quote user paths in wallpaper, screenshot, screenrecorder services - Fix OSD hide-timer use-after-free and applet_window stale source ID - Fix brightness poll timer leak on read failure - Fix spotlight search stale idle source removal - Lock dbusmenu _cache mutation under _registry_lock - Fix entry.revision written outside _registry_lock scope - Add fabric-cli exec wrapper for lock screen (lock_screen.lock()) - Replace hyprlock with lock screen in power menu and dropdown - Add debug mode toggle in settings (controls log verbosity) - Add diagnostic logging to globalmenu click chain
This commit is contained in:
26 files changed
+224
-57
No files matched your search
@@ -15,6 +15,7 @@ from fabric.widgets.label import Label
|
||||
from fabric.widgets.overlay import Overlay
|
||||
from fabric.widgets.wayland import WaylandWindow as Window
|
||||
|
||||
from services.config import on_config_change
|
||||
from shared.data import load_config
|
||||
from utils.gtk_utils import svg_file
|
||||
from window.desktop.constants import (
|
||||
@@ -93,6 +94,16 @@ class WeatherService(Service):
|
||||
# connecting (see Weather.__init__) to avoid a race with subscription.
|
||||
GLib.timeout_add_seconds(WEATHER_UPDATE_INTERVAL, self._refresh)
|
||||
|
||||
on_config_change(self._on_config_change)
|
||||
|
||||
def _on_config_change(self, new_config, old_config):
|
||||
if new_config.get("weather_location") != old_config.get("weather_location"):
|
||||
self._weather = None
|
||||
self._location = None
|
||||
self._coords = None
|
||||
self._coords_location = None
|
||||
self._executor.submit(self._fetch)
|
||||
|
||||
# -- scheduling -------------------------------------------------------
|
||||
|
||||
def refresh(self) -> None:
|
||||
|
||||
Reference in new issue
Block a user