Commit Graph

147 Commits

Author SHA1 Message Date
Administrator
0851bb09fc feat: floating drop target window and English column labels
- Small always-on-top drop target window (toggle in Settings > Allgemein)
- Files dropped on it get added to the queue with hoster modal
- Auto-shows on app start if previously enabled
- Column headers now in English (Filename, Uploaded/Size, Progress)
- Statusbar labels in English (Connections, Total)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 04:11:01 +01:00
Administrator
c0b9ec9d17 feat: add drop target overlay and statusbar colons
- Full-window drop overlay with large "+" icon when dragging files over the app
- Works from any tab, not just the upload view
- Added colons to all statusbar labels for consistency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 04:01:09 +01:00
Administrator
a5c1ec362d release: v1.9.5 2026-03-12 03:46:57 +01:00
Administrator
13d220bd30 release: v1.9.4 2026-03-12 01:57:49 +01:00
Administrator
02f208c302 release: v1.9.3 2026-03-12 01:52:58 +01:00
Administrator
b04de4036f release: v1.9.2 2026-03-12 01:27:51 +01:00
Administrator
dfe94db1d3 release: v1.9.1 2026-03-12 01:23:20 +01:00
Administrator
ea35bfa065 release: v1.9.0 2026-03-12 01:22:04 +01:00
Administrator
b5841c69f5 feat: add folder monitoring (Ordnerüberwachung) and fix statusbar display
- New FolderMonitor class with chokidar for watching folders
- Settings UI panel with all options (extensions filter, recursive, auto-start, skip duplicates)
- Auto-queue and auto-upload when files appear in monitored folder
- Fix statusbar to show uploaded/remaining instead of cumulative session bytes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 01:21:42 +01:00
Administrator
0480da0437 feat: add folder support and system tray icon
- Add "+ Ordner" button for recursive folder upload
- Drag & drop auto-detects folders and resolves files recursively
- Minimize to system tray instead of taskbar
- Tray icon with context menu (Öffnen/Beenden)
- Tray tooltip shows upload progress during active uploads
- Fix folder detection heuristic (size === 0, not % 4096)
- Fix concurrent drop guard to prevent double modal
- Fix duplicate "Erneut versuchen" context menu entry
- Add .catch() on async drop handlers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 00:44:14 +01:00
Administrator
6b2b2ca04c perf: major rendering optimization for large concurrent uploads
- Throttle progress events to 250ms intervals (was every byte chunk)
- Batch UI updates during uploads (render/statusbar/stats every 200ms)
- In-place row updates instead of full innerHTML table rebuild
- Single-pass queue stats computation (was 9 separate array filters)
- Remove CSS transition on progress bars (caused layout thrashing)
- Event delegation for recent files table (was per-row listener rebind)
- Increase persist debounce to 10s during uploads (was 3s)
- Remove redundant "Ziele auswählen" button (hoster selection on file add)
- Dark title bar via nativeTheme

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 00:18:43 +01:00
Administrator
b4c786cf04 release: v1.8.4 2026-03-11 23:35:45 +01:00
Administrator
660d0b76a1 release: v1.8.3 2026-03-11 23:31:10 +01:00
Administrator
1f3559ab22 release: v1.8.2 2026-03-11 21:45:37 +01:00
Administrator
ff2991cabd release: v1.8.1 2026-03-11 20:25:48 +01:00
Administrator
d955403c7a release: v1.8.0 2026-03-11 19:53:24 +01:00
Administrator
6f939103b9 release: v1.7.1 2026-03-11 19:28:56 +01:00
Administrator
fb4dd94827 release: v1.7.0 2026-03-11 19:21:04 +01:00
Administrator
39ccb904ef release: v1.6.9 2026-03-11 13:47:19 +01:00
Administrator
153ea2b193 fix: atomic config writes to prevent data loss on update/crash
- All config writes now go through _atomicWrite() (write to .tmp, backup
  to .bak, rename .tmp to main config)
