Fix crash when DDownload settings are missing from persisted config

Guard against undefined ddownloadLogin/ddownloadPassword in renderer
when upgrading from a version without DDownload support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sucukdeluxe 2026-03-05 02:17:41 +01:00
parent 284c5e7aa6
commit 4b824b2d9f
2 changed files with 4 additions and 4 deletions

View File

@ -1,6 +1,6 @@
{
"name": "real-debrid-downloader",
"version": "1.6.35",
"version": "1.6.36",
"description": "Desktop downloader",
"main": "build/main/main/main.js",
"author": "Sucukdeluxe",

View File

@ -928,7 +928,7 @@ export function App(): ReactElement {
if (settingsDraft.allDebridToken.trim()) {
list.push("alldebrid");
}
if (settingsDraft.ddownloadLogin.trim() && settingsDraft.ddownloadPassword.trim()) {
if ((settingsDraft.ddownloadLogin || "").trim() && (settingsDraft.ddownloadPassword || "").trim()) {
list.push("ddownload");
}
return list;
@ -2720,9 +2720,9 @@ export function App(): ReactElement {
<label>AllDebrid API Key</label>
<input type="password" value={settingsDraft.allDebridToken} onChange={(e) => setText("allDebridToken", e.target.value)} />
<label>DDownload Login</label>
<input value={settingsDraft.ddownloadLogin} onChange={(e) => setText("ddownloadLogin", e.target.value)} />
<input value={settingsDraft.ddownloadLogin || ""} onChange={(e) => setText("ddownloadLogin", e.target.value)} />
<label>DDownload Passwort</label>
<input type="password" value={settingsDraft.ddownloadPassword} onChange={(e) => setText("ddownloadPassword", e.target.value)} />
<input type="password" value={settingsDraft.ddownloadPassword || ""} onChange={(e) => setText("ddownloadPassword", e.target.value)} />
{configuredProviders.length === 0 && (
<div className="hint">Füge mindestens einen Account hinzu, dann erscheint die Hoster-Auswahl.</div>
)}