Commit Graph

359 Commits

Author SHA1 Message Date
21pages
bf5abdb520
refactor windows specific session, file transfer and waiting for image (#7184)
* refactor windows specific session, file transfer and waiting for image

1. File transfer doesn't show directory until correct session id is ensured
2. Fix file transfer, caused by `pi.username = self.lc.read().unwrap().get_username(&pi);` in `handle_peer_info` override empty username and `get_active_username` doesn't return currect session username
* Fix home directory not change when session changed, or wrong home directory
* Fix show empty remote directory rather than error messagbox when current session is in login screen
3. Show `Connected, waiting for image` after user choose the same
   session id

Signed-off-by: 21pages <pages21@163.com>

* update translations

Signed-off-by: 21pages <pages21@163.com>

* Update connection.rs

---------

Signed-off-by: 21pages <pages21@163.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-02-19 10:32:13 +08:00
21pages
0f44de7dc3
refactor windows specific session (#7170)
1. Modify the process to have the control side lead the session switching: After the control side sends a `LoginRequest`, the controlled side will add all session information and the current session ID in the `LoginResponse`. Upon receiving the `LoginResponse`, the control side will check if the current session ID matches the ID in the `LoginConfigHandler`. If they match, the control side will send the current session ID. If they don't match, a session selection dialog will pop up, the selected session id will be sent. Upon receiving this message, the controlled side will restart if different or sub service if same .
2. Always show physical console session on the top
3. Show running session and distinguish sessions with the same name
4. Not sub service until correct session id is ensured
5. Fix switch sides not work for multisession session
6. Remove all session string join/split except get_available_sessions in
   windows.rs
7. Fix prelogin, when share rdp is enabled and there is a rdp session,
   the console is in login screen, get_active_username will be the rdp's
   username and prelogin will be false, cm can't be created an that
   causes disconnection in a loop
8. Rename all user session to windows session

Known issue:
1. Use current process session id for `run_as_user`, sahil says it can
   be wrong but I didn't reproduce.
2. Have not change tray process to current session
3. File transfer doesn't update home directory when session changed
4. When it's in login screen, remote file directory is empty, because cm
   have not start up

Signed-off-by: 21pages <pages21@163.com>
2024-02-18 22:08:25 +08:00
Sahil Yeole
4bf3764b5d
Feat: Windows connect to a specific user session (#6825)
* feat windows connect to specific user session

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix import

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix multiple user session fields

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

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix text color on light theme

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* feat windows connect to specific user session code changes and sciter support

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* update texts

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix sciter selected user session

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add translations

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* Use Y,N options

* feat windows specific user code changes

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* Update dialog.dart

* Update connection.rs

* Update connection.rs

* feat windows specific user code changes

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix sciter

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use lr.union

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unused peer options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* select user only when authorised and no existing connection

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* check for multiple users only once

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* optimise and add check for client version

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use misc option message

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* update rdp user session proto

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix show cm on user session

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* Update pl.rs

* update on_message

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix cm

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove user_session_id

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix cm

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix multiple connections

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2024-02-14 23:59:17 +08:00
rustdesk
44e6b7dbb0 2fa for unattended access 2024-01-19 15:35:58 +08:00
21pages
89150317e1
add zero copy mode hareware codec for windows (#6778)
Signed-off-by: 21pages <pages21@163.com>
2024-01-02 16:58:10 +08:00
fufesou
d11a3b9683
Refact, check current view style and scale mode, then update scroll percent (#6613)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-04 23:03:22 +08:00
fufesou
3a82bddcd3
Fix, cursor position, scall origin, scrollbar (#6612)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-04 22:35:14 +08:00
rustdesk
674305ce29 https://github.com/rustdesk/rustdesk/discussions/6453#discussioncomment-7752797 2023-12-04 20:58:29 +08:00
fufesou
570ce7d28d Refactor, optional parameter 'updateCursorPos'
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-02 22:01:05 +08:00
fufesou
99ed1b729e Fix. Do not update cursor pos when switching display on toolbar when 'Show monitors on toolbar'
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-02 21:23:19 +08:00
fufesou
ab28acd709 fix, android switch display. Remove old display video subscription.
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-30 16:27:20 +08:00
fufesou
4cbbb5b64f feat, input source, win->win
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:40 +08:00
fufesou
f11104fcb5 tmp commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:39 +08:00
fufesou
90ac8b7b0b feat/virtual_display_privacy_mode
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-14 12:11:38 +08:00
21pages
eaa054e599 Show relay hint regardless of whether data is received or not
Signed-off-by: 21pages <pages21@163.com>
2023-11-10 19:13:50 +08:00
21pages
663d355a48 cm file delete/create log
Signed-off-by: 21pages <pages21@163.com>
2023-11-06 14:24:50 +08:00
fufesou
58d073b516 fix, remove unused capturer when switching display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-01 19:53:37 +08:00
RustDesk
b83e007405
Merge pull request #6238 from fufesou/fix/peer_info_changed_unexpected
fix, flutter, peer info event may be changed accidentally
2023-10-31 11:07:34 +08:00
fufesou
1d3ce2c029 fix, flutter, peer info event may be changed accidentally
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-31 11:03:35 +08:00
RustDesk
12b8cbf3e0
Merge pull request #6229 from 21pages/444
yuv 444
2023-10-31 10:08:59 +08:00
fufesou
5adce88c37 fix, virtual display bugs
1. Clear the map on reset.
2. Replace `containsKey` to `contains` in flutter.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-30 21:40:13 +08:00
fufesou
06dda24431 refact, show global displays' arrangement
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-30 21:40:13 +08:00
21pages
f05f86dc80 444
Signed-off-by: 21pages <pages21@163.com>
2023-10-30 18:46:56 +08:00
fufesou
725a44abd8 feat, win virtual display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-27 20:12:33 +08:00
fufesou
fcf3577f67 fix, check session's keyboard mode on conn
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-25 09:20:51 +08:00
21pages
c268a0ab14 show reconnect timeout and dismiss all dialog when show reconnecting
Signed-off-by: 21pages <pages21@163.com>
2023-10-21 15:25:01 +08:00
21pages
7a5bc864fa fix client side record
Signed-off-by: 21pages <pages21@163.com>
2023-10-19 09:50:55 +08:00
dignow
c1b865d00e fix, change_display_resolution, add comments
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 09:59:02 +08:00
dignow
c4f09b5598 fix, change display resolution
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 07:44:12 +08:00
dignow
f1d3a553d1 open multi windows, add remote toolbar option
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 13:57:06 +08:00
dignow
bf83d552f8 feat, open multi windows
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 11:11:42 +08:00
dignow
4f4498666e fix, remove warns, misspellings
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-16 23:19:07 +08:00
dignow
fde8196874 fix several bugs
1. updateCurDisplay, canvas origin (x,y)
2. Do not show "Show displays as individual windows" on non-texture
   render version.

Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-16 07:26:55 +08:00
dignow
b52cf070f5 multi flutter ui sessions, refact 'Show displays as individual windows'
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:31:57 +08:00
dignow
013d307bcd feat, multi_flutter_ui_sessions
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:24 +08:00
fufesou
5d6d8e68ed Update cursor id immediately after the cursor event
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-03 22:15:58 +08:00
fufesou
197a9330df fix, cursor hotxy, use _id
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-03 21:18:53 +08:00
fufesou
8b807d7b50 fix, cursor (hotx,hoty) mismatch sometimes
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-03 21:16:12 +08:00
RustDesk
563cd828ad
Merge pull request #5865 from dignow/fix/dialog_button_reconnect_cancel
Fix/dialog button reconnect cancel
2023-09-30 15:38:49 +08:00
21pages
661ce29519 fix request elevation menu not displayed when reconnect
Signed-off-by: 21pages <pages21@163.com>
2023-09-30 11:22:18 +08:00
dignow
69062dca16 fix, dialog button, reconnect cancel in a short time
1. Two `reconnect` is called.
2. The window cannot be closed.

Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-29 21:42:49 +08:00
21pages
6028cfc1a3 fix remote tab lable update, Get.find always return the first instance
Signed-off-by: 21pages <pages21@163.com>
2023-09-28 09:05:10 +08:00
dignow
731ecfda64 use await to guarantee the calling order
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-27 09:16:51 +08:00
21pages
e000fdfb50 desktop tab lable format: id/alias@hostname
Signed-off-by: 21pages <pages21@163.com>
2023-09-26 15:11:31 +08:00
RustDesk
78f5b1e607
Merge pull request #5623 from 21pages/cm_file
add file log page to cm
2023-09-07 20:33:00 +08:00
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
dignow
ea41a60057 fix, the session image covers android toolbar
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-04 14:17:54 +08:00
rustdesk
5b802e9edd Merge branch 'ios_1.2.2' 2023-09-03 00:16:08 +08:00
21pages
7a62eb0ebf mobile reset waitForImage
Signed-off-by: 21pages <pages21@163.com>
2023-08-30 19:46:47 +08:00
21pages
0c77d6d918 mobile reset waitForImage
Signed-off-by: 21pages <pages21@163.com>
2023-08-30 18:58:05 +08:00
dignow
7671ed857d ios add dummy call and remove some lookup functions
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-30 13:49:10 +08:00
fufesou
0e838d59d5 Check if peer info is set
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-24 12:03:29 +08:00
fufesou
f2d96b895f hide empty waiting layer after images are reached
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-23 23:57:09 +08:00
RustDesk
66ad519dbd
Merge pull request #5386 from dignow/refact/tab_2_window_flutter_data
Refact/tab 2 window flutter data
2023-08-23 12:52:19 +08:00
21pages
b5411b686d recent/ab password keep same: sync connected password to addressbook anyway, delete recent password
also delete ab password

Signed-off-by: 21pages <pages21@163.com>
2023-08-21 10:04:16 +08:00
dignow
fad88c2718 refact, tab to window, remove rust cache data
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-14 21:04:24 +08:00
dignow
e205577145 refact, tab to window, flutter data, init commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-14 20:58:31 +08:00
RustDesk
39f0edcb32
Merge pull request #5331 from dignow/fix/save_peer_window_pos
fix saving peer window pos
2023-08-11 08:04:57 +08:00
dignow
7f6b18fc9c change ffi flutter_config to flutter_option
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 22:27:35 +08:00
21pages
1be383e50e not show waitingForImage when already get first image
Signed-off-by: 21pages <pages21@163.com>
2023-08-10 21:28:02 +08:00
21pages
de85c9448a remove extra dismiss waiting for image
Signed-off-by: 21pages <pages21@163.com>
2023-08-09 15:32:51 +08:00
21pages
52bffd4030 fix waiting for image, should not await dialogManager.show
Signed-off-by: 21pages <pages21@163.com>
2023-08-09 15:12:24 +08:00
21pages
9905695699 enable keyframe interval when recording
Signed-off-by: 21pages <pages21@163.com>
2023-08-07 21:32:36 +08:00
21pages
a8cddb5b19 split waiting for image
Signed-off-by: 21pages <pages21@163.com>
2023-08-07 09:51:05 +08:00
21pages
186f5ed39c remove flutter extra "waiting for image"
Signed-off-by: 21pages <pages21@163.com>
2023-08-07 09:23:08 +08:00
RustDesk
152616a261
Merge pull request #5256 from dignow/refact/separate_remote_window
Refact/separate remote window
2023-08-06 09:31:05 +08:00
21pages
bc039a31c5 try fix waiting for image when already shown
Signed-off-by: 21pages <pages21@163.com>
2023-08-05 22:13:11 +08:00
dignow
2db8f1f9d1 refact, separate remote window
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-05 19:48:32 +08:00
dignow
01ab0cf196 tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-05 18:01:08 +08:00
dignow
fd12f69afa tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-05 18:01:08 +08:00
dignow
53e87352da tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-05 18:01:08 +08:00
dignow
e121ed8ecb refact, separate remote window, debug
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-05 18:01:07 +08:00
dignow
1970795093 refact, separate remote window, tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-05 18:01:07 +08:00
dignow
773a74e2a9 refact, separate remote window, try active session
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-05 18:01:05 +08:00
dignow
c01c8d0afc touch screen input
Signed-off-by: dignow <linlong1265@gmail.com>
2023-07-17 20:07:55 +08:00
21pages
1f137b3542 flutter: file-transfer/port forward/rdp support
Signed-off-by: 21pages <pages21@163.com>
2023-07-07 17:03:18 +08:00
21pages
aede035d20 opt force_relay/relay_hint logic
Signed-off-by: 21pages <pages21@163.com>
2023-07-01 22:48:09 +08:00
21pages
89071a4fdb fix connection note
Signed-off-by: 21pages <pages21@163.com>
2023-07-01 09:40:04 +08:00
rustdesk
7fba1800ec fix linux uni (url) and tray exit 2023-06-10 18:24:03 +08:00
rustdesk
501323ff6a const sessionId for mobile 2023-06-09 19:57:37 +08:00
rustdesk
024c181d69 fix android https://github.com/rustdesk/rustdesk/issues/4533#issuecomment-1584064510 2023-06-09 17:07:49 +08:00
rustdesk
a9098960d1 fix #4533 2023-06-09 11:32:36 +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
5b3a8a2c3d feat: upgrade flutter pubs 2023-05-24 00:19:57 +08:00
fufesou
df2de0fd61 windows, custom resolution
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-19 20:48:47 +08:00
fufesou
c6ccee67aa remember resolution, mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-18 23:46:53 +08:00
fufesou
07500013ff resolution, mid commit, to debug
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-18 23:46:53 +08:00
Kingtous
56f1b75b52 fix: port forward & RDP check 2023-05-15 00:33:58 +08:00
fufesou
4ee0fd9676 plugin_framework, test install plugin
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-12 08:48:14 +08:00
fufesou
b06fad0e43 plugin_framework, handle plugin list
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-12 08:48:14 +08:00
fufesou
4eb6bd82a4 plugin_framework, handle plugin list
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-12 08:48:14 +08:00
fufesou
db71dd039d plugin_framework, manager, install plugin
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-12 08:48:14 +08:00
Kingtous
77fa807b57 feat: implement dialog callback 2023-05-08 12:34:19 +08:00
Kingtous
3980e52a88 opt: close main window when exit from tray on macOS 2023-05-02 23:48:49 +08:00
Kingtous
f4c5a3d903 fix: window on top when url scheme received from ipc 2023-05-02 16:20:07 +08:00
fufesou
45d07686b9 plugin_framework, debug
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-26 16:07:58 +08:00
fufesou
67413b7419 plugin_framework, flutter event handlers
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-21 21:41:24 +08:00
fufesou
1b303b7b27 plugin_framework, ui tmp
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-20 22:55:27 +08:00
fufesou
d9755abbc2 tmp commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-20 22:55:26 +08:00
fufesou
4200734593 add events to ui
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-20 10:29:52 +08:00