Commit Graph

162 Commits

Author SHA1 Message Date
UNITRONIX a75473ae45 fix(rdclient): restore missing RDVideo constructor closing brace
The constructor in video.js lost its closing brace in 2e01955, causing
a SyntaxError on load and breaking remote sessions (RDVideo is not defined).
2026-06-15 17:57:36 +02:00
UNITRONIX 2e01955f6c feat(rdclient): enhance desktop client with server validation, LAN discovery, and settings management
- Introduced server URL validation via `GET /api/bd/server-info` and `probe_server_url`.
- Added LAN discovery capabilities using UDP and optional mDNS for local network panel detection.
- Implemented a local settings window for managing URL, TLS settings, and user preferences.
- Enhanced dashboard with a unified sidebar and improved scrolling behavior.
- Updated documentation and pre-release checklist to reflect new features and requirements.
2026-06-14 21:12:41 +02:00
UNITRONIX 956e30935b fix(rdclient): GPU codecs, collapsible dashboard scroll, and session UX
Enable vendor-aware VA-API/GStreamer and WebView2 hardware decode for smoother
remote video; fix Connect invoke, session back-to-close, and dashboard layout
with collapsible device list and sidebar sections that scroll inside the window.
2026-06-14 19:58:15 +02:00
UNITRONIX 93243b0e69 fix: address layout issues in RdClient dashboard and enhance session handling
- Fixed the address book list/grid scrolling behavior in the web dashboard to prevent it from stretching the whole page.
- Updated Tauri ACL permissions for the desktop client to ensure correct handling of `open_session` invokes with appropriate payloads.
- Improved CSS for the dashboard to ensure proper height management and overflow handling.
2026-06-14 19:36:18 +02:00
UNITRONIX 1fe504346e feat(rdclient): introduce RdClient desktop MVP with session handling and TLS support
- Added a new Tauri v2 operator shell for RdClient desktop, featuring first-run panel URL setup and session management.
- Implemented automatic session detection for Linux and TLS support for both HTTP and HTTPS with various certificate options.
- Enhanced remote session opening functionality to utilize the new desktop client when available.
2026-06-14 19:31:24 +02:00
UNITRONIX 32d2044b8e feat(rdclient): address book dashboard with folders, groups, and tags
Replace the flat device table with a RustDesk-inspired address book: sidebar navigation, colored card grid, quick-connect bar, and 30s server sync using panel branding tokens and fonts.
2026-06-14 17:28:59 +02:00
UNITRONIX bb3da6b801 feat: implement RdClient login functionality and enhance authentication flow
- Added a dedicated login page for the Remote Desktop client, allowing operators to sign in when their session expires.
- Implemented safe return URL handling for the login process.
- Updated authentication middleware to support RdClient-specific routes and permissions.
- Enhanced localization support for the new login feature across multiple languages.
- Improved user experience by redirecting to the appropriate pages based on authentication status.
2026-06-14 17:28:59 +02:00
UNITRONIX 70d7d9271e feat: add Remote Desktop client dashboard and localization support
- Introduced a new Remote Desktop client dashboard accessible via the Tools menu, allowing users to connect to devices in a new browser tab.
- Added localization strings for the Remote Desktop feature in multiple languages.
- Updated sidebar to include a link to the new dashboard with appropriate permissions and styling enhancements.
2026-06-14 12:48:36 +02:00
UNITRONIX ec209a1a3a style: add Google Material Icons import to main CSS
- Included a new import statement for Google Material Icons in the main CSS file.
- Removed the duplicate import statement to streamline the CSS file.
2026-06-14 11:20:26 +02:00
UNITRONIX 44ed9feebd feat: add glass surface feature with customizable options
- Introduced a new glass surface effect for cards, modals, and forms, enhancing the UI with a frosted glass appearance.
- Added localization strings for the glass surface feature in multiple languages.
- Implemented settings for enabling/disabling the glass effect, adjusting color, blur, and opacity through the settings interface.
- Updated CSS variables to support the new glass surface styling.
2026-06-14 11:14:47 +02:00
UNITRONIX b9f60752b1 feat: enhance branding and appearance settings
- Added a modular studio layout with a live preview panel, autosave, server-side appearance profiles, and a built-in theme gallery.
- Expanded Google Fonts picker and enabled custom font uploads (woff2/ttf).
- Updated the appearance tab for real-time changes without full page reloads and introduced a read-only mode for users without edit permissions.
- Improved localization by updating language files with new strings for branding and appearance features.
2026-06-14 10:47:15 +02:00
UNITRONIX 72427da6af feat: enhance updates tab with Windows 11 design
- Redesigned the updates tab to adopt a Windows 11-inspired layout, improving user experience.
- Added a hero section for update status with dynamic messaging based on update state.
- Implemented new CSS styles for better visual consistency and responsiveness.
- Updated JavaScript functions to manage update status rendering and alerts effectively.
- Enhanced localization support by adding new language strings for the updates section.
2026-06-14 10:31:13 +02:00
UNITRONIX a8f32a845f feat: enhance multi-session viewer functionality
- Added session management features to synchronize media capture and input handling across active tabs.
- Updated audio handling to respect session activity and mute states.
- Improved clipboard functionality to only allow copying to local clipboard from the active session.
- Refactored input capture logic to ensure it only activates for the active viewer tab.
- Introduced a new `syncSessionMediaCapture` function to manage media input across sessions.
2026-06-14 10:09:59 +02:00
UNITRONIX 045dadd0b4 feat: add email notification system and SMTP configuration
- Introduced email notifications for help requests, allowing operators assigned to device folders or groups to receive alerts.
- Moved SMTP configuration to **Settings → Email**, including options for host, credentials, and alert email.
- Updated console layout for better usability and removed legacy SMTP automation tab.
- Added `nodemailer` as a dependency for email handling.
2026-06-14 09:04:04 +02:00
UNITRONIX 5403a04783 chore: update Go server version handling and enhance Docker build process 2026-06-11 20:31:21 +02:00
UNITRONIX 577fc79a97 chore: update Docker Compose image tags to 3.2.12 and enhance documentation for versioning 2026-06-11 18:36:48 +02:00
UNITRONIX aea7b30b29 fix(security): enhance path validation and rate limiting for file access
Updated CodeQL configuration to exclude additional paths for security checks. Introduced a new file access rate limiter to prevent abuse of file download endpoints. Improved path resolution functions to ensure confined access and added validation in body scalar functions to reject non-scalar types. Enhanced error handling in API endpoint validation to prevent invalid inputs.
2026-06-11 18:33:14 +02:00
UNITRONIX c2e0e2e784 fix(security): harden CodeQL findings across console and Go server
Address GitHub code scanning alerts with OIDC SSRF guards, confined path
helpers, safer client routing, branding sanitization, upload rate limits,
and CodeQL config exclusions for dev-only and protocol-intentional hashes.
2026-06-11 06:57:58 +02:00
UNITRONIX 5e2ab9bfa9 refactor(org): replace JSON address book tab with device groups view
Show org-linked device and user groups via team_id, with shortcuts to
Devices → Groups and one-click group creation scoped to the organization.
2026-06-10 03:33:02 +02:00
UNITRONIX f99d1ca326 feat: add organization shared address book (#190)
Let org admins publish contacts that merge into each member's RustDesk
address book on GET /api/ab, with panel management and i18n coverage.
2026-06-10 03:19:05 +02:00
UNITRONIX c731c8b8ad fix(security): address CodeQL findings for release PR #185
Harden desktop-mode DOM rendering, branding sanitization, OIDC fetch
guards, API-key log redaction, tag-map allocation, and ws-register-test TLS.
2026-06-09 06:51:50 +02:00
UNITRONIX f346f891bc fix(security): phase-E shared Go API proxy, XSS hardening, audit clamp
Centralize path-segment validation in goApiProxy for fleet/commercialization/cross-platform routes while preserving RustDesk peer ID compatibility; sanitize panel JS output and cap audit Recent queries.
2026-06-09 03:22:14 +02:00
UNITRONIX 4c9a1f632e fix(security): phase-D Go API ID guards across all proxy routes
Extend assertSafeApiId to organizations, resource-control, permissions,
tokens, and update paths; harden org UI XSS and attachment confinement.
2026-06-09 03:13:53 +02:00
UNITRONIX 9b02f06465 fix(security): phase-C XSS hardening, path confinement, log redaction
Harden backup restore, theme/attachment paths, frontend escaping, and
sensitive logging without changing normal operator workflows.
2026-06-09 03:00:43 +02:00
UNITRONIX b1ec2fa7bb fix(console): improve update channel UX and fix Modal.confirm on stable
Replace broken Modal.open with Modal.confirm, apply channel on select
change with confirmation, show active channel badge, and clarify copy.
2026-06-07 17:06:35 +02:00
UNITRONIX 4a48371d76 fix(console): use Modal.confirm for update channel save dialog
saveUpdateChannel called window.Modal.open which does not exist;
use the existing Modal.confirm API like other settings flows.
2026-06-07 17:04:20 +02:00
UNITRONIX 317365c766 Add dev/main branching, automated versioning, and update channel switcher.
Introduce bump-version.js with CI workflows for patch bumps on dev and
stable releases on main, plus panel and installer UI to choose stable vs
development GitHub update branches.
2026-06-07 16:48:31 +02:00
UNITRONIX a6ec256f57 feat(update): implement last update result reporting in settings
Added a new API endpoint to retrieve the last update result, enhancing the user interface by displaying detailed error messages for failed updates. Improved the update completion modal to reflect the status of services and console restarts, ensuring users are informed of any issues. Updated the settings JavaScript to load and display the last update result dynamically, improving overall user experience during updates.
2026-06-07 15:06:48 +02:00
UNITRONIX c8d7b6afd0 feat(update): enhance error reporting and sudoers management during updates
Improved the update process by adding detailed error reporting for failed updates, including specific file and service errors. Implemented a function to manage passwordless sudoers for console service restarts, ensuring smoother updates on Linux systems. Enhanced npm installation error handling to capture and log detailed failure messages.
2026-06-07 14:57:59 +02:00
UNITRONIX 05fb2916ff fix(update): improve console restart handling and permission checks
Enhanced the update process to better manage console restarts by checking for blocked permissions before attempting a restart. Added logic to handle cases where console service user permissions are not verified, ensuring that appropriate messages are logged and the update phase is accurately reflected. Updated the console restart scheduling to occur after the response is sent, improving overall reliability. Additionally, modified the comment handling in the dependency scanning process to ignore requires within comments.
2026-06-07 14:41:27 +02:00
UNITRONIX 01fcdc4aea feat(billing): implement billing and time synchronization module
Added a new billing service and time synchronization functionality to the server. This includes the creation of billing packages, contracts, and sessions, along with necessary database migrations. Updated API endpoints for billing management and integrated billing checks into signal handling. Enhanced configuration options for billing parameters and added localization support for billing-related messages.
2026-06-07 14:35:22 +02:00
UNITRONIX 06bf6c503c feat(i18n): add group membership messages in multiple languages
Added new localization strings for group membership actions, including "added to group" and "removed from group," across various language files. This enhancement improves user experience by providing clear feedback on group membership changes in the user's preferred language.
2026-06-07 12:13:29 +02:00
UNITRONIX 1320457e56 feat(build): enhance agent build process and add server library support
Updated the build scripts to include the server library in the agent build process. Introduced new environment variables for Go module and build caches to improve build efficiency. Enhanced the generator route to support multiple languages and added locale labels for better user experience. Updated the generator view to dynamically populate language options based on supported languages.
2026-06-07 10:38:24 +02:00
UNITRONIX aaef03a3b2 feat(chat): implement chat message handling and UI integration
Added support for chat messages in the agent, including a new handler for processing incoming chat messages. Updated the configuration to include a chat message handler and integrated chat functionality into the UI, allowing users to send and receive messages seamlessly. Enhanced the user experience with a dedicated chat window and improved layout for better interaction.
2026-06-07 04:48:08 +02:00
UNITRONIX 24bf48d391 feat(devices): add pagination and context menu for device management
Introduced a new pagination feature allowing users to select the number of devices displayed per page. Added a context menu for device actions, enhancing user interaction with device management. Updated the CSS for better layout and usability, including a floating horizontal scrollbar for improved navigation. This update aims to streamline the device management experience.
2026-06-07 01:42:09 +02:00
UNITRONIX 736a35476d enhance(accessibility): improve sidebar and typography styles for better usability
Updated the accessibility styles in the sidebar and main content areas to enhance readability and usability. Introduced new CSS variables for sidebar navigation, including background colors, button styles, and category accents. Adjusted typography scaling and layout dimensions to ensure consistent user experience across different accessibility settings.
2026-06-07 01:22:45 +02:00
UNITRONIX bb3cc09c3f fix(presence): clarify post-migration offline state and emit peer_online events.
After RustDesk→BetterDesk migration, HTTP heartbeats can update last seen while
UDP signal registration is still missing. Show a distinct "No signal" badge,
document the two-channel presence model, and publish peer_online on registration.
2026-06-07 00:13:54 +02:00
UNITRONIX 35995fed08 fix(remote): send 2FA code with correct protobuf field (#171)
Web remote was encoding Auth2FA under auth2Fa, which protobuf.js drops as an
empty message, so RustDesk peers never received the TOTP code after Verify.
2026-06-06 14:55:03 +02:00
UNITRONIX e067a5a865 fix(update): disable in-app updates for Docker GHCR deployments (#158)
The panel updater assumed a native install with Go source on disk. In
Compose/GHCR mode it now uses the embedded image commit, clears stale
binary markers, and directs operators to pull new container images instead.
2026-06-06 14:09:57 +02:00
UNITRONIX 69efcfa1dd style(sidebar): enhance sidebar behavior for settings page
- Updated sidebar logic to collapse when on the settings page, improving user experience.
- Added CSS margin-top property to the table element for better layout consistency.
2026-06-06 09:37:42 +02:00
UNITRONIX f0ef809fb7 refactor(sidebar): convert settings button to link and enhance CSS styling
- Changed the settings button in the sidebar to an anchor link for improved navigation.
- Added text-decoration styling to the table element for better visual consistency.
- Removed redundant settings panel code to streamline the sidebar structure.
2026-06-06 09:35:25 +02:00
UNITRONIX cd2414308a feat(sidebar): reorganize settings category and update sidebar navigation
- Added a new settings category to the sidebar, enhancing the organization of navigation items.
- Updated the sidebar button for settings to ensure it is always visible and correctly categorized.
- Refactored sidebar rendering logic to improve clarity and maintainability.
- Adjusted localization strings to ensure consistency across the application.
2026-06-06 09:32:35 +02:00
UNITRONIX e7215f2f9d feat(i18n): add short link functionality and validation messages across multiple languages
- Introduced new localization strings for short download links and their hints in various languages.
- Added validation messages for short link requirements, including character restrictions and length constraints.
- Updated existing download link hints to inform users that old hex links will continue to function after changes to short links.
- Ensured consistency across all language files to enhance user experience and clarity in the interface.
2026-06-06 09:18:48 +02:00
UNITRONIX 8b916488b9 Complete web console i18n audit and refine server attestation.
Sync all 26 locale files to the EN+PL baseline (3432 keys), add OBSIDIAN tier strings, and ship i18n apply/audit tooling. Improve server attestation UX and convert orphaned node:test scripts to Jest so the full test suite passes.
2026-06-06 02:36:57 +02:00
UNITRONIX bcd32eefe5 feat(permissions): add server attestation permission and update related UI
- Introduced a new permission for server attestation, allowing users to run and view server performance attestations.
- Updated localization files in English and Polish to include descriptions for the new permission.
- Modified authentication middleware and various UI components to integrate the server attestation feature, ensuring proper access control and visibility in the sidebar.
- Enhanced the server attestation page to handle rendering and error management effectively.
2026-06-06 00:45:30 +02:00
UNITRONIX c3816ece44 feat(server-attestation): add server attestation feature and UI integration
- Introduced server attestation functionality with performance benchmarking capabilities.
- Added new localization strings for server attestation in English and Polish.
- Updated authentication routes to include server attestation data on login.
- Enhanced desktop and standard login views to display attestation badge.
- Integrated server attestation link in the sidebar for easy access.

This feature provides users with insights into server performance and connection capacity.
2026-06-06 00:41:03 +02:00
UNITRONIX 6988410cac Refactor device enrollment process and enhance help request handling
- Improved logging in the device registration process to capture detailed enrollment information.
- Updated the enrollment token handling to ensure each device registers independently, eliminating the use of shared tokens.
- Introduced new API endpoints for managing help requests, allowing operators to acknowledge and resolve requests through the panel.
- Enhanced the generator routes to support the new help request functionality, improving overall API integration and user experience.
- Refactored the branding process to remove legacy enrollment token references, streamlining the support agent's configuration.
2026-06-05 02:17:35 +02:00
UNITRONIX 8bd60d1193 Refactor UI status handling and improve Go toolchain installation checks
- Updated the UI to utilize a new status handling method, enhancing the display of connection and enrollment statuses.
- Introduced a status dot indicator for better visual feedback on connection state.
- Refactored the Go toolchain installation script to verify the presence of the JSON package instead of PNG, improving compatibility checks.
- Enhanced error handling in the agent build worker to streamline the build process and ensure proper environment setup.
2026-06-04 04:12:01 +02:00
UNITRONIX 7406d38e8d Implement client build management features
- Added new UI components and functionality for managing client builds, including a section for displaying build statuses and a button to rebuild all platform installers.
- Enhanced the generator routes to support rebuilding of bundles, including error handling for revoked bundles.
- Updated the agent build worker to facilitate the rebuilding process for platform builds associated with a specific bundle.
- Improved localization by adding relevant strings for build management in English and Polish language files.
- Introduced CSS styles for the new builds section to enhance visual presentation and user experience.
2026-06-04 03:37:01 +02:00
UNITRONIX 3484ef68be Enhance support agent with audio handling and consent management
- Added audio stream handling to the agent, including support for audio start and stop messages.
- Introduced lifecycle callbacks for consent and session management in the agent configuration.
- Updated desktop handling to utilize new consent handler and session start/end callbacks.
- Improved UI to reflect enrollment status and consent requests, enhancing user experience.
- Refactored branding structure to include additional color properties for better theming.
2026-06-04 02:09:19 +02:00