Commit Graph
75 Commits
Author SHA1 Message Date
Sucukdeluxe a101bd0bed Fix disclosure fading and global package toggles
Fade the shared virtual item group from transparent to opaque while expanding and reverse the opacity while collapsing, preserving the clipping row as the geometry owner.

Move the downloads package toggle to the far toolbar edge and add a collector toolbar toggle backed by raw unfiltered package IDs.

Cover opacity endpoints, intermediate frame geometry, toolbar ordering, and filter-independent collector toggle semantics.
2026-08-22 11:18:05 +02:00
Sucukdeluxe ad29239661 Complete provider waits and lifecycle visibility
Release aborted Real-Debrid, AllDebrid, and BestDebrid web callers even when underlying requests ignore cancellation while retaining terminal rejection observers. Publish provider cooldown deadlines and emit a fresh idle snapshot at the earliest expiry. Abort and visibly drain post-processing before dispatching one pending restart. Surface lifecycle phase, reason, retry countdown, and remaining work in the download controls. Add focused regressions for provider abort races, cooldown expiry, post-processing drain, pending start visibility, and the updated rapid stop contract.
2026-08-22 10:39:07 +02:00
Sucukdeluxe 2e94484274 Validate daily schedule start times
Disable schedule activation until the local time input matches a strict HH:MM value.

Keep a defensive activation guard that surfaces a localized validation error and skips persistence when invoked with invalid state.

Add red-green coverage for empty, malformed, out-of-range hour, and out-of-range minute values.
2026-08-22 10:12:25 +02:00
Sucukdeluxe 30bedd17dd Add recurring daily schedule controls
Replace the one-time renderer schedule form with recurring local time and start-day settings while preserving legacy schedule visibility.

Keep the toolbar slot mounted and inaccessible while closed, animate width, opacity, and horizontal position through the global motion preference, and add localized labels.

