• v3.3.88 6dcc98f52d

    Administrator released this 2026-06-21 02:30:40 +02:00 | 37 commits to master since this release

    Performance: gate the doodstream debug log behind the Verbose Logging setting (default off). It previously ran ~8-15 synchronous filesystem writes per upload on the main process, which could delay other concurrent uploads' progress/IPC while uploading. Enable Verbose Logging to restore the doodstream trace when diagnosing an issue.

    Downloads
  • v3.3.87 c37c8e3906

    Administrator released this 2026-06-21 01:50:07 +02:00 | 40 commits to master since this release

    Performance: eliminate UI lag during long upload sessions.

    The recent-uploads panel rebuilt all rows on every completed upload once the session cap was reached (~80ms main-thread freeze per completion, profiled in Blink); it now updates incrementally (measured ~7ms, >10x). Also includes config-store read caching and removal of redundant config reads from the 500ms log-flush path.

    Downloads
  • v3.3.86 3f8854693a

    Administrator released this 2026-06-19 19:39:15 +02:00 | 45 commits to master since this release

    Reach diagnostics over Tailscale (network bind + fail-closed IP allowlist)

    The read-only diagnostics agent can now be reached over Tailscale (or any private tunnel) directly -- the same way the rest of your tooling is -- instead of requiring an SSH local-forward. This matches the rd-diagnostics-mcp model.

    • New "Im Netzwerk" visibility mode binds the agent to 0.0.0.0, gated by a fail-closed IP allowlist: only the source IPs/CIDRs you list may connect (loopback is always allowed), in addition to the token. An empty allowlist means loopback only. For Tailscale: set the allowlist to your tailnet (e.g. 100.64.0.0/10) and put the server's Tailscale IP / MagicDNS name as the code address -- the bridge then connects straight over the tailnet, no SSH forward.
    • The connection code now carries the host, so you just hand over the code and the bridge dials the right server automatically. Suggested-host chips (from the machine's network interfaces, where the Tailscale IP shows up) make picking the address one click.
    • "Nur lokal" (127.0.0.1) stays the default and is reached via a tunnel as before.

    Transport is still plaintext ws://; the tunnel (Tailscale/WireGuard) is the confidentiality layer, and the allowlist + token are the access gate. Only bind to the network behind a tunnel/VPN you trust. Read-only, opt-in, off by default -- unchanged.

    Downloads
  • v3.3.85 70e7f2a9fd

    Administrator released this 2026-06-19 18:45:22 +02:00 | 50 commits to master since this release

    Diagnostics hardening (follow-up to v3.3.84)

    Security hardening for the opt-in read-only diagnostics agent, surfaced by intensive end-to-end testing: a live gateway<->agent integration harness driving all tools, an adversarial redaction/abuse probe, and an independent security audit.

    • Fixed a denial-of-service: the diagnostic log "grep" was compiled into a regular expression and run synchronously in the app's main process, so a catastrophic pattern could freeze the whole app. grep is now a case-insensitive substring filter with "|" alternation (e.g. "error|timeout|502") — provably linear-time, no regex backtracking.
    • Closed a whitelist-integrity gap where inherited object methods (constructor/toString/...) could pass the read-only op guard and return ok. The op lookup is now own-property + string checked.
    • Strengthened secret redaction (defense in depth): basic-auth URL passwords (scheme://user:pass@host), "Authorization: Basic", JWTs, and bare/JSON session values are now scrubbed, on top of the existing API-key / token / cookie / webhook coverage.

    The agent stays opt-in and off by default, read-only, and loopback-bound (reached via an SSH/WireGuard tunnel, which is the confidentiality layer). No other behavior changes.

    Downloads
  • v3.3.84 b423357a2c

    Administrator released this 2026-06-19 17:48:08 +02:00 | 55 commits to master since this release

    Remote read-only diagnostics (opt-in, dormant by default)

    Adds a way for support to read a server's state — logs, errors, queue, redacted config — without any screen or input access. Enable "Diagnose-Zugriff" in Settings to start a read-only diagnostic agent (bound to 127.0.0.1) and get a connection code.

    A local MCP gateway (gateway/) connects by code and exposes read-only tools: server_health (one-shot hub), read_log, list_logs, list_errors, get_queue_state, get_history, get_config_redacted, get_rotation_state, get_system_info, get_app_events.

    Safety:

    • No screen capture, no input control, no write/exec — a hardcoded read-only whitelist is the only authority.
    • Secrets are redacted before anything leaves the box: stored credentials (passwords, API keys, tokens, cookies, webhook URLs) are value-scrubbed everywhere, and common secret shapes (Bearer/token/cookie/webhook/query-key) are pattern-scrubbed in free-text log and error fields. The doodstream debug log (live API keys) is never readable.
    • Log access uses logical names only (no path traversal); timing-safe token compare; brute-force lockout (5 failures / 60s).
    • Remote access goes through an SSH/VPN tunnel to loopback. Direct LAN/Internet binding stays disabled until encrypted transport (wss/TLS) ships.

    The diagnostic agent only runs when you explicitly enable it per server; this release changes nothing else.

    Downloads
  • v3.3.83 7a025be645

    Administrator released this 2026-06-19 16:25:59 +02:00 | 60 commits to master since this release

    Queue persistence fixes (second adversarial hunt):

    • Re-upload via 'erneut hochladen' of an already-finished file is no longer silently lost when the app is closed before that re-upload completes.
    • Folder-monitor with pre-selected hosters: a re-encoded / re-dropped file whose row was auto-removed (remove-from-queue-when-done ON) now uploads again instead of being silently skipped.
    • Deleting one hoster's row of a multi-hoster file now sticks: the deleted file+hoster is no longer silently recreated (and re-uploaded to the removed hoster) the next time the preview rebuilds; the deletion survives a restart and is undone only by deliberately re-adding the file.
    Downloads
  • v3.3.82 2efbc355b3

    Administrator released this 2026-06-19 14:53:48 +02:00 | 63 commits to master since this release

    Queue persistence fixes:

    • Finished uploads no longer reappear as pending 'Bereit' ghosts after closing and reopening the app, nor mid-session when 'remove from queue when done' is enabled.
    • The completed-upload dedup guard now persists across restarts and survives auto-removal of finished jobs; deliberately re-adding a file still re-uploads it.
    • A file that already has an error row no longer gets a duplicate preview row stacked beside it.
    • Upload-log lines with a pipe in the link, or leading-space filenames, now parse correctly so the log-based ghost filter matches them.
    Downloads
  • v3.3.81 e216c95b61

    Administrator released this 2026-06-19 06:52:31 +02:00 | 65 commits to master since this release

    Follow-up hardening on the queue-persistence fix, from a deeper test+review sweep. (1) Prevents a rare lost-work case where two different files with the same name in different folders, queued to the same hoster, could drop the still-pending one. (2) Fixes completed files re-appearing as pending on restart when 'remove finished from queue' is enabled. Adds extensive new tests; no behavior change for the common case.

    Downloads
  • v3.3.80 f7c8d308fc

    Administrator released this 2026-06-19 04:36:20 +02:00 | 67 commits to master since this release

    Completed uploads no longer reappear in the queue after closing and reopening the app. The restored queue is now reconciled against the upload log by timestamp, so files that finished after the last snapshot are recognized as done and dropped on launch - even after a hard kill. Also keeps the queue snapshot fresh during long uploads (no more persist starvation) and hardens the synchronous on-close config write.

    Downloads
  • v3.3.79 96d6dfe880

    Administrator released this 2026-06-19 02:32:33 +02:00 | 69 commits to master since this release

    Revert the v3.3.78 upload-server change.

    Downloads