- load() falls back to .bak if main config is empty or corrupt
- Prevents 0KB config files caused by process termination during write

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 04:06:41 +01:00
Administrator
6945b42886 release: v1.6.7 2026-03-11 04:00:53 +01:00
Administrator
c462f6bef5 release: v1.6.6 2026-03-11 03:56:29 +01:00
Administrator
e6bad780ee release: v1.6.5 2026-03-11 03:51:31 +01:00
Administrator
14490d947a release: v1.6.4 2026-03-11 03:47:28 +01:00
Administrator
2ea1013951 release: v1.6.3 2026-03-11 03:39:57 +01:00
Administrator
8995feb541 release: v1.6.2 2026-03-11 03:18:07 +01:00
Administrator
9da6629e19 release: v1.6.1 2026-03-11 03:14:32 +01:00
Administrator
cb64c6cd91 release: v1.6.0 2026-03-11 03:09:23 +01:00
Administrator
bfe98eac0c release: v1.5.5 2026-03-11 02:52:54 +01:00
Administrator
0bde332003 release: v1.5.4 2026-03-11 02:42:47 +01:00
Administrator
f59539e85b feat: improve account-driven uploads 2026-03-11 02:41:32 +01:00
Administrator
cc5ee47fb8 fix: drag&drop many files, layout split, virtual scrolling, keyboard selection
- Use webUtils.getPathForFile (Electron 33+) for reliable file paths
- Use Set for O(1) dedup on large file drops
- Fix flex layout so Files panel stays visible with many queue items
- Fix virtual scrolling viewport height and range cache reset
- Add Ctrl+A (select all), Delete (remove selected) keyboard shortcuts
- Fix Shift+Click range selection to work with virtual scrolling

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 02:03:10 +01:00
Administrator
f7e8f9a56c fix: split layout, top-to-bottom queue processing, persist queue on close
- Queue table limited to 50% height with scrollbar, links panel below
- Upload processes files sequentially (file1 all hosters, then file2, etc.)
- Queue state persists immediately after adding files (not debounced)
- Add beforeunload handler to flush pending queue state

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 01:48:39 +01:00
Administrator
6fbfa4b61e release: v1.5.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 01:39:05 +01:00
Administrator
d94156943b feat: doodstream login support, auto-remove from queue, byse URL fix
- Add doodstream.com web login (email+password) as alternative to API key
- Fix doodstream login: use X-Requested-With header for JSON response
- Add "Aus der Queue entfernen bei Abschluss" setting
- Fix byse.sx download URLs to use /d/ prefix
- Make config writes async to prevent race conditions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 01:23:27 +01:00
Administrator
7d992206e8 feat: byse.sx health check + performance optimizations for large queues
- Add byse.sx health check via API upload/server endpoint
- Virtual scrolling for queue table (>200 rows renders only visible rows)
- O(1) job lookups via index Maps instead of O(n) array.find()
- Event delegation on queue tbody instead of per-row listeners
- Async config writes to avoid blocking main process
- Increase persist debounce to 3s during uploads (was 250ms)
- Reduce debug logging to state changes only
- Move save button to bottom-right in settings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 00:45:09 +01:00
Administrator
d9dec33ecc feat: add account management tab with login validation
New "Accounts" tab for managing hoster credentials separately from
upload settings. Accounts can be added, edited, and deleted via modal
dialogs. Login credentials are automatically verified on save, showing
status (Bereit/Fehler) in the account list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 00:34:17 +01:00
Administrator
9591399a0d release: v1.2.1 2026-03-11 00:17:30 +01:00
Administrator
71e9232269 release: v1.2.0 2026-03-11 00:04:40 +01:00
Administrator
100621ad59 release: v1.1.3 2026-03-10 23:47:49 +01:00
Administrator
c313bc9175 release: v1.1.2 2026-03-10 22:22:35 +01:00
Administrator
d7ddeda341 release: v1.1.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:23:36 +01:00
Administrator
61681de9a3 test: add unit tests (41) and UI smoke tests (21), fix semaphore listener leak
- 12 Semaphore tests: FIFO ordering, abort support, limit updates, listener cleanup
- 8 Throttle tests: rate limiting, abort signal, concurrent consume, updateRate
- 9 ConfigStore tests: defaults, merge, round-trip, corruption fallback, history cap
- 12 UploadManager tests: progress events, retry, cancel, size filter, concurrency
- 21 UI smoke tests: tab navigation, settings panels, statusbar, context menu
- Fix: Semaphore.release() and updateLimit() now properly remove abort listeners

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 10:55:50 +01:00
Administrator
25b2afbf11 feat: add queue system, per-hoster settings, retry logic, and full UI overhaul
- Add FIFO semaphore for per-hoster concurrency control
- Add token-bucket speed limiter with abort signal support
- Rewrite upload-manager with retry loop, speed monitoring, and rich progress events
- Add per-hoster settings: retries, max speed, parallel count, restart below speed, time interval, max size
- Add context menu with shutdown-after-finish (sleep/shutdown/restart), always-on-top
- Add z-o-o-m-style queue table with 8 columns, status-colored rows, progress bars
- Add debounced queue rendering with scroll position preservation
- Add statusbar with global speed, total bytes, elapsed time
- Fix speedMonitor interval leak on error and scoping bug
- Fix throttle not respecting abort signal during cancellation
- Fix combined signal listener cleanup
- Bump version to 1.1.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 05:57:00 +01:00
Administrator
ab21e7b8ba chore: install rcedit devDependency 2026-03-10 02:36:13 +01:00
Administrator
c4345a4b28 feat: add NSIS installer target and build config 2026-03-10 02:32:38 +01:00
Administrator
9729ec6f3e chore: initial commit - Electron multi-hoster uploader 2026-03-10 02:32:06 +01:00