fufesou
969ea28d06
feat(fs): delegate win --server file reading to CM ( #13736 )
...
- Route Windows server-to-client file reads through CM instead of the connection layer
- Add FS IPC commands (ReadFile, CancelRead, SendConfirmForRead, ReadAllFiles) and CM data messages
(ReadJobInitResult, FileBlockFromCM, FileReadDone, FileReadError, FileDigestFromCM, AllFilesResult)
- Track pending read validations and read jobs to coordinate CM-driven file transfers and clean them up
on completion, cancellation, and errors
- Enforce a configurable file-transfer-max-files limit for ReadAllFiles and add stronger file name/path
validation on the CM side
- Improve Flutter file transfer UX and robustness:
- Use explicit percent/percentText progress fields
- Derive speed and cancel actions from the active job
- Handle job errors via FileModel.handleJobError and complete pending recursive tasks on failure
- Wrap recursive directory operations in try/catch and await sendRemoveEmptyDir when removing empty directories
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-12-28 15:39:35 +08:00
fufesou
4ed8696d1d
fix: file transfer, jobs lost if conn is not established ( #13635 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-11-26 19:15:32 +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
ac70f380a6
fix: file transfer, resume, path and finished size ( #12739 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-26 17:59:39 +08:00
fufesou
6381f43f01
feat: clipboard files, audit ( #12730 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-25 22:29:53 +08:00
fufesou
f4fb31d7a1
feat: file transfer, resume ( #12626 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-25 14:34:03 +08:00
fufesou
a22f2108c6
refact: suppress warns on macos ( #12449 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-18 15:09:11 +08:00
RustDesk
53efaf125c
Revert "Feat: file transfer, resume ( #12557 )" ( #12620 )
...
This reverts commit 43ec57c769 .
2025-08-11 23:25:41 +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
fufesou
43ec57c769
Feat: file transfer, resume ( #12557 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-09 23:47:19 +08:00
21pages
9409912344
update kcp-sys ( #12419 )
...
1. Update kcp-sys to send KCP in frames to avoid potential crashes.
2. Fix the issue when the controling side is closed, the kcp connection close is not immediately recognized by the controlled end.
* Unless the controling side receives the close reason, force the sending of the close reason to the controlled end when using KCP, and delay for 30ms to ensure the message is sent successfully.
* Move the CloseReason receiving forward, as this message needs to be received when unauthorized, especially for kcp.
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-07-25 13:22:52 +08:00
fufesou
e91f4fc104
fix: terminal, restore, cross users ( #12335 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-07-18 16:25:53 +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
rustdesk
7792ac1481
udp punch and ipv6 punch
2025-06-12 21:32:28 +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
YinMo19
c9d5e15ac0
Using new Stream type adapted to the update of submodules ( #11581 )
...
* [fix bug] fix all err stream type.
* [update] update hbb_common.
* [bug fix] Stream in other platform.
2025-04-28 00:47:33 +08:00
fufesou
23e70c0fd1
refact: remote printer, adapter dll, free data ptr ( #11279 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-28 21:58:46 +08:00
fufesou
4b14f86134
refact: remote printer, log ( #11271 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-28 10:56:19 +08:00
fufesou
ee2478168c
fix: remote printer ( #11270 )
...
* fix: remote printer, log
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: remote printer, avoid double sign
Signed-off-by: fufesou <linlong1266@gmail.com >
* Spawn a new thread to handle the print job.
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-28 10:36:42 +08:00
fufesou
f4bbf82363
feat: remote printer ( #11231 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-27 15:34:27 +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
00293a9902
Feat/macos clipboard file ( #10939 )
...
* feat: macos, clipboard file
Signed-off-by: fufesou <linlong1266@gmail.com >
* Can't reuse file transfer
Signed-off-by: fufesou <linlong1266@gmail.com >
* handle paste task
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-02-28 00:46:46 +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
fufesou
dd004f1a2d
fix: clipboard, client side, update is required on conn ( #10464 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-01-17 02:27:20 +08:00
fufesou
1c62a28ef3
fix: build ( #10364 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-12-25 16:36:13 +08:00
fufesou
9ed2499666
fix: file clipboard, init disabled ( #10361 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-12-25 15:18:06 +08:00
21pages
e5aa31eb4c
Fix auto record outgoing sessions ignore record permission ( #10294 )
...
1. Fix auto record outgoing sessions ignore record permission
2. Stop record if record permission changed
3. Update hwcodec
4. Make video thread finish faster when connection closed
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-12-16 17:13:48 +08:00
zuiyu
314c93b210
Create empty dir on send files in local ( #9993 )
...
* feat: Add empty dirs on sendfiles
* Update connection.rs
---------
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2024-11-23 23:09:11 +08:00
21pages
64654ee7cf
seperate video decoding thread for each display ( #9968 )
...
* seperate video decoding thread for each display
1. Separate Video Decoding Thread for Each Display
2. Fix Decode Errors When Clearing the Queue
Previously, on-flight frames after clearing the queue could not be decoded successfully. This issue can be resolved by setting a discard_queue flag when sending a refresh message. The flag will be reset upon receiving a keyframe.
Signed-off-by: 21pages <sunboeasy@gmail.com >
* update video format along with fps to flutter
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Fix keyframe interval when auto record outgoing sessions
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-11-22 00:02:25 +08:00
21pages
c5426b0fbc
Fix hevc decode error "Could not find ref with POC" ( #9960 )
...
1. Dropping frames can cause this error, reset encoder when this
happens.
2. There are some logic error for clear video queue, because video queue
message is not cleared. This need to be fixed.
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-11-18 23:03:27 +08:00
fufesou
8b710f62c8
feat: android clipboard, multi-formats ( #9950 )
...
* feat: android clipboard, multi-formats
Signed-off-by: fufesou <linlong1266@gmail.com >
* Chore
Signed-off-by: fufesou <linlong1266@gmail.com >
* Remove unused code
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-11-18 15:43:41 +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
rustdesk
2e314bf032
disable init clipboard sync by default
2024-09-20 17:38:29 +08:00
fufesou
e5ec6957fe
fix: option OPTION_ONE_WAY_FILE_TRANSFER ( #9387 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-09-18 18:22:12 +08:00
rustdesk
cc288272d3
OPTION_ONE_WAY_CLIPBOARD_REDIRECTION,
...
OPTION_ENABLE_CLIPBOARD_INIT_SYNC,
OPTION_ALLOW_LOGON_SCREEN_PASSWORD,
OPTION_ONE_WAY_FILE_TRANSFER,
2024-09-18 12:18:26 +08:00
fufesou
9380f33d7c
Refact/options ( #9318 )
...
* refact options
Signed-off-by: fufesou <linlong1266@gmail.com >
* Remove unused msg
Signed-off-by: fufesou <linlong1266@gmail.com >
* web, toggle virtual display
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-09-10 23:54:59 +08:00
fufesou
ec28567362
fix: win, file clipboard ( #9243 )
...
1. Return the result of `wait_response_event()` in
`cliprdr_send_format_list()`
2. Add recv flags to avoid waiting a long time.
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-09-03 20:55:45 +08:00
21pages
ed18e3c786
file rename ( #9089 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-08-16 12:55:58 +08:00
fufesou
83bf067d18
fix: not plug virtual dislay, non win, installed ( #9034 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-12 21:53:41 +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
6625aca994
fix: win, virtual display ( #9023 )
...
1. Default resolution 1920x1080.
2. Restore on conn & disconn.
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-11 19:26:41 +08:00
fufesou
0e98a51775
fix: clipboard, set formats and enable option ( #8873 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-07-29 15:40:02 +08:00
fufesou
541d9c6b86
feat: clipboard, multi formats ( #8733 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-07-28 17:26:54 +08:00
fufesou
e2a7e38a39
fix: build ios ( #8709 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-07-14 15:05:56 +08:00
rustdesk
d0a54a6cc6
hc
2024-07-14 05:47:42 +08:00
fufesou
30afe4f779
refact: seperate audio device for voice call ( #8703 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-07-14 04:07:02 +08:00
RustDesk
ef4d84657b
Revert "feat: clipboard, multi format ( #8672 )" ( #8673 )
...
This reverts commit 011647511c .
2024-07-11 00:36:29 +08:00
fufesou
011647511c
feat: clipboard, multi format ( #8672 )
...
* feat: clipboard, multi format
Signed-off-by: fufesou <linlong1266@gmail.com >
* inline
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-07-11 00:05:25 +08:00
rustdesk
e71d86c124
move clipboard in common.rs to clipboard.rs
2024-07-01 02:14:58 +08:00
rustdesk
01672bc697
clipboard image, not tested, todo: set_html
2024-06-30 21:57:32 +08:00