Commit Graph

15 Commits

Author SHA1 Message Date
UNITRONIX 1401506471 Update z-index values in remote.css for improved layering and visibility 2026-07-03 18:19:03 +02:00
UNITRONIX 6b368c8330 Add update log features and enhance update wizard UI
- Introduced new localization strings for update logs across multiple languages.
- Redesigned the update progress modal to an update wizard format, improving layout and user interaction.
- Added functionality for log expansion, copying, and countdown display during updates.
- Enhanced CSS styles for better visual hierarchy and responsiveness in the update wizard.
2026-06-30 22:23:18 +02:00
UNITRONIX be56a063ff Refactor session picker UI and improve layout consistency
- Adjust alignment properties in CSS for better visual hierarchy in session tabs and buttons.
- Update session picker modal styles for improved responsiveness and aesthetics, including padding and border adjustments.
- Enhance JavaScript functionality to prevent event propagation within the session picker panel.
- Refine hover effects and box shadows for a more polished user experience.
2026-06-30 22:07:32 +02:00
UNITRONIX 693fd3157e Add session picker UI and localization support
Implement a session picker overlay for selecting devices, including a search feature and navigation for folders, groups, and tags. Update localization files for multiple languages to include new session picker strings. Enhance the session tab bar with slim and expandable card designs for better user experience.
2026-06-30 22:01:17 +02:00
UNITRONIX 84a7364c31 fix(web-remote): file transfer protocol and modal UX (Refs #217)
Fix upload full-path encoding, fail-fast FT relay sends, stall timeout,
browser Downloads default, richer transfer queue, and drag-drop overlay.
2026-06-26 23:43:45 +02:00
UNITRONIX 241f9ba2b9 fix: Web Remote file transfer via dedicated FILE_TRANSFER relay (#217)
Opens a separate relay session for the file manager, adds a RustDesk-style
transfer modal, and cleans up rdclient toolbar/fullscreen UX.

Refs #217
2026-06-24 19:54:20 +02:00
UNITRONIX 8c1e73ac0b feat(i18n): enhance localization with new mobile navigation and input modes
Added new localization entries for multiple languages, including mobile navigation labels and input modes (touch, touchpad, keyboard, special keys). This update improves user experience by providing comprehensive support for mobile users and ensuring consistent messaging across various languages.
2026-06-21 00:21:36 +02:00
UNITRONIX 497dc2752b feat(rdclient): add monitor switching and virtual display support
Implement RustDesk-desktop-style display switching and virtual display management in the web remote client.

- client.js: rewrite switchMonitor to send SwitchDisplay + CaptureDisplays messages with keyframe refresh; getMonitors marks primary (origin 0,0) and current display; add getCurrentDisplay, _processPeerInfo, _parseVirtualDisplaySupport, getVirtualDisplaySupport, toggleVirtualDisplay; switchDisplay receive handler tracks current display.
- remote.js: add i18n helper, peer_info/display_switched/virtual_display_toggled listeners, refreshMonitorButton; rewrite updateMonitorMenu with monitor list plus rustdesk_idd (4 checkboxes) and amyuni_idd (+/- counter) virtual display controls and plug-out-all.
- remote.css: styles for divider, active monitor/virtual items, counter controls.
- i18n: add virtual_displays, virtual_display, plug_out_all keys to en/pl/zh.

This commit was made possible thanks to Insolve.
2026-05-31 21:29:19 +02:00
UNITRONIX 24afad1a8f fix(rdclient): render toolbar dropdowns above the compact handle
Both the expanded pill and the compact handle use backdrop-filter, which creates separate stacking contexts. With auto z-index, paint order followed DOM order, so the handle (rendered last) covered the dropdown menus that extend down into its region — the dropdown z-index:60 only applied inside the pill's own context. Give the pill z-index:2 and the handle z-index:1 so dropdowns appear in front of the handle and stay clickable.

This commit was made possible thanks to Insolve.
2026-05-31 21:14:17 +02:00
UNITRONIX 1d08ab3fea fix(rdclient): allow toolbar dropdowns to open from floating pill
The expanded toolbar pill used overflow-x:auto, which per the CSS spec forces overflow-y to auto as well. This clipped the absolutely-positioned dropdown menus (Actions, Display, Monitors) that open below the pill (top:100%), making them invisible and unclickable. Switch the pill to overflow:visible and let its buttons wrap (flex-wrap) so the bar stays bounded on small screens without a scroll container that traps the dropdowns.

This commit was made possible thanks to Insolve.
2026-05-31 20:08:35 +02:00
UNITRONIX 53c969fc58 feat(rdclient): collapsible floating toolbar + independent browser tab
Redesign the web remote toolbar into a RustDesk-style floating pill. The compact handle (move / fullscreen / expand) is always visible and the action pill no longer auto-opens on hover - it expands only on an explicit click of the expand button. The left handle drags the toolbar horizontally along one axis. The 'back to devices' control is now a button that closes the script-opened rdclient tab (re-focusing the opener) instead of navigating this tab to /devices, which previously spawned duplicate web-panel tabs. closeSession uses the same returnToDevices() helper. Adds move_toolbar/toggle_menu i18n keys (EN/PL/ZH) and an updated cross-platform feature matrix.

This commit was made possible thanks to Insolve.
2026-05-31 19:40:34 +02:00
UNITRONIX 9363eb4271 Add tutorials, file-transfer timeouts and toasts
Introduce Tutorials UI and controls, toast notifications, and file-transfer robustness. Key changes:

- UI & i18n: add tutorial strings for en/pl/zh and a Tutorials section in settings.ejs.
- Settings & Tutorial logic: settings.js adds initTutorialSection; tutorial.js adds enable/disable toggle, listens for tutorial:stateChanged, and prevents auto-show when disabled.
- Toasts & remote UX: remote.js adds a simple showToast helper, clipboard empty/denied toasts, file browsing loading state, timeout handling with retry button, and maps quality items to presets while passing myName to RDClient.
- RD client/protocol/filetransfer: client.js accepts myName option and sends combined misc options; protocol enables file transfer by default; filetransfer.js adds browse timeouts, timeout events, and logging, plus response handling to clear timeouts.
- CSS: add toggle-switch styles and rd-toast styles; small remote.css UI tweak.
- Backend & users: policies.routes.js makes attestation proxy resilient (returns empty/placeholder on 404/conn errors); users.js updates org API endpoints and fixed i18n key usage.

These changes improve tutorial management, visibility into file-transfer failures, and user feedback via toasts.
2026-04-19 03:04:04 +02:00
UNITRONIX dd0889e3d6 Add SessionManager; update docs, i18n & CI
Introduce a SessionManager for relay-based remote sessions in the Tauri MGMT client: new SessionCommand API, start/stop/session input routing, clipboard/recording/quality controls, and notification read/dismiss state. Wire AppState with new mutexes and show main window on startup. CI: add SBOM generation (anchore) and Trivy vulnerability scan steps. Misc: change console Docker DB path, large README/CHANGELOG updates (chat E2E, unattended access/WOL, i18n expansion, CDAP/SDK docs), and many web-nodejs assets/locales/routes/views/services and server-side changes.
2026-04-05 13:42:07 +02:00
UNITRONIX 843298daf4 Add Web Remote UI, multi-session tabs & crypto
Introduce a Web Remote experience with multi-session management, UI and security improvements.

Highlights:
- Add i18n keys for web_remote, new_connection, device_id_placeholder and http_warning across locales.
- UI/CSS: replace single viewer with session/tab UI, session tab bar, HTTP/security banners, toolbar repositioning and numerous style additions for multi-tab sessions and warnings.
- devices.js: add a Web Remote action and use BroadcastChannel to attempt adding a session to an existing remote page (fallback to opening a new tab).
- remote.js: large refactor to support multiple concurrent RDClient sessions (SessionInfo), tab creation/switching/closing, shared toolbar syncing, session lifecycle management, reconnect logic and autoplay/overlay handling.
- rdclient: security and robustness enhancements:
  - rdclient/crypto.js: add Ed25519 SignedId verification (verifySignedId, _hexToBytes) and expose signatureVerified metadata.
  - rdclient/client.js: log severity changes, emit encryption/signature warnings, verify server-signed IdPk to detect MITM, expose renderer cursor readiness via events, and reduce stall detection thresholds / quicker recovery.
  - rdclient/renderer.js: notify when remote cursor image is ready so CSS can hide local cursor.
  - rdclient/video.js: improved MSE health checks, dynamic buffer trimming, JMuxer reinitialization for stuck pipelines, switch timing to ~60fps timestamps, and more aggressive playback catch-up behavior.

These changes improve UX for web remote sessions, add security verification against server-signed identity, and make video playback and recovery more robust.
2026-03-28 20:04:49 +01:00
UNITRONIX 12d195ff78 Release v2.3.0: Node.js console & security
Bump to v2.3.0 and switch to Node.js web console as the primary console (Flask deprecated). Add comprehensive security and feature updates: CSRF protection, session-fixation prevention, timing-safe auth, WebSocket auth, TOTP 2FA, operator/admin roles, address-book sync, desktop connect (URI handler), and SSL certificate configuration in installers. Introduce a dedicated RustDesk Client API (WAN port 21121) and related web-nodejs middleware, routes, views, protos, and client JS (rdclient) plus vendor libs. Add developer tooling and scripts (dev_modules), update hbbs-patch-v2 Rust sources, README and changelog/docs, and ignore Node.js artifacts in .gitignore.
2026-02-22 03:44:00 +01:00