RustDesk
6aee70fa18
fix https://github.com/rustdesk/rustdesk/issues/609#issuecomment-3931613118 ( #14364 )
2026-02-25 17:09:51 +08:00
RustDesk
6c3515588f
- UI display: display_name first ( #14358 )
...
* - UI display: display_name first
- Fallback: name
- Technical identity: still name
### What changed
- Added account display helpers and display_name state in user model:
- flutter/lib/models/user_model.dart:16
- Account/logout label now uses display_name (@name) when both exist:
- flutter/lib/mobile/pages/settings_page.dart:689
- flutter/lib/desktop/pages/desktop_setting_page.dart:2016
- flutter/lib/desktop/pages/desktop_setting_page.dart:2135
- Desktop Account info now shows both when applicable:
- Display Name: ...
- Username: ...
- flutter/lib/desktop/pages/desktop_setting_page.dart:2039
- Previously done group-list behavior remains:
- group user list displays display_name with name fallback
- flutter/lib/common/widgets/my_group.dart:187
- Persistence path for display_name remains enabled (including group cache/submodule field):
- libs/hbb_common/src/config.rs:2347
- src/client.rs:2630
- LoginRequest.my_name now resolves as:
1. OPTION_DISPLAY_NAME (manual override)
2. user_info.display_name
3. user_info.name
4. OS username fallback
* 1. GUID key (...Uninstall\{GUID}) is MSI-native metadata generated by Windows Installer.
2. Non-GUID key (...Uninstall\RustDesk) is explicitly written by RustDesk’s MSI compatibility component in res/msi/Package/Components/Regs.wxs:44, populated by preprocess.py --arp from .github/workflows/
flutter-build.yml:262.
So they were not using the same EstimatedSize logic:
- MSI GUID key: MSI-calculated size (KB).
- RustDesk key: custom script value from res/msi/preprocess.py:339 (previously bytes, now fixed to KB).
That mismatch is exactly why you saw different sizes.
* improve display name handling
- Append (@username) when multiple users share the same display name
- Trim whitespace from display_name before comparison and display
- Add missing translate() for Logout button on desktop
Signed-off-by: 21pages <sunboeasy@gmail.com >
* group peer filter match both user's display name and user's name
Signed-off-by: 21pages <sunboeasy@gmail.com >
* case-insensitive search in group peer filter
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
Co-authored-by: 21pages <sunboeasy@gmail.com >
2026-02-22 14:59:25 +08:00
RustDesk
21a7cef98a
keep-awake-during-incoming-sessions ( #14082 )
...
* keep-awake-during-incoming-sessions
* Update flutter/lib/desktop/pages/desktop_setting_page.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update flutter/lib/common.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update flutter/lib/mobile/pages/settings_page.dart
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update common.dart
* wakelock
Signed-off-by: 21pages <sunboeasy@gmail.com >
* fix build
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Update server_model.dart
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: 21pages <sunboeasy@gmail.com >
2026-01-21 16:25:57 +08:00
21pages
3a9084006f
Allow configuring remote control permissions for different users ( #13974 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2026-01-09 00:21:28 +08:00
21pages
9dd4fa8646
add options: disable-change-permanent-password, disable-change-id, disable-unlock-pin ( #13929 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2026-01-07 13:51:02 +08:00
fufesou
ae06f27372
fix: sciter, cursor position mismatch ( #13629 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-11-25 23:05:31 +08:00
fufesou
b2dff336ce
fix: wayland controlled side, cursor misalignment ( #13537 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-11-18 00:37:15 +08:00
fufesou
58fa32d7ea
fix: sciter ui ( #13474 )
...
Element has no method - is_outgoing_only.
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-11-10 22:30:20 +08:00
fufesou
a7d2bc63f9
fix: sciter, advanced options, UI ( #13429 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-11-06 17:13:11 +08:00
fufesou
910dcf2036
refact: tls, native-tls fallback rustls-tls ( #13263 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-11-03 23:21:01 +08:00
fufesou
e3fcc6cce3
fix: file transfer, auto start on reconnect ( #13329 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-10-29 15:15:05 +08:00
21pages
a0659a277a
show TCP/UDP/IPv6 in tooltip ( #12613 )
...
* add punch type log
Signed-off-by: 21pages <sunboeasy@gmail.com >
* show TCP/UDP/IPv6 in tooltip
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Skip udp punch if udp nat port is 0
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-08-11 16:13:31 +08:00
21pages
77be752ff1
sciter hide cm ( #12570 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-08-07 13:29:21 +08:00
RustDesk
5faf0ad3cf
terminal works basically. ( #12189 )
...
* terminal works basically.
todo:
- persistent
- sessions restore
- web
- mobile
* missed terminal persistent option change
* android sdk 34 -> 35
* +#![cfg_attr(lt_1_77, feature(c_str_literals))]
* fixing ci
* fix ci
* fix ci for android
* try "Fix Android SDK Platform 35"
* fix android 34
* revert flutter_plugin_android_lifecycle to 2.0.17 which used in rustdesk 1.4.0
* refactor, but break something of desktop terminal (new tab showing loading)
* fix connecting...
2025-07-01 13:12:55 +08:00
21pages
9475743b4e
allow use websocket ( #11677 )
...
1. Enable the RustDesk client to use WebSocket for either controlling or being controlled.
2. Fix TCP sending `register_pk` frequently
Note:
1. Because hbb_common directly uses `use_ws` to read config directly, rustdesk also directly reads config
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-05-09 12:18:49 +08:00
fufesou
bd85e9c322
fix: sciter, check, has_file_clipboard ( #11666 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-07 10:07:24 +08:00
fufesou
ca00706a38
feat, update, win, macos ( #11618 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-04 07:32:47 +08:00
fufesou
c626c2414d
feat: take screenshot ( #11591 )
...
* feat: take screenshot
Signed-off-by: fufesou <linlong1266@gmail.com >
* screenshot, vram temp switch capturer
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: misspelling
Signed-off-by: fufesou <linlong1266@gmail.com >
* screenshot, taking
Signed-off-by: fufesou <linlong1266@gmail.com >
* screenshot, rgba stride
Signed-off-by: fufesou <linlong1266@gmail.com >
* Bumps 1.4.0
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-04-30 17:23:35 +08:00
fufesou
f4bbf82363
feat: remote printer ( #11231 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-27 15:34:27 +08:00
21pages
d1c8b331c5
Option allow-d3d-render and fix ios ci ( #11107 )
...
* option `allow-d3d-render`, default false
Add this option because it fails on some machines
Signed-off-by: 21pages <sunboeasy@gmail.com >
* only add nokhwa to windows and linux dependencies
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-03-13 09:34:13 +08:00
21pages
f0f999dc27
view camera ( #11040 )
...
* view camera
Signed-off-by: 21pages <sunboeasy@gmail.com >
* `No cameras` prompt if no cameras available, `peerGetSessionsCount` use
connType as parameter
Signed-off-by: 21pages <sunboeasy@gmail.com >
* fix, use video_service_name rather than display_idx as key in qos,etc
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
Co-authored-by: Adwin White <adwinw01@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2025-03-10 21:06:53 +08:00
fufesou
055b351164
refact: optimize, loading recent peers ( #10847 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-02-20 11:53:36 +08:00
rustdesk
8f545491a2
verify_login, but not eable yet
2025-02-14 16:39:09 +08:00
fufesou
fbba8f0b34
refact: file copy&paste, cross platform (no macOS) ( #10671 )
...
* feat: unix, file copy&paste
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: unix file c&p, check peer version
Signed-off-by: fufesou <linlong1266@gmail.com >
* Update pubspec.yaml
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2025-02-04 20:33:02 +08:00
rustdesk
ce5f0d513f
2024 -> 2025
2025-01-31 16:54:57 +08:00
21pages
4f7e10bac6
Revert "Change the minimum value of the bitrate slider to 5" ( #9795 )
...
* Revert "Change the minimum value of the bitrate slider to 5 (#9480 )"
This reverts commit beb1084e87 .
* Revert "Change the value of kMinQuality to 5 (#9508 )"
This reverts commit d563372a91 .
2024-10-31 22:57:39 +08:00
21pages
f86c88b3d8
refresh icon not visible when not using one-time password ( #9791 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-10-31 10:11:42 +08:00
21pages
445e9ac285
no password required for file transfer action in remote control menu ( #9731 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-10-24 17:20:48 +08:00
21pages
6159449eba
move option video-save-directory and allow-auto-record-outgoing to local ( #9715 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-10-22 08:24:52 +08:00
21pages
e8187588c1
auto record outgoing ( #9711 )
...
* Add option auto record outgoing session
* In the same connection, all displays and all windows share the same
recording state.
todo:
Android check external storage permission
Known issue:
* Sciter old issue, stop the process directly without stop record, the record file can't play.
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-10-21 14:34:06 +08:00
hashiguchi
beb1084e87
Change the minimum value of the bitrate slider to 5 ( #9480 )
...
Signed-off-by: hashiguchi <hashiguchi@mtrx.jp >
2024-09-27 10:14:46 +08:00
fufesou
bf390611ab
fix: keyboard, sciter ( #9216 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-31 19:02:50 +08:00
21pages
1729ee337f
trust this device to skip 2fa ( #9012 )
...
* trust this device to skip 2fa
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Update connection.rs
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2024-08-12 18:08:33 +08:00
fufesou
f4c40d733e
Fix/exe upgrade options ( #9001 )
...
* fix: exe upgrade, use previous options
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: msi, shortcuts options, swap pos
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-08 22:07:06 +08:00
21pages
c04f460bbd
fix more bool options ( #8809 )
...
* fix more bool options
* hide sort ab tags because it's already sorted
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-07-24 17:20:58 +08:00
rustdesk
49f848a453
refactor
2024-06-26 16:35:29 +08:00
rustdesk
ef56aea74f
fix https://github.com/rustdesk/rustdesk/issues/8479
2024-06-26 16:28:31 +08:00
rustdesk
4947cf8718
fix https://github.com/rustdesk/rustdesk/issues/8452
2024-06-23 22:50:54 +08:00
21pages
3742b51d58
quality monitor, delay displays as 0 when fps is 0 ( #8441 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-06-22 09:39:02 +08:00
fufesou
32ab56f864
fix: custom client, options, option2bool() ( #8302 )
...
* fix: custom client, options, option2bool()
Signed-off-by: fufesou <linlong1266@gmail.com >
* format
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-06-10 00:11:59 +08:00
fufesou
96f41fcc02
refact: custom client, more advanced settings ( #8085 )
...
* refact: custom client, more advanced settings
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* feat: custom client, more advanced settings
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-05-18 23:13:54 +08:00
21pages
09f3850250
installed windows client save incoming recording to a specific directory ( #7974 )
...
Signed-off-by: 21pages <pages21@163.com >
2024-05-08 17:04:53 +08:00
fufesou
1dfbaa1e02
fix: test if valid server, control if try test with proxy ( #7858 )
...
* fix: test if valid server, control if try test with proxy
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* fix: build
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-28 14:22:21 +08:00
Sahil Yeole
3811f41076
Feat: Follow remote cursor and window focus | Auto display switch ( #7717 )
...
* feat: auto switch display on follow remote cursor
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* feat: auto switch display on follow remote window focus
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build and remove unused imports
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix linux get_focused_window_id
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* lock show remote cursor when follow remote cursor is enabled
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix config
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* prevent auto display switch on show all display and displays as individual windows
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix options
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix options
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove unused function
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove unwraps and improve iterations
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* set updateCursorPos to false to avoid interrupting remote cursor
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* update lang
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix web build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* update checks for options and enable in view mode
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use focused display index for window focus service
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use window center for windows display focused
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove unused imports
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use libxdo instead of xdotool
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix multi monitor check
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* enable show cursor when follow cursor is default
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove show_all_displays,use runtime state instead
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix show cursor lock state on default
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove view mode with follow options
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use separate message for follow current display
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix options
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* sciter support for follow remote cursor and window
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* add check for ui session handlers count
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use cached displays and remove peer info write
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* No follow options when show all displays
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* No follow options when multi ui session
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* turn off follow options when not used|prevent msgs
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use window center for switch in linux
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use subbed display count to prevent switch msgs
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix web build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* move subbed displays count
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* add noperms for window focus
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* add subscribe for window focus
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove window_focus message and unsub on multi ui
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* add multi ui session field
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
---------
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2024-04-25 13:26:02 +08:00
21pages
4252b5e273
enable ffmpeg native h26x software decoders for all platforms ( #7750 )
...
* enable ffmpeg native h26x software decoders for all platforms
* h26x software decoders depend on hwcodec feature, so all platforms
enable it, software h26x decoders are always available like vpx, no available check and no option
* ffmpeg:
- build: mac arm64 build ffmpeg with my m1, others build with ci
- version: win/linux use ffmpeg release/5.1, becaues higher version require higher nvidia driver, other platforms use release/7.0
* test:
- ios not test.
- android: sometimes the screen will appear blurry, but it will recover after a while.
- arm64 linux: test a example of hwcodec repo
Signed-off-by: 21pages <pages21@163.com >
* check hwcodec only when enabled and immediately when clicked enabled
Signed-off-by: 21pages <pages21@163.com >
---------
Signed-off-by: 21pages <pages21@163.com >
2024-04-18 13:12:45 +08:00
21pages
98df2b111e
hwcodec uses one repository ( #7701 )
...
* update hwcodec, gpucodec repo is merged to hwcodec
Signed-off-by: 21pages <pages21@163.com >
* rename gpucodec.rs to vram.rs
Signed-off-by: 21pages <pages21@163.com >
* rename all gpucodec to vram, because vram is a feature of hwcodec
Signed-off-by: 21pages <pages21@163.com >
* use one check process and one config file
* set check encode image size to 720p
Signed-off-by: 21pages <pages21@163.com >
---------
Signed-off-by: 21pages <pages21@163.com >
2024-04-12 17:26:24 +08:00
rustdesk
05969c2f99
Hostname -> Server
2024-03-23 17:10:52 +08:00
21pages
41da6d552f
shared address book ( #7229 )
...
Signed-off-by: 21pages <pages21@163.com >
2024-03-20 15:05:54 +08:00
21pages
b511a52e09
remove is_rdp_service_open judgement for option share rdp ( #7257 )
...
Signed-off-by: 21pages <pages21@163.com >
2024-02-25 20:09:30 +08:00
grummbeer
c987bed965
Automate year of copyright ( #7206 )
2024-02-20 18:00:07 +08:00