Paginate UPnP browse and cache results
Implement paginated UPnP Browse requests (RequestedCount=200) and loop
through pages, accumulating entries until no more are returned or
TotalMatches
is reached. Add parse_u32_tag helper and more robust error/log handling.
Client/UI changes:
- Prefetch UPnP device list into a TTL'd cache (upnp_cache) and add a
loading flag so initial UI open is instant and background fetches
don't
block rendering.
- macOS tweaks: add snapcast icon/color, simplify the device header,
show
loading/empty states for device list, and only set isLoading on first
refresh.
- Files list view: show ProgressView while loading and drive task key by
mode+path to avoid stale reloads.