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>
* lyrics: rewrite model
* lyrics: cleanup code
* lyrics: some minor layouting
* lyrics: add fade shaders
* lyrics: use appearance values from config
* lyrics: formatting
* lyrics: update readme
* lyrics: fix jumping, redo netease backend (resused from another one of projects)
* lyrics: fix netease searches, remove credit lines
* lyrics: add RequestIds
* lyrics: formatting
* lyrics: lyricsDir path cleanup
* lyrics: make empty lines not take up much space
* lyrics: make empty lines not take up any space
* Lyrics: Use QNetworkAccessManager instead of XMLHttpRequest
also added ability to set request headers and ability to reset cookies for requests.cpp
* lyrics: cleanup old code
* lyrics: toggle lyrics by clicking the album art
* lyrics: sanitize non-breaking spaces
* lyrics: add a menu to select lyrics and manually search for them
* lyrics: remove LrcLib backend
* lyrics: change focus to when dashboard is opened instead of the lyricMenu
* lyrics: improve UI
* lyrics: improve UI more ig
* lyrics: extract LyricsView and LyricMenu into separate components
* lyrics: cleanup old files
* lyrics: refactor LyricsService
* lyrics: restore ComponentBehavior: Bound in lyrics components
* lyrics: change SongID to real to fix integer overflow
* lyrics: add animations to the lyricMenu
* lyrics: fix manual search fields not auto updating
* lyrics: fix jerks when switching tracks
* lyrics: create lyrics directory if it doesn't exist
* lyrics: silence logs, fix binding loops, fix index out of range errors
* lyrics: only request keyboard focus when lyric menu is open
* config: add option to enable/disable the lyrics
* format + silence fileview errors
* fix merge
* anim and lsp fixes + format
---------
Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>