Add Account Manager + fix Hybrid-Extract premature extraction

- Account Manager: table UI with add/remove/check for all 4 providers
  (Real-Debrid, Mega-Debrid, BestDebrid, AllDebrid)
- Backend: checkRealDebridAccount, checkAllDebridAccount, checkBestDebridAccount
- Hybrid-Extract fix: check item.fileName for queued items without targetPath,
  disable disk-fallback for multi-part archives, extend disk-fallback to catch
  active downloads by fileName match (prevents CRC errors on incomplete files)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sucukdeluxe
2026-03-03 14:36:13 +01:00
co-authored by Claude Opus 4.6
parent e6ec1ed755
commit 0b7c658c8f
6 changed files with 307 additions and 43 deletions
+11 -3
View File
@@ -386,10 +386,18 @@ function registerIpcHandlers(): void {
});
ipcMain.handle(IPC_CHANNELS.CHECK_ACCOUNT, async (_event: IpcMainInvokeEvent, provider: string) => {
validateString(provider, "provider");
if (provider === "megadebrid") {
return controller.checkMegaAccount();
switch (provider) {
case "realdebrid":
return controller.checkRealDebridAccount();
case "megadebrid":
return controller.checkMegaAccount();
case "bestdebrid":
return controller.checkBestDebridAccount();
case "alldebrid":
return controller.checkAllDebridAccount();
default:
return { provider, username: "", accountType: "", daysRemaining: null, loyaltyPoints: null, error: "Nicht unterstützt" };
}
return { provider, username: "", accountType: "", daysRemaining: null, loyaltyPoints: null, error: "Nicht unterstützt" };
});
ipcMain.handle(IPC_CHANNELS.GET_SESSION_STATS, () => controller.getSessionStats());