chore(release): prepare 1.1.15-rc-1 and beta checklist
cx
This commit is contained in:
1 parent
3e2b493e28
commit
ba09345aa3
11 files changed
+109
-11
No files matched your search
@@ -0,0 +1,50 @@
|
||||
# QBZ 1.1.15-rc-1 Beta Test Checklist
|
||||
|
||||
Thanks for helping validate this release candidate.
|
||||
|
||||
## Important context
|
||||
|
||||
- This RC includes significant backend changes.
|
||||
- Please test your normal daily flows end-to-end, not only new features.
|
||||
- Any regression report is valuable, even if it looks minor.
|
||||
|
||||
## Region note for Purchases
|
||||
|
||||
Qobuz purchases are not available in all countries (for example Mexico). If Purchases is unavailable in your region/account, report that as "not testable" and continue with the rest of the checklist.
|
||||
|
||||
## Purchases validation (if available on your account)
|
||||
|
||||
1. Open `Purchases` from sidebar.
|
||||
2. Confirm albums and tracks load (no empty-error state).
|
||||
3. Search by artist/album/track and confirm results update correctly.
|
||||
4. Open album detail and confirm tracklist renders.
|
||||
5. Verify format selector options are visible.
|
||||
6. Download one track to a chosen folder.
|
||||
7. Download full album to a chosen folder.
|
||||
8. Restart app and verify downloaded state persists.
|
||||
9. Confirm unavailable purchases show clear unavailable UI.
|
||||
|
||||
## Core regression checklist (all testers)
|
||||
|
||||
1. Login, restart app, and confirm session persistence.
|
||||
2. Home loads correctly and navigation remains responsive.
|
||||
3. Search (all tabs you normally use) returns expected results.
|
||||
4. Playback basics: play/pause, next/prev, seekbar, queue advance.
|
||||
5. Queue operations: add, reorder, shuffle, clear queue, history behavior.
|
||||
6. Favorites: tracks/albums/artists/playlists (load and toggle).
|
||||
7. Playlists: open, edit, reorder tracks, play all.
|
||||
8. Local Library: browse albums/artists/tracks and play local content.
|
||||
9. Settings panels: open each section and confirm no command-not-found errors.
|
||||
10. Immersive mode: open, switch tabs, return to main player.
|
||||
|
||||
## Report template
|
||||
|
||||
Please include:
|
||||
|
||||
- OS + desktop environment
|
||||
- QBZ version: `1.1.15-rc-1`
|
||||
- Repro steps
|
||||
- Expected vs actual behavior
|
||||
- Console/terminal logs if available
|
||||
- Screenshot/video if useful
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "qbz-nix",
|
||||
"version": "1.1.14",
|
||||
"version": "1.1.15-rc-1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "qbz-nix",
|
||||
"version": "1.1.14",
|
||||
"version": "1.1.15-rc-1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": "^2",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "qbz-nix",
|
||||
"version": "1.1.14",
|
||||
"version": "1.1.15-rc-1",
|
||||
"description": "Native high-fidelity client for Qobuz™ subscribers on Linux with Hi-Fi audio support (uses the Qobuz API; not certified by Qobuz)",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
|
||||
name: qbz-player
|
||||
title: "QBZ — Native Qobuz Client for Linux"
|
||||
version: '1.1.14'
|
||||
version: '1.1.15-rc-1'
|
||||
summary: Native Qobuz player for Linux with bit-perfect audio and DAC control
|
||||
description: |
|
||||
QBZ is a native Linux desktop client for Qobuz™, designed for high-fidelity playback.
|
||||
@@ -87,7 +87,7 @@ parts:
|
||||
qbz:
|
||||
plugin: rust
|
||||
source: https://github.com/vicrodh/qbz.git
|
||||
source-tag: v1.1.14
|
||||
source-tag: v1.1.15-rc-1
|
||||
build-packages:
|
||||
- libwebkit2gtk-4.1-dev
|
||||
- libgtk-3-dev
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "qbz-nix"
|
||||
version = "1.1.14"
|
||||
version = "1.1.15-rc-1"
|
||||
description = "Native high-fidelity client for Qobuz™ subscribers on Linux with Hi-Fi audio support (uses the Qobuz API; not certified by Qobuz)"
|
||||
authors = ["blitzkriegfc"]
|
||||
edition = "2021"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://schema.tauri.app/config/2",
|
||||
"productName": "QBZ",
|
||||
"version": "1.1.14",
|
||||
"version": "1.1.15-rc-1",
|
||||
"identifier": "com.blitzfc.qbz",
|
||||
"build": {
|
||||
"beforeDevCommand": "npm run dev",
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
let searchQuery = $state('');
|
||||
let searchExpanded = $state(false);
|
||||
let searchTimeout: ReturnType<typeof setTimeout> | null = null;
|
||||
let showRegionNotice = $state(getUserItem('qbz-purchases-region-notice-seen') !== 'true');
|
||||
|
||||
// Data
|
||||
let albums = $state<PurchasedAlbum[]>([]);
|
||||
@@ -300,6 +301,11 @@
|
||||
loadPurchases();
|
||||
}
|
||||
|
||||
function dismissRegionNotice() {
|
||||
showRegionNotice = false;
|
||||
setUserItem('qbz-purchases-region-notice-seen', 'true');
|
||||
}
|
||||
|
||||
onMount(() => {
|
||||
loadPurchases();
|
||||
});
|
||||
@@ -316,6 +322,15 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#if showRegionNotice}
|
||||
<div class="region-notice" role="status" aria-live="polite">
|
||||
<span>{$t('purchases.regionNotice')}</span>
|
||||
<button type="button" class="region-notice-close" onclick={dismissRegionNotice}>
|
||||
{$t('actions.close')}
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- Sticky Navigation Bar -->
|
||||
<div class="purchases-nav">
|
||||
<div class="nav-left">
|
||||
@@ -837,6 +852,35 @@
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.region-notice {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
padding: 10px 12px;
|
||||
margin-bottom: 14px;
|
||||
border: 1px solid var(--alpha-12);
|
||||
border-radius: 10px;
|
||||
background: rgba(88, 165, 255, 0.08);
|
||||
color: var(--text-secondary);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.region-notice-close {
|
||||
border: 1px solid var(--alpha-12);
|
||||
background: var(--bg-secondary);
|
||||
color: var(--text-secondary);
|
||||
border-radius: 8px;
|
||||
padding: 4px 8px;
|
||||
font-size: 11px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.region-notice-close:hover {
|
||||
border-color: var(--alpha-18);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
/* ── Sticky Navigation Bar ── */
|
||||
.purchases-nav {
|
||||
position: sticky;
|
||||
|
||||
@@ -1471,7 +1471,8 @@
|
||||
"view": {
|
||||
"list": "Listenansicht",
|
||||
"grid": "Rasteransicht"
|
||||
}
|
||||
},
|
||||
"regionNotice": "Die Verfügbarkeit von Käufen hängt von deinem Qobuz-Konto und deiner Region ab. Wenn es nicht verfügbar ist, kann das erwartet sein."
|
||||
},
|
||||
"linkResolver": {
|
||||
"title": "Qobuz-Link oeffnen",
|
||||
|
||||
@@ -1671,7 +1671,8 @@
|
||||
"view": {
|
||||
"list": "List view",
|
||||
"grid": "Grid view"
|
||||
}
|
||||
},
|
||||
"regionNotice": "Purchases availability depends on your Qobuz account and region. If unavailable, this may be expected."
|
||||
},
|
||||
"linkResolver": {
|
||||
"title": "Open Qobuz Link",
|
||||
|
||||
@@ -1671,7 +1671,8 @@
|
||||
"view": {
|
||||
"list": "Vista de lista",
|
||||
"grid": "Vista de cuadricula"
|
||||
}
|
||||
},
|
||||
"regionNotice": "La disponibilidad de Compras depende de tu cuenta y region de Qobuz. Si no aparece disponible, puede ser esperado."
|
||||
},
|
||||
"linkResolver": {
|
||||
"title": "Abrir enlace de Qobuz",
|
||||
|
||||
@@ -1471,7 +1471,8 @@
|
||||
"view": {
|
||||
"list": "Vue liste",
|
||||
"grid": "Vue grille"
|
||||
}
|
||||
},
|
||||
"regionNotice": "La disponibilité des achats dépend de votre compte Qobuz et de votre région. Si ce n'est pas disponible, cela peut être normal."
|
||||
},
|
||||
"linkResolver": {
|
||||
"title": "Ouvrir un lien Qobuz",
|
||||
|
||||
Reference in new issue
Block a user