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
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
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