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",
"version": "3.8.1",
"version": "3.8.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "twitch-vod-manager",
"version": "3.8.1",
"version": "3.8.2",
"license": "MIT",
"dependencies": {
"axios": "^1.6.0",

View File

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

View File

@ -335,7 +335,7 @@
<div class="settings-card">
<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>
</div>
</div>
@ -346,7 +346,7 @@
<div class="status-dot" id="statusDot"></div>
<span id="statusText">Nicht verbunden</span>
</div>
<span id="versionText">v3.8.1</span>
<span id="versionText">v3.8.2</span>
</div>
</main>
</div>

View File

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