Qobuz changed their protocol to sometimes send QueueVersionRef
without major/minor populated. Our decoder treated these as
required fields, causing all cloud_type=6 messages to fail with
"missing required numeric field 'queue_version.major'".
Default to 0 when absent — matches the dev panel behavior.
cc
When image cache is disabled or unavailable, images were returned
as original HTTPS URLs for WebKit to load directly. On AppImage
distros where GnuTLS can't find system CA certs, this fails silently.
Now all images go through reqwest (rustls, bundled CA) and are
written to temp files as file:// URLs. WebKit never needs to
resolve HTTPS for images.
cc
Builds DMG for both Apple Silicon (aarch64) and Intel (x86_64).
Triggered on tag push or manual dispatch. Artifacts uploaded to
GitHub Releases as pre-release.
Unsigned — users bypass Gatekeeper with right-click > Open.
cc
ESC key was calling onClose() directly, skipping the fullscreen
exit logic. Changed to handleExitImmersive() which exits fullscreen
before closing, matching the behavior of the UI close buttons.
cc
white-space: nowrap caused help tooltips to bleed outside their
container. Changed to normal with max-width 360px so technical
help text wraps properly.
cc
- Add Gentoo/OpenRC and Void/runit to distro selector
- All systemctl commands now adapt to selected distro init system
- Verify step warns user to close wizard before testing
- Status/restart/rollback commands are distro-aware
cc
WebKitGTK 2.50.x evicts image textures from GPU memory during
repaints triggered by hover/scroll, causing momentary placeholder
flash. Force each cached image into its own compositing layer via
will-change + translateZ(0) to prevent texture eviction.
Applied in cachedSrc action so all 18 components using it are fixed.
cc
main.rs GPU conditions checked has_nvidia && !has_amd but not
has_intel, so hybrid laptops (Intel iGPU + NVIDIA dGPU) had
compositing and DMA-BUF disabled unnecessarily.
Also remove duplicate DMABUF/compositing logic from lib.rs that
ran before main.rs and conflicted with its GPU-aware decisions.
cc
Tabular view comparing saved vs runtime settings for audio,
graphics, and environment variables. Collapsible sections with
match/mismatch indicators and export to clipboard.
cc
apply_linux_webkit_workarounds() was unconditionally disabling
DMABUF renderer and compositing mode, ignoring what the user
configured in Appearance > Composition settings.
Now reads graphics_settings.db and developer_settings.db at startup
(readonly, before Tauri state init) so toggles actually take effect.
- Add new_readonly() to GraphicsSettingsStore and DeveloperSettingsStore
- Hardware Acceleration ON = compositing enabled
- Force DMA-BUF toggle respected for WEBKIT_DISABLE_DMABUF_RENDERER
- Env vars still override saved settings
cc
Replace 8+ sequential per-section IPC calls with a single batch
command. Backend reads all tracks once instead of N times.
- Add v2_check_albums_fully_cached_batch (single DB read, HashMap return)
- Remove per-section await tick() + loadAllAlbumDownloadStatuses() calls
- Single batch call at end of loadHome() after all data resolves
- Keep individual check for on-click refresh (single album)
cc