1217 Commits

Author SHA1 Message Date
github-actions[bot] dcafff5578 chore: bump version to 3.5.70 [version-bump] 2026-08-30 23:40:10 +00:00
UNITRONIX 80659c713b fix(ui): keep Settings tab bar sticky and flush on mobile
Bleed cancels content padding so the bar sits at the scroll top; sticky stays on under 900px/mobile instead of scrolling away; active tab scrolls into view on click/hash.

Refs #396

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-31 01:39:50 +02:00
github-actions[bot] 3ee0085a87 chore: bump version to 3.5.69 [version-bump] 2026-08-29 19:58:21 +00:00
UNITRONIX d1e31c0c26 feat(generator): allow custom download portal product label
Operators can override or hide download.product_* on the public
download page via bundle branding without rebuilding installers.

Refs #386

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-29 21:58:03 +02:00
github-actions[bot] 10c8082999 chore: bump version to 3.5.68 [version-bump] 2026-08-29 00:25:13 +00:00
UNITRONIX 593032feed fix(ci): set OCI image.version from VERSION on GHCR publish
workflow_dispatch with tag=latest was labeling images as version latest; reporters check org.opencontainers.image.version (#387).

Refs #387

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-29 02:24:52 +02:00
github-actions[bot] c14ca2b991 chore: bump version to 3.5.67 [version-bump] 2026-08-29 00:04:33 +00:00
UNITRONIX e8cf938a3c Merge branch 'dev' of https://github.com/UNITRONIX/BetterDesk into dev 2026-08-29 02:04:16 +02:00
UNITRONIX fbdf5ba19e fix(ci): retag GHCR latest on stable release (#387)
Stable Release/tag builds were skipped for [version-bump] commits and never moved latest, so Docker installs on :latest stayed on 3.5.4 without the #382 signal fix. Dispatch now publishes latest + VERSION.

Refs #387

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-29 02:03:25 +02:00
github-actions[bot] ec107fb831 chore: bump version to 3.5.66 [version-bump] 2026-08-25 21:22:22 +00:00
UNITRONIX d4a74350a8 fix(docker): guard against split-volume stale auth.db (#385)
Detect partial volume wipes that leave legacy auth.db in /app/data while
/opt/rustdesk was reset, which broke panel login despite a fresh
.admin_credentials file. Fail fast with a clear error, remove empty orphan
auth.db on fresh installs, and document compose ADMIN_PASSWORD mapping.

Refs #385

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-25 23:22:06 +02:00
github-actions[bot] cf021d8f1d chore: bump version to 3.5.65 [version-bump] 2026-08-25 00:14:09 +00:00
UNITRONIX b3973c4991 fix(docker): make split admin bootstrap atomic
Prevent concurrent Go and console startup from generating mismatched admin passwords, and keep fresh Docker authentication on the centralized SQLite store.

Refs #385

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-25 02:13:40 +02:00
github-actions[bot] 286a9ad212 chore: bump version to 3.5.64 [version-bump] 2026-08-24 13:09:06 +00:00
UNITRONIX 0bfecddd00 fix(docker): sync bootstrap admin password between Go and console (#385)
Fresh Docker installs without ADMIN_PASSWORD generated two different random
passwords: Go wrote /opt/rustdesk/.admin_credentials while the panel
authenticated against auth.db seeded by Node.js. Pre-bootstrap a shared
password in entrypoints before supervisord / server start.

Refs #385

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-24 15:08:35 +02:00
github-actions[bot] d2f5b24c8a chore: bump version to 3.5.63 [version-bump] 2026-08-24 12:25:42 +00:00
UNITRONIX 780cfb6660 fix(users): implement missing ensureUserGuid for strategy assignment
Refs #384

setUserStrategyAssignment and getUserStrategyGuid called ensureUserGuid in dbAdapter but the helper was never implemented, causing TypeError and generic Server error on every user create/update. Add SQLite and PostgreSQL helpers plus integration tests.

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-24 14:25:23 +02:00
github-actions[bot] 45cfdbaade chore: bump version to 3.5.62 [version-bump] 2026-08-24 05:04:21 +00:00
UNITRONIX 4955c667a7 fix(installer): propagate Go module download failures
Refs #371

Capture the real watchdog exit status instead of reading the status of a negated command, so stalled module downloads now report the timeout or failure and stop before the build step.

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-24 07:04:00 +02:00
github-actions[bot] 78f96abe79 chore: bump version to 3.5.61 [version-bump] 2026-08-23 20:24:42 +00:00
UNITRONIX bc70224ce6 fix(updates): unblock install button when Go can be bootstrapped
Preflight no longer blocks panel updates when the console can install a vendored Go toolchain automatically. Add proactive preflight banners, i18n, and clearer install UX in Settings.

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-23 22:24:25 +02:00
github-actions[bot] cdb579b816 chore: bump version to 3.5.60 [version-bump] 2026-08-23 20:19:07 +00:00
UNITRONIX cef8434bb1 feat(desktop): add operator account login and enrollment flow
Wire Flutter account API to panel operator endpoints, expand enrollment status UX, and initialize rustls for secure WebSocket transport.

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-23 22:18:53 +02:00
github-actions[bot] 9bb371527c chore: bump version to 3.5.59 [version-bump] 2026-08-23 19:08:24 +00:00
UNITRONIX d7a2fe6562 fix(security): harden update restore and notification CSRF
Protect backup restores and session-authenticated notification writes from unsafe state changes, while clearing CodeQL false positives without weakening intentional TLS pinning.

Refs CodeQL alerts #297-310

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-23 21:08:05 +02:00
github-actions[bot] 2c9afe0ded chore: bump version to 3.5.58 [version-bump] 2026-08-23 18:57:03 +00:00
UNITRONIX 2eec0d2ceb feat(update): use commit-bound Go server artifacts
Prefer verified GitHub Actions or exact Release binaries during native updates, with checksum validation and local compilation fallback. Defer Support Agent source synchronization and rebuild queueing until after the console restart.

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-23 20:56:45 +02:00
github-actions[bot] fee5c5aed5 chore: bump version to 3.5.57 [version-bump] 2026-08-23 18:04:18 +00:00
UNITRONIX 50493c8ccd fix(relay): close the late authorization race
Keep relay UUID authorization fail-closed while allowing a target that arrives just before signal authorization to wait briefly. Correlate pending UUIDs per target and initiator endpoint, and add race, replay, revoke, timeout, and capacity coverage.

Refs #382

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-23 20:04:00 +02:00
github-actions[bot] b08762b2df chore: bump version to 3.5.56 [version-bump] 2026-08-23 13:27:37 +00:00
UNITRONIX f354e83a14 fix(console): surface registration notifications and stabilize relay delivery
Expose pending LAN and managed enrollment requests in the UX 3.5 notification center, synchronize badges through authenticated panel events with polling fallback, and refresh the registrations view automatically. Also include the pending relay transport fixes already present in the working tree.

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-23 15:27:13 +02:00
github-actions[bot] e7a2600c94 chore: bump version to 3.5.55 [version-bump] 2026-08-21 23:25:31 +00:00
UNITRONIX 94ee05a31f fix(installer): force IPv4 and PGID watchdog for Go modules
Native compile still hung on GCP when IPv6 was unreachable despite a
reachable proxy and GNU timeout. Detect broken IPv6, disable it for the
download window, force GOTOOLCHAIN=local, and bound go mod download with
a setsid process-group watchdog.

Refs #371

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-22 01:25:12 +02:00
github-actions[bot] c5037a38ca chore: bump version to 3.5.54 [version-bump] 2026-08-21 23:18:01 +00:00
UNITRONIX 25618caac1 fix(console): fail closed on missing peer/strategy scope writers
Reject POST/PATCH /api/users before mutating when peer grant or strategy
assignment DB methods are absent; return refreshed scope on PATCH; warn
on unknown peerIds; add facade parity and scope regression tests.

Refs #380

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-22 01:17:41 +02:00
github-actions[bot] aeefbdd7df chore: bump version to 3.5.53 [version-bump] 2026-08-20 09:08:47 +00:00
UNITRONIX 26038176eb feat(desktop): add native BetterDesk Desktop core and release path
Introduce the independent Rust + Flutter desktop client with CDAP/RustDesk
session support, packaging via build.py, and tag-triggered Windows/Linux
release artifacts. Align server CDAP desktop interop (view_only, desktop_end,
capabilities), protocol docs, pre-release checklist, version bump rules, and
WAN allowlist for /api/health and /api/server/pubkey.

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-20 11:08:29 +02:00
github-actions[bot] 6016af91a0 chore: bump version to 3.5.52 [version-bump] 2026-08-20 06:20:38 +00:00
UNITRONIX 7fe4478088 fix(console): wire peer grant facade exports for user peerIds
POST/PATCH /api/users accepted peerIds but never wrote user_peer_grants
because get/setUserPeerGrants (and strategy helpers) were missing from
the database.js facade. Refs #380

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-20 08:20:20 +02:00
github-actions[bot] 26aec3c49c chore: bump version to 3.5.51 [version-bump] 2026-08-19 11:15:32 +00:00
UNITRONIX 6eccd131a7 Merge branch 'dev' of https://github.com/UNITRONIX/BetterDesk into dev 2026-08-19 13:15:14 +02:00
UNITRONIX c146691f16 docs(readme): add official Discord invite and fix support links
Link the BetterDesk Discord community and point Issues/Discussions at the current repo. Refs #379

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-19 13:04:48 +02:00
github-actions[bot] 1f4d54c1a0 chore: bump version to 3.5.50 [version-bump] 2026-08-19 08:58:33 +00:00
UNITRONIX f5c92b4c28 fix(signal): support WSS-only relay negotiation
Populate PunchHoleResponse.socket_addr from the target's observed WebSocket address when no UDP endpoint exists, allowing RustDesk to continue to RequestRelay instead of treating protobuf's default failure as ID_NOT_EXIST.

Refs #378

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-19 10:58:12 +02:00
github-actions[bot] 7abbc60fa2 chore: bump version to 3.5.49 [version-bump] 2026-08-19 08:51:29 +00:00
UNITRONIX 100f697260 fix(runtime): pin console to Node 22 during Node 24 regression
Pin production console images and new bare-metal installs to the latest Node 22 LTS patch while the Node 24 cleanup-hook backport is released and validated. Keep better-sqlite3 13.x and avoid a risky statement-lifecycle refactor.

Refs #377

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-19 10:51:00 +02:00
github-actions[bot] 1d19ddd7a3 chore: bump version to 3.5.48 [version-bump] 2026-08-19 08:28:57 +00:00
UNITRONIX 7f7479fb88 feat(docker): support PUID/PGID for container app user
Remap betterdesk at entrypoint start so Synology/NAS bind mounts can
match host ownership without Compose user: overrides.

Refs #376

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-19 10:28:39 +02:00
github-actions[bot] b040888831 chore: bump version to 3.5.47 [version-bump] 2026-08-17 04:55:23 +00:00
UNITRONIX 9896799d4b fix(ui): warn on unreachable config QR hosts (#368)
Keys QR now uses the same Dashboard client-host override, and both modals warn when the payload embeds localhost/loopback/.local so phones are not misled after the encoding fix.

Refs #368

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-17 06:55:04 +02:00