Commit Graph
86 Commits
Author SHA1 Message Date
Sucukdeluxe c6fb8d928e fix(realdebrid): keep background downloads noninteractive
Restrict browser window creation to explicit login actions so account activation, status probes, and download retries never open or reopen Real-Debrid windows. Remove the automatic login polling loop from web unrestrict and return a clear login-required error instead. Cover concurrent fresh fallback instances, manually closed windows, and authenticated fair-use failures without popup creation.
2026-08-15 22:00:48 +02:00
Sucukdeluxe 935f39d7db fix(realdebrid): respect dismissed login windows
Remember a user-dismissed browser login per Real-Debrid web account so queued and repeated unrestrict attempts cannot reopen it. Clear the suppression only after explicit login or successful authentication, and close successful login windows without treating them as user cancellations.
2026-08-15 21:48:37 +02:00
Sucukdeluxe 31560cfbe0 fix(accounts): keep invalid accounts disabled
Require the silent activation refresh to return a valid account state before persisting the enabled setting. Invalid or expired sessions now roll back the optimistic toggle and cannot trigger an interactive login from active downloads.
2026-08-15 21:43:30 +02:00
Sucukdeluxe 82303dc94a fix(accounts): refresh status before enabling accounts
Validate Real-Debrid, Mega-Debrid, and Debrid-Link accounts silently before exposing a newly enabled account to active downloads. Keep the row toggle optimistic, skip network checks while disabling, persist direct account-check results, and avoid the browser-login race for an already authenticated Real-Debrid web session.
2026-08-15 21:41:38 +02:00
Sucukdeluxe d720c5912e feat(settings): expose Real-Debrid multi-account controls 2026-08-15 21:34:28 +02:00
Sucukdeluxe 7e65195057 feat(realdebrid): rotate accounts during unrestrict 2026-08-15 21:16:18 +02:00
Sucukdeluxe 53cdac1ded feat(realdebrid): isolate browser account sessions 2026-08-15 20:35:34 +02:00
Sucukdeluxe af710610fd feat(accounts): manage Real-Debrid account pool 2026-08-15 20:17:41 +02:00
Sucukdeluxe 56a05fa66f feat(realdebrid): add multi-account settings model 2026-08-15 20:00:43 +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 a3b4b2323f fix(downloads): finish availability checks after start 2026-08-15 18:39:34 +02:00
Sucukdeluxe cda5902ba2 fix(accounts): preserve Real-Debrid usernames 2026-08-15 18:36:08 +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 135b2e7316 fix(downloads): keep active priority menu stable
Treat the selected priority as a disabled no-op so clicking it no longer closes the context menu. Reorder packages consistently across high, normal, and low priority groups while preserving stable order within each group. Add regression coverage for all priority transitions and the active menu state.
2026-08-15 03:23:24 +02:00
Sucukdeluxe f4b9bc9f12 fix(ui): remove phantom context menu scrollbars
Keep hidden submenus in viewport-fixed positioning from their first layout so they do not enlarge the root context menu scroll area before hover. Preserve viewport-safe submenu placement for mouse and keyboard activation.
2026-08-15 03:10: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 90fc77f203 fix(accounts): release row focus after Escape
Blur the focused account row only when Escape clears an active account selection. This prevents Chromium focus-visible styling from leaving a thick clipped blue outline while retaining accessible focus indicators during normal keyboard navigation.
2026-08-15 02:00:54 +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 479c2b600a fix(accounts): unlock parent provider when enabling rows
Make individual Debrid-Link and Mega-Debrid switches express an explicit enabled target. Enabling a row now clears both its own disabled identifier and the effective provider lock; Mega-Debrid also re-enables the selected API or web mode.

Keep row-level disabling scoped to the selected account, align the legacy key view with the effective provider state, and cover the provider-plus-account lock combination with a regression test.
2026-08-15 01:19:29 +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
Sucukdeluxe 5980b48d60 fix(settings): accept omitted optional values after upgrades
Restore the v2.0.35 renderer settings validation behavior that was lost when the download path returned to the v2.0.28 baseline. Ignore undefined optional values at top level and inside structured settings while continuing to reject unknown concrete keys and invalid types. Cover a full settings save containing a Real-Debrid account status without the optional email field, plus obsolete optional-field handling.
2026-08-15 00:18:01 +02:00
Sucukdeluxe d1d1817f86 feat: make package disclosure motion optional
Add a persisted general setting that keeps package expand and collapse motion enabled by default while allowing remote and lower-performance systems to switch it off. Route the setting through normalized application state and renderer settings, bypass transition grouping when disabled, and retain the existing virtualized package list behavior. Cover legacy defaults, explicit opt-out persistence, settings presentation, and the immediate disclosure path with focused regression tests.
2026-08-14 23:59:51 +02:00
Sucukdeluxe c71cac7dc7 fix(downloads): animate package contents as one panel 2026-08-14 23:33:19 +02:00
Sucukdeluxe 18c8085a4a tune(downloads): extend package disclosure motion 2026-08-14 23:22:35 +02:00
Sucukdeluxe 4d1127a802 tune(downloads): slow package disclosure motion 2026-08-14 23:13:57 +02:00
Sucukdeluxe 318a4f6913 fix(downloads): keep collapse rows mounted across viewport 2026-08-14 23:11:05 +02:00
Sucukdeluxe 56aed073f3 fix(downloads): make package disclosure motion visible
Keep the explicitly requested 300 ms package transition active when Chromium reports reduced motion, and separate the prepared and active disclosure states by a painted frame. Add focused regression coverage and an opt-in motion mode for the visual harness while keeping normal captures deterministic.
2026-08-14 22:38:06 +02:00
Sucukdeluxe 9cf89b8493 feat(downloads): restore package disclosure motion and remaining size
Restore smooth 300 ms expand and collapse transitions without removing row virtualization. Limit animated disclosure rows globally, preserve live item updates during motion, support rapid reversal, and keep large queues bounded.

Add a Remaining sidebar metric that sums only unfinished known bytes while clearly marking unknown open sizes. Cover multi-package limits, live transition merges, honest remaining-size semantics, translations, and accessibility.
2026-08-14 22:24:00 +02:00
Sucukdeluxe 3974853634 feat(ui): refresh branding and account identity copying
Replace every active application icon asset with the new high-resolution artwork, including transparent PNG, complete Windows ICO sizes, and the documentation screenshot.

Turn populated username and email cells into non-selectable copy actions backed by validated native Electron clipboard IPC while keeping empty cells and row interactions unchanged.
2026-08-14 21:56:25 +02:00
Sucukdeluxe b80209a10f fix(realdebrid): persist web status and report relevant provider errors
Check Real-Debrid API and browser sessions through the account status flow, retain the service status across settings updates, and refresh the account row when a browser login is detected. Exclude unavailable providers that were never attempted from conversion failures and prevent aggregated fallback text from being mislabeled as a Debrid-Link terminal error. Bump the development version to 2.0.37 and add focused regression coverage.
2026-08-14 21:02:30 +02:00
Sucukdeluxe ca015553f3 fix(startup): preserve Electron WebContents receivers 2026-08-12 21:48:45 +02:00
Sucukdeluxe d58c3a262f fix(startup): allow case-insensitive renderer paths on Windows
Normalizes local renderer file URLs to filesystem paths before comparison so Windows path casing cannot block the packaged application during initial navigation. Adds a regression test covering case-insensitive packaged renderer URLs and records the v2.0.27 release notes.
2026-08-12 21:31:08 +02:00