Surface activation and cancellation failures, reconcile the authoritative snapshot after failed writes, and cover the behavior with focused red-green tests.
2026-08-22 10:02:29 +02:00
Sucukdeluxe 16679e73b5 feat(settings): configure notification center 2026-08-22 07:51:01 +02:00
Sucukdeluxe 03da04b629 feat(notifications): finalize package and run results 2026-08-22 05:08:48 +02:00
Sucukdeluxe ef7423134a feat(history): add package lifecycle telemetry 2026-08-22 04:04:42 +02:00
Sucukdeluxe b03f6ee1bc feat(collector): show hoster icons with tooltips
Render known hosters with their existing provider icons in collector package and file rows while retaining the full hoster name as a tooltip. Fall back to the compact text label if an icon cannot be loaded.
2026-08-22 02:54:14 +02:00
Sucukdeluxe 40428a69b4 feat(collector): rebuild link preview as package workspace
Inspect pasted links, text files and DLC containers before queue insertion and resolve supported hoster metadata without starting downloads. Group multipart files into expandable packages with size, status, availability, timestamps, filtering and stable selection. Add selected or complete transfer to Downloads while retaining entries on failed or partial handoff. Keep collector toolbar spacing consistent and show the full 1Fichier identity with its provider icon in Downloads.
2026-08-22 02:22:42 +02:00
Sucukdeluxe 5aa0359a93 feat(statistics): keep large totals precise in gigabytes 2026-08-21 10:34:13 +02:00
Sucukdeluxe 4de4f4a0be feat(statistics): show rolling account usage 2026-08-21 08:30:50 +02:00
Sucukdeluxe 8fb92caa30 feat(downloads): explain unknown remaining sizes 2026-08-21 01:06:03 +02:00
Sucukdeluxe 3a95136ef1 feat(history): update the open view live 2026-08-21 00:48:42 +02:00
Sucukdeluxe 18fa58002c feat(accounts): show current account check status 2026-08-21 00:41:40 +02:00
Sucukdeluxe 9ceea828ec fix(downloads): refine availability spacing 2026-08-21 00:30:51 +02:00
Sucukdeluxe db8ff00c4a fix(downloads): balance availability spacing 2026-08-21 00:29:03 +02:00
Sucukdeluxe 710d33ae8f fix(downloads): remove unused availability spacing 2026-08-21 00:27:39 +02:00
Sucukdeluxe 787fa6d7ef fix(downloads): tighten availability spacing 2026-08-21 00:25:13 +02:00
Sucukdeluxe 1bf48a52ce fix(downloads): tighten availability labels 2026-08-21 00:22:45 +02:00
Sucukdeluxe 9e873fa250 fix(downloads): keep the column menu open on right click
Stop the header context event before it reaches the newly mounted outside-click listener, preventing the column menu from closing in the same native event.
2026-08-21 00:09:59 +02:00
Sucukdeluxe 09caf8f364 fix(downloads): keep layout reset in header menu 2026-08-21 00:02:24 +02:00
Sucukdeluxe 9942b2275e feat(downloads): add column layout reset action 2026-08-20 23:56:15 +02:00
Sucukdeluxe 71a286aa94 fix(downloads): keep column controls vertically anchored
Exclude the absolute column move controls from FLIP content animations so their translateY centering remains intact throughout left and right column switches.
2026-08-20 10:34:23 +02:00
Sucukdeluxe e030daff3e perf(downloads): start column moves immediately
Commit the local target order before persistence, limit FLIP measurements to columns that actually move, and remove the redundant row-wide grid preparation pass. Keep the animation-disabled path free of geometry reads and preserve serialized settings writes.
2026-08-20 09:47:57 +02:00
Sucukdeluxe 0dfb57525a fix(downloads): make column reorder frames atomic
Commit the target grid immediately, derive track definitions from the same column order as the cells, and animate only cell contents with FLIP. Disable grid-track interpolation to avoid Chromium reduced-motion mix frames, honor the application animation setting, and retain serialized persistence and import authority.
2026-08-20 09:16:06 +02:00
Sucukdeluxe 32fc1e7321 fix(downloads): remove column reorder flicker
Clear old FLIP transforms before committing the new download grid order. Serialize and coalesce column-order persistence, keep live download snapshots from overwriting local layout state, reassert imported settings after older requests, and block overlapping pointer or arrow moves during settling.
2026-08-20 08:40:25 +02:00
Sucukdeluxe a8a5ca4b40 release: prepare v2.0.43
Add sanitized provider and account runtime diagnostics, complete the Multi-Debrid-Downloader product rename, preserve existing application data during migration, update public release verification, and publish the accompanying English documentation and regression coverage.
2026-08-16 21:50:01 +02:00
Sucukdeluxe 5747a50932 feat(accounts): add precise service filtering
Add an explicit service selector to the account creation dialog while keeping the text field focused on access types such as API and web login. Preserve the result area dimensions during filtering and allow Enter to choose the first visible account type. Cover filtering, keyboard selection, translations, and stable list geometry with focused regression tests.
2026-08-15 18:46:18 +02:00
Sucukdeluxe 52329628c3 Revert "fix(ui): honor the application animation setting globally"
This reverts commit 760ed847fc.
2026-08-15 16:05:22 +02:00
Sucukdeluxe 760ed847fc fix(ui): honor the application animation setting globally 2026-08-15 16:03:59 +02:00
Sucukdeluxe dd10083aec fix(accounts): isolate action menu interactions
Stop double-click events on account action buttons before they reach editable table rows. Simplify the account menu heading to a single hoster and access-type label without empty identity separators, and cover both interaction and formatting paths.
2026-08-15 04:55:23 +02:00
Sucukdeluxe b6ce49e7ef fix(accounts): center row menus under action header
Anchor the account action track to the table edge and offset only the row menu controls by eight pixels so their centers align with the wider Action label. Remove the previous shared padding approximation and lock the account-specific alignment in the focused regression test.
2026-08-15 04:44:49 +02:00
Sucukdeluxe 1d71860d91 fix(history): align columns and animate details
Anchor the history action column to the table edge, left-align size values with their header, and replace the raw expanded row with a measured disclosure surface. Reuse the global animation preference so history details open and close smoothly when enabled and switch immediately when animations are disabled. Preserve responsive column resizing and cover the new model and layout behavior with focused tests.
2026-08-15 04:40:02 +02:00
Sucukdeluxe 83c9afca90 feat(statistics): persist ranges and align history columns
Persist per-day download volume, outcomes, active transfer time, and provider results so today, seven-day, and 30-day views use real partial-window data. Preserve existing all-time counters while extending totals with newly recorded result metrics. Rebuild the history table around one resizable persisted grid shared by headers and rows, with synchronized overflow and consistent alignment across window sizes.
2026-08-15 04:23:14 +02:00
Sucukdeluxe 7c4f166500 fix(downloads): slow priority reorder motion
Extend only the priority reorder transition from 1.5 seconds to 3 seconds while preserving the separate package disclosure timing. Update the focused regression assertion to lock the intended duration.
2026-08-15 03:53:04 +02:00
Sucukdeluxe 6e65332d93 feat(downloads): animate priority reordering
Rename the package disclosure option to a general animations switch and use it for both disclosure and priority-order motion. Keep previously visible virtual rows mounted during reorders, animate measured start and target positions for 1.5 seconds, and cancel all motion immediately when the setting is disabled. Extend the isolated renderer fixture so enabled and disabled behavior can be measured without touching user download state.
2026-08-15 03:49:11 +02:00
Sucukdeluxe 8efee74b5c fix(ui): place cleanup opt-out below dialog actions
Extract the cleanup confirmation into a reusable production component, align its action group to the right, and place the opt-out directly below the buttons. Add an isolated visual fixture so the exact dialog can be reviewed without touching real queue data.
2026-08-15 02:56:44 +02:00
Sucukdeluxe 57ae0190ec fix(accounts): fine tune action alignment
Shift the centered Action header and account row menus eight pixels within the flexible final grid track without moving the track or expanding scrollable overflow. Lock the exact inner alignment in the focused account layout regression test.
2026-08-15 02:46:24 +02:00
Sucukdeluxe c54c45f10c fix(accounts): align action column with table edge
Let the final account action column absorb the table's remaining width instead of translating a fixed-width cell by a guessed offset. This keeps the Action header and row menus centered together at the visible right side across window widths and removes the ineffective fixed transform. Add focused regression coverage for the flexible final grid track.
2026-08-15 02:38:02 +02:00
Sucukdeluxe 2d62dd69d0 fix(accounts): move action controls farther right
Shift the visible Action header and every account row menu together twenty pixels toward the table edge while preserving the fixed column width. Update the focused layout regression coverage to require the exact requested offset.
2026-08-15 02:30:12 +02:00
Sucukdeluxe 48430ef045 fix(accounts): nudge action controls right
Move the visible Action header and each row menu together six pixels toward the table edge while preserving the fixed action-column width and alignment. Add focused coverage for the shared offset.
2026-08-15 02:25:14 +02:00
Sucukdeluxe b70cab60d1 fix(accounts): center the visible action column
Add a visible Action header to the fixed account-table action column and remove the right padding that shifted row menus away from its center. Keep all resizable content column widths unchanged and cover the header and alignment contract.
2026-08-15 02:21:48 +02:00
Sucukdeluxe 586ebea201 fix(accounts): simplify identity copy tooltips
Show only the copy action in populated username and email cell tooltips instead of repeating values already visible in the table. Preserve explicit accessible button labels and add German and English regression coverage.
2026-08-15 02:17:24 +02:00
Sucukdeluxe d91e2a4ab9 fix(accounts): separate Debrid-Link username and email
Persist the username and email returned by the Debrid-Link account endpoint as distinct identity fields and project them into their matching account-table columns. Migrate cached legacy statuses that stored a username in the email field, preserve both fields through renderer validation and sanitization, and cover API responses with and without an email address.
2026-08-15 02:11:59 +02:00
Sucukdeluxe b5854a2227 fix(accounts): clear multi-selection globally on Escape
Route account selection clearing through the existing window-level Escape handler so it works regardless of which account surface owns focus. Preserve text editing and open overlay behavior, and remove the misleading focus-dependent workspace handler.
2026-08-15 01:53:03 +02:00
Sucukdeluxe 007235bb38 feat(accounts): add multi-selection and batch removal
Support Windows-style single and Ctrl/Cmd additive row selection, clear selections with Escape, and show the selected count on the removal action. Remove selected accounts behind one confirmation, strengthen the selected-row treatment, and delete the redundant global account activation switch so individual account toggles remain authoritative.
2026-08-15 01:47:32 +02:00
Sucukdeluxe 8a112747fc feat(accounts): improve table controls and secure credential reveal
Add persistent keyboard-accessible column resizing and increase the action-column edge spacing. Disable the active-only refresh action when no enabled checkable account exists and move the account-enabled control below the daily limit field. Add an explicit trusted IPC path that reveals only the selected stored credential on demand, keeps credentials out of renderer snapshots and audit fields, clears dialog state on close, and supports native clipboard copying. Cover UI behavior, request validation, provider-specific credential lookup, preload forwarding, renderer-state secrecy, and IPC trust boundaries.
2026-08-15 01:36:04 +02:00
Sucukdeluxe 0119534e07 fix(accounts): refresh active logins and toggle instantly
Split bulk account checks into active-only and all-configured scopes so disabled providers, Mega-Debrid accounts, and Debrid-Link keys no longer distort the normal result count. Preserve explicit full checks for diagnosing disabled credentials and surface their failed status.

Render account enablement from the optimistic settings draft, persist it with revision-safe rollback, and apply the same immediate behavior to individual and bulk switches. Extend the IPC contract, translations, changelog, and regression coverage.
2026-08-15 01:14:54 +02:00
Sucukdeluxe 64c846861b fix(downloads): show remaining volume before total
Place the current unfinished download volume ahead of the historical total in the downloads status sidebar. Lock the user-facing metric order with a renderer regression test.
2026-08-15 01:00:36 +02:00
Sucukdeluxe 34c50fc2fb fix(downloads): fully disable package disclosure motion
Disable the persistent virtual row and spacer transitions when package disclosure animation is turned off, so following packages reposition immediately instead of continuing to slide. Add a renderer regression test covering the real no-motion class and CSS boundary.
2026-08-15 00:46:50 +02:00