Commit Graph
94 Commits
Author SHA1 Message Date
fufesou 0b08a83d4b fix(file-transfer): improve large directory loading (#15830)
* fix(file-transfer): improve large directory loading

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(file-transfer): avoid failing newer directory reads

Track each remote directory request by its registered completer and only remove
the task when it still matches, preventing stale failures from affecting newer
requests for the same path.

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(file-transfer): handle slow directory listings safely

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(file transfer): correlate directory responses with requests

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(file transfer): prevent automatic directory responses from matching requests

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(file-transfer): handle large remote directory listings reliably

- build file rows lazily
- register remote reads before sending requests
- handle Home paths, stale responses, errors, and timeouts
- serialize same-path reads with different hidden-file options

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(file transfer): reduce diffs

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix: build

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix: invalidate pending dir reads on reconnect

Signed-off-by: fufesou <linlong1266@gmail.com>

* test(file-transfer): cover remote directory read lifecycle

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2026-08-27 13:01:11 +08:00
fufesou 0c6df924d1 refact: file transfer, do this for all conflicts(tasks) (#15385)
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-06-23 11:23:42 +08:00
fufesou 9c831dc59b fix(fs): file transfer, reconnect, restore dir (#14925)
* fix(fs): file transfer, reconnect, restore dir

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(fs): simple refactor

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(fs): simple refactor

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2026-05-10 10:08:29 +08:00
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 e3fcc6cce3 fix: file transfer, auto start on reconnect (#13329)
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-10-29 15:15:05 +08:00
fufesou ad1ed132d1 fix: file transfer, web (#12565)
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-09 15:54:00 +08:00
fufesou f4bbf82363 feat: remote printer (#11231)
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-03-27 15:34:27 +08:00
fufesou e6edf39305 fix: support emptry folder transfer for web (#10151)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-12-03 14:22:20 +08:00
zuiyuandRustDesk 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 eb1ef0969c web file transfer (#9587)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-10-12 09:03:13 +08:00
fufesou d08c335fdf fix: file transfer, show error, msgbox (#9389)
* fix: file transfer, show error, msgbox

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix: translation

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-09-18 19:29:35 +08:00
21pages 8745fcbb6a opt desktop file manager status list (#9117)
* Show delete file/dir log
* Show full path rather than base file name
* Show files count
* Opt status card layout
* Change selected color to accent

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-08-20 10:53:55 +08:00
21pages ed18e3c786 file rename (#9089)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-08-16 12:55:58 +08:00
fufesou 85cafda168 Refact. Flutter web, mid commit (#7494)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-24 11:23:06 +08:00
rustdesk d7e8d4d5c3 fix #6198 2023-11-06 20:12:01 +08:00
Sahil Yeole 8207908d9e fix remote home button
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-20 00:14:14 +05:30
Sahil Yeole e08da096dd remove home dir peer option
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-19 23:45:48 +05:30
Sahil Yeole 9acddede65 fix remote home button
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-19 04:29:51 +05:30
21pages 2afce3f1f4 add file log page to cm
* Only send and receive logs are shown
* For older version, client send to server doesn't have size information, because server side doesn't know the total_size
* Not switch tabs automatically when new files are transferred
* If cm side page is open, not pop up automatically when new files are transferred
* Show unread message count
* The cm tab remains open when closed if a file transfer has previously occurred

Signed-off-by: 21pages <pages21@163.com>
2023-09-07 19:51:25 +08:00
21pages 923d76cf69 opt add ab id and delete file dialog ui
Signed-off-by: 21pages <pages21@163.com>
2023-08-15 10:22:34 +08:00
21pages 2ececed0c1 use uuid as session id
Signed-off-by: 21pages <pages21@163.com>
2023-06-08 07:24:02 +08:00
Kingtous 77fa807b57 feat: implement dialog callback 2023-05-08 12:34:19 +08:00
csf adba3b8eb7 1. fix remote DirectoryOptions home initialization.
2. opt MenuEntryDivider.
2023-03-16 19:39:37 +09:00
csf bd3f19c1e6 fileModel fix remote DirectoryOptions isWindows 2023-03-16 11:23:15 +09:00
rustdesk c3e816feee fix some stupid grammer 2023-03-15 22:44:07 +08:00
Kingtous 8044b0926b opt: better short alias for the identical tip 2023-03-15 17:26:33 +08:00
Kingtous 7a05910807 feat: identical msg in flutter and sciter 2023-03-15 17:21:15 +08:00
Kingtous 33ca87718b opt: better docs 2023-03-15 17:21:15 +08:00
Kingtous b187d0fd59 feat: fit for file confirm dialog queue 2023-03-15 17:21:15 +08:00
Kingtous 6725c9544b opt: add event loop def 2023-03-15 17:21:15 +08:00
csf 69d8498404 mobile new file SelectMode state 2023-03-09 22:51:42 +09:00
csf f5d0275bf3 selectedItems use obs state 2023-03-09 19:55:38 +09:00
csf 5ae3d33f3c move selectedItems to file controller model 2023-03-09 18:05:09 +09:00
csf 970dfa3c88 fix jobTable state can't update 2023-03-09 11:40:06 +09:00
csf a2f82b6ea6 restore jobTable state mode 2023-03-09 00:06:24 +09:00
csf b7a0436aa3 fix close error 2023-03-08 23:14:52 +09:00
csf a962e068f8 fix sendFiles wrong direction 2023-03-08 23:06:34 +09:00
csf d867decd98 refactor Desktop file_manager_page.dart 2023-03-08 22:32:55 +09:00
csf 2dd4545be0 refactor file_model.dart 2023-03-08 21:05:55 +09:00
csf 8b46639ef6 refactor file_manager 2023-03-08 00:49:14 +09:00
grummbeer dd4c80a779 File Manager. Show filename instead of path in tranfer list 2023-03-03 20:26:13 +01:00
NicKoehler 55831948f8 prefere MaterialStatePropertyAll to MaterialStateProperty.all and other fixes 2023-03-01 16:35:51 +01:00
NicKoehler fd8829f08e added icon to dialogButton, reverted some design changes. The outline buttons now rely on theme data 2023-03-01 14:50:50 +01:00
NicKoehler 828c201fe0 modern file manager delete dialog 2023-02-27 20:56:45 +01:00
Kingtous 8df357c941 refactor: use listview for file lists 2023-02-15 15:09:58 +08:00
21pages 62791613a7 opt dialog button style
Signed-off-by: 21pages <pages21@163.com>
2023-01-15 19:46:16 +08:00
fufesou a3643f53bf set image center when remote resolution is changed
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-01-10 17:13:40 +08:00
csf 58c1be39c8 add catch err 2022-12-20 23:57:06 +09:00
Kingtous 7a938ace02 feat: add list file search listener 2022-12-14 11:57:11 +08:00
Kingtous 7dadf3ba2f opt: remove redundant restore job 2022-12-08 17:41:14 +08:00