Make UX 3.5 the only default shell, fix appearance-profile duplication selection, and give authenticated Settings reads their own rate-limit budget so normal console use stops hitting 429s.
Refs #424
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Replace Classic Material Icons with Symbols subsets so ligatures like
monitoring render correctly offline, and drop remaining Google icon CDN links.
Refs #393
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
Default tab icon used thin lines; the PNG mark is letterboxed so the B looked tiny in the rail and browser chrome. Prefer a large B favicon and object-fit cover on icon slots.
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
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)
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)
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)
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)
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)
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)
Align the Wails support agent and generator live preview with a light, compact ID/password card layout while keeping full operator branding.
Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
- Updated PowerShell command invocations to use `-WindowStyle Hidden` to prevent visible console windows during clipboard operations and other commands.
- Implemented GDI-based screenshot capture to eliminate the need for PowerShell, reducing console window spamming during desktop capture.
- Enhanced error handling for missing OpenGL DLLs and ensured complete Mesa DLL set is shipped with the agent to prevent startup issues.
- Updated build scripts to ensure proper installation of required tools and dependencies for Windows builds.
Bring native Cliprdr/desktop file IPC from divergent orphan history onto current
dev, including base64 coerce and FILEGROUPDESCRIPTOR flags matching RustDesk.
- Introduced a new step in the CI workflow to check browser JavaScript syntax using the `npm run check:frontend` command.
- Updated package version to 3.5.14 and bumped dependencies: nodemailer to 9.0.4 and ws to 8.21.2.
- Enhanced logging configuration to use NODE_ENV for determining log level.
- Improved accessibility styles for UX 3.5 and added focus outlines for help panel elements.
- Added support for various remote control features in the Support Agent, including file transfer, in-session chat, remote audio, and control actions (lock/restart).
- Introduced capability flags for incoming session features, allowing for more granular control over permissions.
- Updated documentation to reflect the new Support Agent functionalities and connection resilience improvements, including fallback mechanisms for API endpoints.
- Enhanced the build process with optional branding sealing and improved error handling for Docker configurations.
The Help panel now replaces guided tours with a right-side panel displaying project supporters and GitHub sponsorship links. The previous tutorial features, including spotlight tutorials and the floating help FAB, have been removed. Additionally, updates to the sponsors update process and relevant documentation have been made to reflect these changes.
Bring stable signal outbound gate hardening (initiator_pending_enrollment),
Web Remote SignedId verify, and open-issue hotfixes onto dev while keeping
the 3.4.13 development version baseline.
- Default console shell is now the classic icon rail + flyout, with UX 3.5 available via navbar switch.
- Fixed visibility issues in UX 3.5, ensuring main content is displayed correctly under branding wallpaper.
- Updated documentation to reflect changes in UI shell options and theme management.
- Enhanced language support for new UI shell switch options across multiple languages.
This update improves user experience by providing a choice between classic and modern UI shells.
- Fixed light theme to correctly apply the blue topbar and ensure text colors are consistent with the selected theme.
- Updated theme management to persist the selected theme and its corresponding palette across sessions.
- Enhanced documentation to clarify theme color mappings and behavior.
- Introduced built-in theme palettes for light and dark modes to streamline theme application.
- Improved CSS variable handling for better theme integration in the UI.
This update addresses user feedback regarding theme inconsistencies and improves overall theme functionality.
- Added UX 3.5 as the default console shell, featuring a full-list sidebar, topbar, and customizable themes (Dark/Light/Custom).
- Updated documentation to reflect the new UX 3.5 shell.
- Removed legacy Desktop Mode and Beta 3.1 styles, ensuring a streamlined user experience.
- Enhanced language support for new theme options across multiple languages.
- Fixed OIDC client login issues by proxying callback URLs to the Go API.
This update improves the overall user interface and experience, aligning with modern design standards.
Panel Redirect URLs on :5000/:5443 used to 404, so auth-query never completed. Proxy the callback to Go, validate the path in Settings, and document the fix.
Copy panel password hashes into missing Go users on SQLite dual-DB so RustDesk client login matches the console; clarify LDAP sub-tab discoverability and provider-bound hints.
Temporary opaque links give guests a minimal Web Remote UI for selected devices only, without Console inventory or add-any-ID paths. Also fix mesh_share desktop tunnel auth for unauthenticated guests.
After Keycloak/IdP callback on the Go API port, the browser now lands on the
Node panel session endpoint instead of hitting Go auth middleware. Adds Panel
URL setting, return-url preservation, login error UX, and docs.
- Implemented input validation for `orgId` and `deviceId` in CDAP and organization detail routes using `assertSafeApiId`, returning a 400 error for invalid inputs.
- Added HTML escaping for `deviceId` and `orgId` in views to prevent XSS vulnerabilities.
- Hardened `patch-role-scope-i18n.js` against prototype pollution with a guard for unsafe nested keys.
- Updated CodeQL configuration to include new exclusions and ensure documented exclusions are applied.
Fixes#242. Replace 24h JWT-only client tokens with configurable DB sessions (default 7 days, sliding renewal up to 30 days) and panel settings under Authentication -> RustDesk clients.
- Updated billing contract structure to support multiple target types (organization, device group, folder, device).
- Refactored API handlers to accommodate new billing contract model, including creation, deletion, and listing functionalities.
- Enhanced database interactions for billing contracts, ensuring backward compatibility with legacy billing_org_contracts.
- Added new billing statistics endpoint to provide insights on active sessions and expiring contracts.
- Improved error handling and validation in billing package management.
- Added new CSS styles for a responsive display settings dropdown, enhancing usability with a grid layout.
- Updated HTML structure to organize dropdown items into sections for better clarity and accessibility.
- Removed redundant JavaScript calls to close dropdowns on item selection, streamlining interaction.
- Enhanced CSS for the toolbar handle and drawer, adding new styles for expanded and collapsed states.
- Updated HTML structure to reposition the toolbar handle for better accessibility and user experience.
- Improved transition effects for smoother visibility during interactions, including adjustments to padding and margins.
- Updated CSS for the toolbar handle and drawer, improving transitions and visibility during interactions.
- Refined JavaScript to manage the toolbar's expanded and collapsed states, including new aria attributes for accessibility.
- Introduced a drawer-pulling effect for smoother user experience when toggling the toolbar.
- Adjusted HTML structure to support new features and ensure proper functionality of the toolbar components.
- Introduced new CSS styles for the toolbar notch to improve visibility and animations during user interactions.
- Updated JavaScript functions to manage the toolbar notch's visibility based on session states and user actions.
- Refined the toolbar's expanded state with smoother transitions and animations for a better user experience.
- Adjusted the HTML structure to ensure the toolbar notch is correctly initialized and styled.
- Adjusted the positioning of the toolbar notch and refined the droplet handle for better visual alignment.
- Enhanced the toolbar's expanded state with new animations and improved responsiveness.
- Removed redundant code for toolbar pinning and streamlined the toggle functionality.
- Updated the HTML structure to ensure the toolbar handle is correctly positioned and functional.
- Improved CSS styles for better user experience and visual consistency.
- Conducted an audit against upstream RustDesk tag 1.4.8, confirming no breaking changes to the wire format.
- Implemented various fixes including client version string, supported encoding handshake, and multi-session handling.
- Updated language files for Arabic, Czech, Danish, German, English, and Spanish to reflect new UI elements and messages.
- Enhanced clipboard and file transfer functionalities to match upstream behavior.
Add folder/direct-device/strategy assignment from User Management, clearer Pro vs Remote Operator labeling, optional restricted device scope mode, and Go/Node scope parity.
Accept RustDesk 1.4.7 empty-PK ID changes on the Go signal server, cascade panel DB rows on client/panel renames, and align Node panel with live events, strategies UI, org address book editor, and device-group accessible API payload.