Twitch-VOD-Manager/package.json
xRangerDE e270e1ec12 release: 5.0.5 — streamlink Resilience + bessere Fehler-Diagnose
Problem: User berichtet 'streamlink exit code 1' bei VOD-Downloads ohne
sinnvolle Fehlermeldung — UI zeigt 'Retrying in 8s (unknown)...'. Root
Cause: classifyDownloadError matched die echten Twitch-Errors nicht und
nur die letzte stderr-Zeile wurde im Debug-Log gespeichert.

Fixes:
- Volle stderr-History wird gepuffert + im download-part-failed Debug-Log
  als stderrTail (letzte 2000 chars) gespeichert
- UI bekommt jetzt die echte streamlink Error-Zeile statt 'Streamlink
  Fehlercode N' (prefer 'error:'-prefixed Zeilen, dann last non-bracket
  non-INFO line)
- classifyDownloadError matcht jetzt zusaetzlich: 'no playable streams',
  'could not find any kind of stream', 'access token', 'session token',
  'signature', 'integrity token', 'subscriber only', 'sub-only',
  'not subscribed', 'http error', 'connectionerror', 'readerror'

Streamlink-Args:
- --stream-segment-attempts 5 (default 3 — mehr Retries bei flaky CDN)
- --stream-segment-timeout 20
- --stream-timeout 120
- --retry-streams 3 (retry initial stream listing)
- --retry-max 2

Damit ueberlebt der Download transiente Twitch-CDN-Hicks und der User
sieht im naechsten Fail die echte Fehlerursache in der UI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 03:56:46 +02:00

69 lines
2.4 KiB
JSON

{
"name": "twitch-vod-manager",
"version": "5.0.5",
"description": "Twitch VOD Manager - Download Twitch VODs easily",
"main": "dist/main.js",
"author": "xRangerDE",
"license": "MIT",
"scripts": {
"build": "tsc",
"start": "npm run build && electron .",
"test:unit": "vitest run --passWithNoTests",
"test:unit:watch": "vitest",
"test:e2e:update-logic": "node scripts/smoke-test-update-version-logic.js",
"test:e2e": "node scripts/smoke-test.js",
"test:e2e:guide": "node scripts/smoke-test-template-guide.js",
"test:e2e:full": "node scripts/smoke-test-full.js",
"test:e2e:release": "npm run build && npm run test:unit && npm run test:e2e:update-logic && npm run test:e2e && npm run test:e2e:guide && npm run test:e2e:full",
"test:e2e:stress": "npm run test:e2e:release && npm run test:e2e:release && npm run test:e2e:release",
"pack": "npm run build && electron-builder --dir",
"dist": "npm run build && electron-builder",
"dist:win": "npm run test:e2e:release && electron-builder --win",
"release:gitea": "node scripts/release_gitea.mjs",
"test:merge-split": "node scripts/smoke-test-merge-split-logic.js"
},
"dependencies": {
"axios": "^1.6.0",
"better-sqlite3": "^12.9.0",
"electron-updater": "^6.1.0"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@types/better-sqlite3": "^7.6.13",
"@types/node": "^20.10.0",
"electron": "^28.0.0",
"electron-builder": "^24.9.0",
"eslint": "^10.1.0",
"eslint-plugin-security": "^4.0.0",
"playwright": "^1.59.1",
"typescript": "^5.3.0",
"typescript-eslint": "^8.57.1",
"vitest": "^4.1.6"
},
"build": {
"appId": "de.24-music.twitch-vod-manager",
"productName": "Twitch VOD Manager",
"directories": {
"output": "release"
},
"win": {
"target": "nsis",
"signAndEditExecutable": false,
"artifactName": "Twitch-VOD-Manager-Setup-${version}.${ext}"
},
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"deleteAppDataOnUninstall": false,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"shortcutName": "Twitch VOD Manager v${version}",
"include": "build/installer.nsh"
},
"publish": {
"provider": "generic",
"url": "https://git.24-music.de/Administrator/Twitch-VOD-Manager/releases/download/v${version}/"
}
}
}