nosignal-shell/services
28allday 53c5833de0 fix(nosignal): hardware-test feedback round 2 — weather, dashboard, tray
From the 2026-06-15 on-box hardware test (all 6 prior fixes confirmed; these
are the new findings, baked into the fork source rather than shipped as
pacman-hook patches, per the Phase-2 "we own the shell" approach):

- F-W1 (Weather.qml): fetch at startup. Stock only called reload() on a config
  CHANGE, so a saved location blanked after reboot and an empty/auto location
  never populated on a fresh boot. Add Component.onCompleted: reload() and
  switch the hourly Timer to reload() (re-detects auto/IP too).
- F-W3 (Weather.qml): 7-day forecast showed "undefined°" in °F mode — only
  maxTempC/minTempC were stored. Store rounded maxTempF/minTempF (and round °C).
- F-W2 (Weather.qml): empty/auto-IP location never populated — the in-shell
  ipinfo.io fetch didn't set loc (provider-specific; the city path works via
  the same Requests.get). Repair attempt: defensive JSON parse + error callback
  + fallback to geojs.io. Compiled Requests module not inspectable, so this is
  best-effort; a saved city still works regardless.
- F-D1a (modules/dashboard/*.qml): square the 25 card radii bound to the
  compiled Tokens.rounding.* Material defaults (which ignore shell.json
  rounding.scale=0) so the dashboard matches the square redesign.
- F-D1b (Glyphs.qml): remap the weather glyphs to the Material-weather family
  (every codepoint verified present in JetBrainsMono Nerd Font Mono); the old
  Font-Awesome codepoints were absent (rendered "?") and thunderstorm /
  snowing_heavy were unmapped.
- F-T1 (NsBar.qml): gate the system-tray pill on SystemTray.items count so it
  only shows when an app registers a tray icon (was opening an empty panel).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 21:04:28 +01:00
..
Audio.qml fix: per monitor props not having ancestor scope 2026-04-13 00:07:55 +10:00
Brightness.qml fix: per monitor props not having ancestor scope 2026-04-13 00:07:55 +10:00
Colours.qml fix: transparency blur rule debouncing 2026-05-03 01:46:54 +10:00
GameMode.qml fix: global config use for rest of global props 2026-04-12 23:02:00 +10:00
Glyphs.qml fix(nosignal): hardware-test feedback round 2 — weather, dashboard, tray 2026-06-15 21:04:28 +01:00
Hypr.qml fix: global config use for rest of global props 2026-04-12 23:02:00 +10:00
IdleInhibitor.qml chore: fix prop order 2026-03-20 16:03:18 +11:00
Network.qml chore: fix rest of formatting issues 2026-03-22 16:08:57 +11:00
NetworkUsage.qml fix: format ci (#1513) 2026-06-04 23:07:20 +10:00
Nmcli.qml feat: impl changing network via nexus 2026-06-06 02:17:29 +10:00
NotifData.qml feat: always expire notifs if fullscreen 2026-04-26 15:13:28 +10:00
Notifs.qml fix: global config use for rest of global props 2026-04-12 23:02:00 +10:00
NsShell.qml feat(nosignal): interface redesign — slim glass bar + floating popouts 2026-06-14 10:36:33 +01:00
Players.qml feat: improve dashboard media tab 2026-05-04 03:47:03 +10:00
Recorder.qml chore: fix all import formats 2026-03-22 06:02:19 +11:00
Screens.qml chore: remove unused import 2026-04-12 03:47:42 +10:00
Theme.qml feat(nosignal): interface redesign — slim glass bar + floating popouts 2026-06-14 10:36:33 +01:00
Time.qml fix: per monitor props not having ancestor scope 2026-04-13 00:07:55 +10:00
Visibilities.qml chore: fix all import formats 2026-03-22 06:02:19 +11:00
VPN.qml fix: vpn disconnection toast (#1521) 2026-06-08 13:08:39 +10:00
Wallpapers.qml feat: set featured wall as default if no wall set 2026-06-08 01:03:00 +10:00
Weather.qml fix(nosignal): hardware-test feedback round 2 — weather, dashboard, tray 2026-06-15 21:04:28 +01:00