Encrypted backup system + hide extracted items in package list
Backup redesign (JDownloader 2 style): - AES-256-GCM encrypted .mdd format with fixed app key - All credentials exported (no more ***-masking), works on any PC - Includes settings, session AND history in backup - Backward-compatible: auto-detects legacy JSON backups - Normalize history entries on import - Added debridLinkApiKeys, linkSnappy credentials to sensitive keys Hide extracted items: - New setting: hide completed/extracted items from package item list - Items still count in progress stats (done/total), only hidden in UI - Default: enabled - Toggle in settings: "Entpackte Items in Paketliste ausblenden" Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
0edd8f6be5
commit
8e4b29a155
+2
-1
@@ -371,6 +371,7 @@ export function normalizeSettings(settings: AppSettings): AppSettings {
|
||||
: defaults.accountListShowDetailedDebridLinkKeys,
|
||||
autoSortPackagesByProgress: settings.autoSortPackagesByProgress !== undefined ? Boolean(settings.autoSortPackagesByProgress) : defaults.autoSortPackagesByProgress,
|
||||
autoSkipExtracted: settings.autoSkipExtracted !== undefined ? Boolean(settings.autoSkipExtracted) : defaults.autoSkipExtracted,
|
||||
hideExtractedItems: settings.hideExtractedItems !== undefined ? Boolean(settings.hideExtractedItems) : defaults.hideExtractedItems,
|
||||
confirmDeleteSelection: settings.confirmDeleteSelection !== undefined ? Boolean(settings.confirmDeleteSelection) : defaults.confirmDeleteSelection,
|
||||
totalDownloadedAllTime: typeof settings.totalDownloadedAllTime === "number" && settings.totalDownloadedAllTime >= 0 ? settings.totalDownloadedAllTime : defaults.totalDownloadedAllTime,
|
||||
theme: VALID_THEMES.has(settings.theme) ? settings.theme : defaults.theme,
|
||||
@@ -906,7 +907,7 @@ export async function saveSessionAsync(paths: StoragePaths, session: SessionStat
|
||||
|
||||
const MAX_HISTORY_ENTRIES = 500;
|
||||
|
||||
function normalizeHistoryEntry(raw: unknown, index: number): HistoryEntry | null {
|
||||
export function normalizeHistoryEntry(raw: unknown, index: number): HistoryEntry | null {
|
||||
const entry = asRecord(raw);
|
||||
if (!entry) return null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user