Commit Graph

19 Commits

Author SHA1 Message Date
NimBold 0ace3e4111 fix: resolve additional bugs identified in code review
- core: remove DispatchGroup from MediaExtractionEngine to fix hanging on yt-dlp launch failure
- core: clear readabilityHandlers in Aria2DownloadEngine if process fails to launch
- core: fix TOCTOU type warning for findFreePort
- build: fix inverted logic in Mach-O validation script
- ci: fix hardcoded macOS SDK version check in release workflow
- ci: prevent workflow_dispatch from failing on verify-tag
2026-06-10 23:43:10 +03:30
NimBold 2a5452b7c6 fix: resolve multiple critical bugs identified in code review
- fix(engine): resolve aria2 port TOCTOU race and secure conf file

- fix(server): eliminate main queue deadlock risk in local extension server

- fix(controller): ensure synchronous state save on app termination

- fix(ui): fix table skipping new items by diffing identity instead of count

- fix(scheduler): use 2-letter abbreviations to resolve day name collisions

- fix(settings): purge keychain orphans when primer access is denied

- fix(metadata): prevent synchronous DNS resolution from blocking async pool

- refactor: clean up dead code and unused variables
2026-06-10 19:25:06 +03:30
nimbold f887c62195 feat: enforce dynamic browser extension pairing security
- Generate random pairing token in AppSettings

- Update LocalExtensionServer to strict check token on non-OPTIONS endpoints

- Add GET /ping endpoint for extension connection verification

- Redesign Integration settings pane with modern step-by-step UI and Toast notifications

- Harden media extraction and aria2 engine paths

- Update IP resolution with getaddrinfo
2026-06-09 06:30:39 +03:30
nimbold 4e48f1e42c fix: harden media download flow 2026-06-08 01:06:00 +03:30
nimbold a375b2e685 feat: integrate Sparkle 2 for secure in-app updates 2026-06-06 15:01:40 +03:30
nimbold c18aa6fdaf fix: complete aria2 downloads via rpc 2026-06-05 12:38:14 +03:30
nimbold 4a9d4cab2f fix(settings): align preferences with runtime behavior 2026-06-05 11:41:56 +03:30
nimbold 0cbb982f5b fix: harden download workflows 2026-06-04 15:41:38 +03:30
nimbold 8e32762217 feat: implement chunk map inspector, drag-and-drop, and UI refinements
- Add ChunkMapView to visualize active segmented downloads using aria2 RPC
- Add drag-and-drop support for URLs and text files in main window and dock
- Refactor settings panes to use native macOS HIG Form and .toolbar layouts
- Fix DNS rebinding vulnerability by validating Host header in local server
- Fix memory leak in console buffer by capping to 512KB
- Fix UI hang during aria2c version check by running it in detached task
2026-06-04 13:34:28 +03:30
nimbold 7802b612a4 feat: integrate settings and speed limiter into main window
- Refactor SettingsView to act as a flat detail pane instead of a nested sidebar or macOS native window
- Add custom horizontal tab bar for switching between setting categories
- Create SpeedLimiterView and add it as a primary tool in the sidebar
- Add state retention using AppStorage for settings tab selection and speed limits
- Fix EXC_BAD_ACCESS in DownloadTable by using sortableSize instead of debugDescription
2026-06-04 05:29:15 +03:30
nimbold 0c5e031f49 fix: harden release builds and queue scheduling 2026-06-03 04:15:53 +03:30
nimbold 8c2dee2c13 feat: add bandwidth speed limits 2026-06-03 03:58:17 +03:30
nimbold 8f17fa1e47 feat: add advanced transfer options 2026-06-03 03:36:06 +03:30
nimbold dd348c46da feat: add download recovery 2026-06-02 04:29:14 +03:30
nimbold a4740190fd Add engine settings page 2026-06-02 04:22:47 +03:30
nimbold 22aeff4740 Add network proxy settings 2026-06-02 04:15:53 +03:30
nimbold 2e78bfe588 feat: add download table controls 2026-06-01 05:08:07 +03:30
nimbold c8624c7c77 feat: add native settings window 2026-06-01 04:23:59 +03:30
nimbold 5e063f96e5 feat: initialize firelink download manager 2026-06-01 04:07:03 +03:30