Commit Graph

191 Commits

Author SHA1 Message Date
Administrator
f2fdeef5d1 release: v2.4.3 2026-03-22 14:50:06 +01:00
Administrator
ac7ed316f3 chore: remove unused variable, update package metadata 2026-03-22 14:49:20 +01:00
Administrator
8803f09974 release: v2.4.2 2026-03-22 14:45:17 +01:00
Administrator
789d5bf555 release: v2.4.1 2026-03-22 11:11:37 +01:00
Administrator
1a07b2d712 release: v2.4.0 2026-03-22 10:49:14 +01:00
Administrator
4dfe88a565 release: v2.3.9 2026-03-21 15:35:42 +01:00
Administrator
0fd8dd0634 release: v2.3.8 2026-03-21 15:25:07 +01:00
Administrator
ede5a192ea release: v2.3.7 2026-03-21 15:21:15 +01:00
Administrator
8c2a83ecee release: v2.3.6 2026-03-21 15:17:26 +01:00
Administrator
a56594b1df release: v2.3.5 2026-03-21 15:12:34 +01:00
Administrator
a92147939d release: v2.3.4 2026-03-21 15:06:12 +01:00
Administrator
54daaf0410 release: v2.3.3 2026-03-21 14:58:52 +01:00
Administrator
f38b3d6a53 release: v2.3.2 2026-03-21 14:24:54 +01:00
Administrator
ae318d2c62 release: v2.3.1 2026-03-21 14:17:38 +01:00
Administrator
ffc8fb4026 release: v2.3.0 2026-03-21 13:53:06 +01:00
Administrator
b5a853b8d4 release: v2.2.9 2026-03-21 13:32:33 +01:00
Administrator
f6d4a7de3d release: v2.2.8 2026-03-21 13:19:46 +01:00
Administrator
af48a485e8 release: v2.2.7 2026-03-21 11:52:50 +01:00
Administrator
55eee8a42e release: v2.2.6 2026-03-21 11:46:41 +01:00
Administrator
0fb9d2f62b release: v2.2.5 2026-03-21 11:40:58 +01:00
Administrator
389be8f0fc release: v2.2.4 2026-03-21 11:21:46 +01:00
Administrator
d601bd7986 release: v2.2.3 2026-03-21 10:20:43 +01:00
Administrator
9ea9212637 release: v2.2.2 2026-03-21 09:03:48 +01:00
Administrator
ccfb7c18ba release: v2.2.1 2026-03-21 08:46:57 +01:00
Administrator
5569c690a1 release: v2.2.0 2026-03-20 16:11:41 +01:00
Administrator
8f077868cc fix: account for invisible DWM frame borders in click mapping
Windows 10/11 getBounds() includes ~7px invisible resize borders that
are not included in the window capture, causing click offset.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 09:00:18 +01:00
Administrator
f19d883a69 fix: native resolution capture + correct click offset for title bar
- Remove restrictive resolution constraints, capture at native res
- Account for window frame/title bar when mapping click coordinates
  (capture includes title bar but sendInputEvent is content-relative)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 08:55:46 +01:00
Administrator
b4211a7d50 fix: use getMediaSourceId() for exact window capture
Instead of enumerating all sources and matching by title (which falls
back to full screen capture), use BrowserWindow.getMediaSourceId() to
get the exact media source ID for the app window.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 08:52:22 +01:00
Administrator
c9d038d588 debug: send capture errors back via signaling channel
If getCaptureStream fails, send error back through WebSocket so it
appears in proxy logs for diagnosis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 08:49:07 +01:00
Administrator
82b597506b debug: add IPC logging from capture window to main process
Capture window logs now forwarded to main process via IPC to diagnose
why video tracks are missing from the WebRTC answer SDP.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 08:46:18 +01:00
Administrator
6b47181572 fix: serialize WebRTC objects before IPC transfer
RTCSessionDescription and RTCIceCandidate objects lose their properties
when sent through Electron's contextBridge IPC. Convert to plain objects
with explicit property extraction before sending.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 08:40:57 +01:00
Administrator
d8a2ec6443 fix: robust capture source detection + diagnostic logging
- desktopCapturer now searches window+screen types with fallbacks
- Partial title match and screen fallback if exact match fails
- Error messages sent back from capture window via IPC
- Detailed logging for capture source selection

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 08:38:41 +01:00
Administrator
efcaa760df fix: buffer WebRTC signaling messages until capture window is ready
The capture window creation is async but the browser's WebRTC offer
arrives immediately after auth. Messages were silently dropped during
window initialization, preventing video stream from establishing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 07:39:20 +01:00
Administrator
e19c36b1fb release: v2.1.1 2026-03-12 07:26:50 +01:00
Administrator
7b9362756d release: v2.1.0 2026-03-12 07:20:07 +01:00
Administrator
ad9b866afe chore: add ws dependency for remote control
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 07:19:38 +01:00
Administrator
23dd010a95 release: v2.0.6
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 06:02:46 +01:00
Administrator
6233b192ab release: v2.0.5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 05:40:35 +01:00
Administrator
68e05503f6 release: v2.0.4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 05:25:33 +01:00
Administrator
261463bbe5 release: v2.0.3
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 05:23:13 +01:00
Administrator
127d3fd830 release: v2.0.2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 05:18:15 +01:00
Administrator
3d8e81560c release: v2.0.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 05:12:49 +01:00
Administrator
d53eea443e feat: multi-account support with primary/fallback and separate API/login types
- Multiple accounts per hoster with drag-sortable priority (primary + fallbacks)
- Separate account types: Web Login and API selectable per hoster
- Account fallback: after all retries fail, automatically switches to next fallback account
- Fix: Byse health check returning [Fehler] OK when API responds with msg "OK"
- Fix: retry during active upload sets status to "Wartet" instead of "Bereit"
- Config migration from single-object to multi-account array format

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 05:00:33 +01:00
Administrator
052bd940f1 feat: add account enable/disable toggle
- Toggle button on each account card to activate/deactivate hosters
- Disabled accounts are greyed out and excluded from upload selection
- Credentials are preserved when deactivated

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 04:17:46 +01:00
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