NimBold
6e85c0842f
fix(startup): enforce keychain consent before credential access
...
Keep credential-store operations behind a per-process consent gate, prevent duplicate native grant requests, and defer legacy token migration until explicit consent. Harden the RTL/sidebar, custom window controls, bidi copy, and queue editor fixes.
Refs #17
2026-07-19 07:07:29 +03:30
NimBold
f47eb7507f
fix(ui): preserve LTR left sidebar in RTL
...
Keep the left sidebar geometry stable across RTL locales and retain the default settings-tab order.
Refs #17
2026-07-19 04:07:33 +03:30
NimBold
c427aa2f7a
fix(ui): stabilize sidebar and titlebar placement
...
Keep left RTL sidebars physically aligned with the default layout, swap titlebar actions with side-aware custom controls, and preserve usable titlebar space when the sidebar is visible.
Refs #17
2026-07-19 03:31:37 +03:30
NimBold
23878c2ef8
fix(ui): harden sidebar and custom window controls
...
Prevent stale inline queue edits, preserve focused queue deletion semantics, and keep Windows custom chrome decoration-free across sidebar layouts.
Refs #17
2026-07-19 03:10:42 +03:30
NimBold
79cd9f0ed1
fix(ui): stabilize side-aware RTL layout
...
Keep download columns in their default order, mirror sidebar badges by physical side, and reserve titlebar space for desktop controls.
Refs #17
2026-07-19 02:53:37 +03:30
NimBold
60f13f756c
fix(ui): harden RTL sidebar and desktop window controls
...
Keep custom Windows/Linux controls available during platform detection, preserve RTL table order while aligning filenames left, and persist sidebar placement overrides.
Refs #17
2026-07-19 02:34:32 +03:30
NimBold
2668f0b722
fix(media): handle locked browser cookie databases
...
Retry yt-dlp metadata and media downloads without browser cookies only when the browser database cannot be read, while preserving explicit credentials, cache identity, and cancellation behavior.
Refs #22
Refs #24
2026-07-18 17:22:10 +03:30
NimBold
93ddf427b4
feat(i18n): add localized desktop UI
...
Refs #17
2026-07-18 13:44:29 +03:30
NimBold
e4d7d5ecf0
feat(locations): make directory memory opt-in
...
Keep the last Add-window directory disabled until enabled in Settings > Locations.
Refs #23
2026-07-18 12:02:17 +03:30
NimBold
160e6af945
feat(locations): remember last Add-window directory
...
Remember manually selected Add-window folders during the current session, with a persisted Locations toggle and cross-platform path handling.\n\nRefs #23
2026-07-18 11:52:24 +03:30
NimBold
c914eeb7b3
feat(i18n): add localization infrastructure and English catalog
...
Refs #17
2026-07-18 01:10:27 +03:30
NimBold
62365f514e
fix(ui): align size header with values
2026-07-17 23:46:06 +03:30
NimBold
9fdd8ac1b8
fix(ui): align size values within column
2026-07-17 23:37:32 +03:30
NimBold
61eb034db1
chore(release): prepare Firelink 1.1.1
v1.1.1
2026-07-17 18:58:45 +03:30
NimBold
c949cbb9ee
fix(ui): align action controls and protect keychain consent
2026-07-17 18:37:50 +03:30
NimBold
566396e629
fix(media): stabilize YouTube size estimates
2026-07-17 17:49:23 +03:30
NimBold
db39cd2153
fix: stabilize media progress and cancel controls
2026-07-17 17:12:56 +03:30
NimBold
f4b830414d
fix: harden audited persistence and download paths
2026-07-17 16:27:39 +03:30
NimBold
0447d1cab7
fix(build): scope Tailwind scanning and remove dead Rust helper
...
Limit Tailwind source detection to the frontend and root HTML while preserving the CSS-defined theme. Remove redundant test-only nonce validation scaffolding so the Rust library builds without warnings.
2026-07-17 03:20:31 +03:30
NimBold
513143d745
fix(release): harden packaged smoke cleanup
2026-07-17 02:35:36 +03:30
NimBold
a8dc4fb447
fix(security): harden browser handoff boundaries
2026-07-17 02:05:41 +03:30
NimBold
50c3da2f5d
fix(downloads): close media lifecycle cleanup gaps
...
Validate every Aria2 mirror URI, keep metadata cleanup errors truthful, and serialize media registration with lifecycle cancellation so abandoned tombstones cannot accumulate.
2026-07-17 01:03:52 +03:30
NimBold
6ef911919d
fix(settings): harden settings and diagnostic controls
2026-07-17 00:39:26 +03:30
NimBold
5144ecd39e
chore(deps): refresh packages and bundled engines
2026-07-17 00:03:15 +03:30
NimBold
a56b859151
fix(downloads): preserve authenticated capture metadata
...
Keep Gmail attachment filenames and origin-scoped browser cookies intact through metadata redirects, while rejecting Google sign-in responses.\n\nFixes #21
2026-07-16 22:58:12 +03:30
NimBold
469faed7b9
fix(downloads): harden add flow and URL validation
2026-07-16 22:20:12 +03:30
NimBold
79ce0c18a1
fix(downloads): harden aria2 recovery lifecycle
2026-07-16 17:56:00 +03:30
NimBold
d195a132b3
perf(downloads): scale playlist rows efficiently
2026-07-16 17:23:43 +03:30
NimBold
feb5d8e87d
fix(downloads): harden playlist state and scrolling
2026-07-16 16:57:35 +03:30
NimBold
a136fa832c
feat(downloads): support YouTube playlists
2026-07-16 16:07:00 +03:30
NimBold
f3d0e0be13
fix(downloads): recover stalls and honor connection defaults ( #19 , #20 )
2026-07-16 14:28:59 +03:30
NimBold
edeef0ac54
fix(startup): enforce consent before download handoffs
...
Gate clipboard, extension, and deep-link inputs until startup consent is resolved, and serialize extension readiness transitions so native prompts cannot race the app explanation. Identify consent by the build revision so same-version updates re-enter the consent boundary.
Requested by [this X post](https://x.com/ixabolfazl/status/2077356127763804450?s=20 ).
2026-07-15 21:48:00 +03:30
NimBold
9f333618fc
fix(downloads): show total size after completion
2026-07-15 21:30:01 +03:30
NimBold
ed54a048ab
fix(keychain): version startup consent policy
2026-07-15 21:21:35 +03:30
NimBold
d2479f52be
fix(startup): restore keychain consent barrier
2026-07-15 21:09:45 +03:30
NimBold
6e6ae51395
fix(downloads): preserve live progress across lifecycle edges
2026-07-15 20:50:46 +03:30
NimBold
1d197432b2
feat(downloads): add live limits clipboard capture and byte progress
2026-07-15 20:35:05 +03:30
NimBold
9917f29743
fix(build): gate platform-specific proxy helper
2026-07-15 12:49:40 +03:30
NimBold
df3bc359c4
chore(release): prepare Firelink 1.1.0
v1.1.0
2026-07-15 11:55:54 +03:30
NimBold
57f132f53e
fix(metadata): decode URL-derived filenames
...
Decode URL path segments before sanitizing metadata filenames and preserve malformed escapes safely.
Fixes #18
2026-07-15 11:29:17 +03:30
NimBold
52b00e5cb4
fix(keychain): gate credential-store startup access
2026-07-15 11:07:48 +03:30
NimBold
8e02a61c3f
fix(downloads): preserve terminal startup state
2026-07-15 10:23:06 +03:30
NimBold
82f2914077
fix: close post-release lifecycle state gaps
2026-07-15 10:13:53 +03:30
NimBold
9224117d77
chore(deps): scope release-gate update to npm ( #16 )
...
Remove the unrelated Rust lockfile refresh from the prior dependency commit. Keep the Autoprefixer release-gate update scoped to package.json and package-lock.json. Refs #16 .
2026-07-15 09:43:19 +03:30
NimBold
3c84b5c1a4
chore(deps): refresh compatible npm and Rust packages ( #16 )
...
Refresh Autoprefixer and compatible Rust transitive dependencies after the release hardening work. Refs #16 .
2026-07-15 09:40:23 +03:30
NimBold
c34c489aef
fix(settings): preserve speed limiter units
...
Persist the selected display unit for disabled limits, preserve in-progress fractional input, and keep exact KiB-backed preset values visible.\n\nNo linked issue.
2026-07-15 09:19:19 +03:30
NimBold
b81e8391e1
fix(release): harden speed limits and extension replay checks
2026-07-15 09:02:40 +03:30
NimBold
6ff0047d6c
fix(release): make verifier RPC smoke resilient
...
Use OS-selected localhost ports with bounded bind retries and handle aria2c spawn failures without unhandled child-process errors.
Refs #3
2026-07-15 08:50:34 +03:30
NimBold
4a3fece22b
fix(release): harden package and engine verifier cleanup
2026-07-15 08:40:12 +03:30
NimBold
1da0fa7223
fix(security): harden credential and path boundaries
...
Preserve pending pairing tokens until credential-store migration succeeds, defer keychain access until frontend hydration, reject symlink and malformed ownership paths, and restrict metadata credentials to exact origins.
Refs #15
Refs #16
2026-07-15 08:23:43 +03:30