Honor PunchHole Failure=#405 even when relay_server is set; inject /api/health connection snapshot into /remote for timeouts; keep force_relay and bump BetterDesk-Web/1.4.9.
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Auto-discovery now retries every 2 minutes until it succeeds, so SSO self-heals after Compose/boot races without re-saving OIDC settings.
Refs #411
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)
Replace the monolithic README with a short landing page, align wiki
with current 3.5.x product facts, add PRIVACY.md, Monitoring and
Unattended/WoL guides, and park historical audits under docs/archive.
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Devices list prefers display_name over hostname; writing only note left the operator-assigned name invisible after managed enrollment approve.
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
MASK/-mask was loaded and documented but never used; LAN checks always compared the first three IPv4 octets. Parse the CIDR once and use it in isSameNetwork and LAN-relay reachability, keeping /24 when MASK is empty or invalid.
Refs #404
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Stock RustDesk treats unset Failure as ID_NOT_EXIST when socket_addr is empty. Guard success-shaped responses that still lack an encodable address.
Refs #405
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)
hbbr translates BytesCodec frames and WS binary messages so panel Web Remote
(:21117) can pair with WebSocket Mode clients (:21119). Signal exemption alone
left sessions failing with tcp vs ws.
Refs #397
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)
GITHUB_TOKEN bump pushes never start other workflows, so inverting the
docker build trigger alone left :dev unpublished. version-bump-dev now
dispatches docker-publish with tag=dev after a successful bump.
Refs #401
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Branch pushes skipped [version-bump] builds and labeled images from the
feature commit (VERSION N), so :dev stayed one patch behind git tip (#401).
Build only on version-bump commits; AIO :dev is amd64-only to avoid 6h cancels.
Refs #401
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)