After the Support Generator migration, older pages stayed reachable at /d/:slug but vanished from the list, so the name stayed reserved. List leftover bundles (including when the ALPHA module is not installed) with revoke/delete only.
Refs #412
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Sticky folders/groups/strategies and kebab/hscroll overlays could block
touches on phone Chrome; narrow sticky scope, fix kebab dismiss, disable
row drag on touch, and open detail on single tap.
Refs #410
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Address #396 retest: vertically center menu/logo in the topbar, drop extra Settings track padding, and tighten the page-header gap on phone without changing sticky bleed. Move the sticky changelog entry to 3.5.70.
Refs #396
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Soft-delete still reserves the peer ID (GHSA); the Devices delete dialog no longer claims permanent removal, offers a hard-delete checkbox, and FAQ documents Restore / permanent delete. Refs #402
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Resolve CGNAT ambiguous initiator via PunchHole udp_port (#399), allow panel Web Remote to relay to WS-mode targets (#397), ship Support Agent sources in Docker images (#391), write admin credentials when ADMIN_PASSWORD is set (#385), harden native go mod download (#371), self-host Material Icons (#393), and tighten mobile Settings tabs (#396).
Refs #399#397#388#391#385#371#393#396#387#368#375#386#392#394#395
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
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)
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)
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)
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)
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)
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)