feat: add Deepbrid, daily scheduling, and notification center

Add encrypted Deepbrid API accounts with account validation, provider routing, fallback, usage tracking, safe error handling, and verified 1Fichier downloads. Restore persistent recurring daily starts with local-calendar deduplication and legacy schedule compatibility. Add durable Discord package, run, remaining-volume, stall, and recovery notifications with privacy-safe telemetry and disk-failure recovery.
This commit is contained in:
Sucukdeluxe
2026-08-24 07:37:55 +02:00
parent 06e5bf4340
commit 1b7caba2eb
83 changed files with 12769 additions and 1098 deletions
+34
View File
@@ -16,6 +16,40 @@ describe("renderer localization", () => {
expect(translateUiText("Animations", "de")).toBe("Animationen");
});
it.each([
["Deepbrid API", "Deepbrid API"],
["Direkter Zugriff über API-Key.", "Direct access via API key."],
["Deepbrid gespeichert", "Deepbrid saved"]
])("translates Deepbrid account UI text %s", (german, english) => {
expect(translateUiText(german, "en")).toBe(english);
});
it.each([
["Erfolgsmeldungen senden", "Send success notifications"],
["Gesammelt (alle 2 Minuten)", "Grouped (every 2 minutes)"],
["Jedes Paket einzeln", "Each package individually"],
["Melden, wenn der gesamte Lauf fertig ist", "Notify when the entire run completes"],
["Melden, wenn die Restmenge unterschritten wird", "Notify when the remaining amount falls below the threshold"],
["Restmengenschwelle (GB)", "Remaining amount threshold (GB)"],
["Melden, wenn Downloads stillstehen", "Notify when downloads stall"],
["Stillstand bestätigen nach (Sek.)", "Confirm stall after (sec.)"],
["Frühestens erneut melden nach (Min.)", "Notify again after at least (min.)"],
["Melden, wenn Downloads wieder laufen", "Notify when downloads resume"]
])("translates notification center setting %s in both directions", (german, english) => {
expect(translateUiText(german, "en")).toBe(english);
expect(translateUiText(english, "de")).toBe(german);
});
it.each([
["Starttag", "Start day"],
["Ab heute", "Starting today"],
["Ab morgen", "Starting tomorrow"],
["Bitte eine gültige Startzeit auswählen.", "Select a valid start time."]
])("translates daily schedule text %s in both directions", (german, english) => {
expect(translateUiText(german, "en")).toBe(english);
expect(translateUiText(english, "de")).toBe(german);
});
it("translates dynamic update and pagination text", () => {
expect(translateUiText("v2.0.14 ist verfügbar. Installierte Version: 2.0.13.", "en"))
.toBe("v2.0.14 is available. Installed version: 2.0.13.");