Refine live download status messages (v3.8.2)

Improve first-phase download feedback by emitting explicit preflight/start statuses from the backend so the queue no longer appears to jump between ambiguous placeholder texts during active transfers.
This commit is contained in:
xRangerDE 2026-02-13 12:39:23 +01:00
parent 159f442d43
commit 885eec4741
4 changed files with 26 additions and 6 deletions

View File

@ -1,12 +1,12 @@
{ {
"name": "twitch-vod-manager", "name": "twitch-vod-manager",
"version": "3.8.1", "version": "3.8.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "twitch-vod-manager", "name": "twitch-vod-manager",
"version": "3.8.1", "version": "3.8.2",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"axios": "^1.6.0", "axios": "^1.6.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "twitch-vod-manager", "name": "twitch-vod-manager",
"version": "3.8.1", "version": "3.8.2",
"description": "Twitch VOD Manager - Download Twitch VODs easily", "description": "Twitch VOD Manager - Download Twitch VODs easily",
"main": "dist/main.js", "main": "dist/main.js",
"author": "xRangerDE", "author": "xRangerDE",

View File

@ -335,7 +335,7 @@
<div class="settings-card"> <div class="settings-card">
<h3>Updates</h3> <h3>Updates</h3>
<p id="versionInfo" style="margin-bottom: 10px; color: var(--text-secondary);">Version: v3.8.1</p> <p id="versionInfo" style="margin-bottom: 10px; color: var(--text-secondary);">Version: v3.8.2</p>
<button class="btn-secondary" onclick="checkUpdate()">Nach Updates suchen</button> <button class="btn-secondary" onclick="checkUpdate()">Nach Updates suchen</button>
</div> </div>
</div> </div>
@ -346,7 +346,7 @@
<div class="status-dot" id="statusDot"></div> <div class="status-dot" id="statusDot"></div>
<span id="statusText">Nicht verbunden</span> <span id="statusText">Nicht verbunden</span>
</div> </div>
<span id="versionText">v3.8.1</span> <span id="versionText">v3.8.2</span>
</div> </div>
</main> </main>
</div> </div>

View File

@ -8,7 +8,7 @@ import { autoUpdater } from 'electron-updater';
// ========================================== // ==========================================
// CONFIG & CONSTANTS // CONFIG & CONSTANTS
// ========================================== // ==========================================
const APP_VERSION = '3.8.1'; const APP_VERSION = '3.8.2';
const UPDATE_CHECK_URL = 'http://24-music.de/version.json'; const UPDATE_CHECK_URL = 'http://24-music.de/version.json';
// Paths // Paths
@ -1178,6 +1178,16 @@ async function downloadVOD(
item: QueueItem, item: QueueItem,
onProgress: (progress: DownloadProgress) => void onProgress: (progress: DownloadProgress) => void
): Promise<DownloadResult> { ): Promise<DownloadResult> {
onProgress({
id: item.id,
progress: -1,
speed: '',
eta: '',
status: 'Prufe Download-Tools...',
currentPart: 0,
totalParts: 0
});
const streamlinkReady = await ensureStreamlinkInstalled(); const streamlinkReady = await ensureStreamlinkInstalled();
if (!streamlinkReady) { if (!streamlinkReady) {
return { return {
@ -1186,6 +1196,16 @@ async function downloadVOD(
}; };
} }
onProgress({
id: item.id,
progress: -1,
speed: '',
eta: '',
status: 'Download gestartet',
currentPart: 0,
totalParts: 0
});
const streamer = item.streamer.replace(/[^a-zA-Z0-9_-]/g, ''); const streamer = item.streamer.replace(/[^a-zA-Z0-9_-]/g, '');
const date = new Date(item.date); const date = new Date(item.date);
const dateStr = `${date.getDate().toString().padStart(2, '0')}.${(date.getMonth() + 1).toString().padStart(2, '0')}.${date.getFullYear()}`; const dateStr = `${date.getDate().toString().padStart(2, '0')}.${(date.getMonth() + 1).toString().padStart(2, '0')}.${date.getFullYear()}`;