fufesou
b0008edcb5
refact: remove linux headless ( #15866 )
...
* refact: remove linux headless
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(linux): probe DRM availability asynchronously on login
Signed-off-by: fufesou <linlong1266@gmail.com >
* revert changes in drm_capturer.rs
Signed-off-by: fufesou <linlong1266@gmail.com >
* Update submodule hbb_common
Signed-off-by: fufesou <linlong1266@gmail.com >
* docs(linux): clarify DRM availability comments
Remove stale headless and unauthenticated-request
wording, and document the Available-only login-screen gate.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(linux): remove unreachable session cleanup branch
Remove the obsolete empty-session path and
clarify the intended use of cached DRM availability.
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-08-18 15:02:50 +08:00
fufesou
d1da05c4db
refact: remove feature plugin-framework ( #15854 )
...
* refact: remove feature plugin-framework
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: remove unused translations
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: delete settings tab observable with correct type
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-08-14 14:31:13 +08:00
RustDesk
e6dd925ab0
fix(android): close outgoing sessions when the task is swiped away ( #15753 )
...
* fix(android): close outgoing sessions when the task is swiped away
Swiping RustDesk away from recents destroys the UI but does not
necessarily end the process: when MainService is running (screen share
enabled, or started at boot) the process survives, and with it the
native io_loop of any active outgoing session.
That orphaned io_loop keeps echoing TestDelay (client.rs handle_test_delay
runs entirely on the network thread, no UI involved), which keeps
refreshing last_recv_time on the controlled side. Its 30s inactivity
timeout in server/connection.rs therefore never fires, so the remote
session stays established with no UI left to close it, and the peer
cannot be reconnected to.
Close client sessions from Service.onTaskRemoved, which fires only on
explicit task removal -- not on Home or backgrounding, so ordinary
backgrounding is unaffected. The service itself keeps running, so
incoming connections and the device staying reachable are unchanged.
This complements 152c5c71b , which covered the route-pop path via
dispose(); dispose() does not run when the task is removed.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(android): also close sessions on activity destroy
Review follow-up. onTaskRemoved only reaches MainService, but the
accessibility InputService keeps the process alive on its own: a user
with input control enabled and screen sharing off has a surviving
process after a swipe while MainService is not running, so the callback
never fires and the session still outlives its UI. onTaskRemoved cannot
cover that -- InputService is bound by the system, not started, so the
callback is not delivered there.
Close from MainActivity.onDestroy() as well, which runs while the
process is still alive regardless of which service keeps it up. Guarded
on isFinishing so a destroy for recreation (configuration change, "don't
keep activities") does not tear down a live session. Both paths are
idempotent.
Also drop the now-wrong "on task removed" wording from the Rust log,
which has two distinct callers.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(android): release held keys before draining the session map
close_all_sessions drained SESSIONS first, then called
release_remote_keys. The release path sends through get_cur_session(),
which resolves against SESSIONS, so every generated key-up was dropped
after take_remote_keys() had already cleared TO_RELEASE: a key held as
the task is removed stays down on the controlled side until its own
timeout, with the state lost locally.
Release first, while a session is still registered. It is a no-op when
no key is held, so the previous is_empty() guard is not needed.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-04 11:18:14 +08:00
21pages
5abf4e9724
Fix disabled installation bypass ( #15598 )
...
* Fix disabled installation bypass
Prevent install.exe and --install from opening the install flow when disable-installation is set.
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Refine disabled installation handling for portable clients
Document why --install must be filtered from both Rust and Flutter runner arguments for portable wrappers such as no-install.exe. Remove redundant UI-
layer installation checks because the install entry points are already gated upstream.
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
2026-07-16 16:00:38 +08:00
fufesou
493b14ba78
Fix/session scope permission audit ( #15469 )
...
* fix: enforce session-scoped permissions
Restrict non-remote sessions to their allowed message types, filter
out-of-scope login options, and audit rejected or filtered messages.
Hide screenshot controls outside default remote sessions.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: typo
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: prevent privacy mode in view-camera sessions
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: switch display, check non-view-camera
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: avoid sending unsupported messages
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: session scope, add option to control close/alarm
Signed-off-by: fufesou <linlong1266@gmail.com >
* Fix: scoped session handling for view-camera compatibility
- Skip view-camera auto-login and display-management side effects
- Allow harmless render broadcasts without affecting non-video sessions
- Keep legacy view-camera management messages compatible as no-ops
- Preserve stricter scope violations for non-video session types
Signed-off-by: fufesou <linlong1266@gmail.com >
* update libs/hbb_common
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: ignore repeated login request
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: view camera, support "Take screenshot"
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: session scoped messages, check update options
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: session scope, check portforward before conn type voolations
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: scoped messages, reduce changes.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: session scope, comments
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: keep scoped sessions compatible with render broadcasts
Allow legacy render-broadcast no-op messages for file transfer and terminal
sessions while keeping port forward and mixed options scoped. Also avoid sending
new render updates to non-video Flutter sessions.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: scope screenshot requests by video source
Key screenshot requests by video source and display index so camera and
monitor sessions cannot consume each other's requests. Deduplicate the Flutter
render-target predicate while keeping render updates limited to video sessions.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: Harden scoped session message handling
Filter option updates by authenticated connection type,
keep legacy no-op messages compatible, and avoid noisy repeated
scope violation alarms.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: session scope, comments
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: Send close reason for scoped session violations
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: Enforce scoped session message filtering
- filter out-of-scope messages for limited session types
- scope option updates by authenticated connection type
- keep render-broadcast no-op compatibility for non-video scoped sessions
- restore view-camera screenshot handling
- improve session scope violation audit labels
- avoid cloning option messages on the remote hot path
Signed-off-by: fufesou <linlong1266@gmail.com >
* Fix scoped session clipboard broadcast compatibility
Treat text clipboard broadcasts as no-op compatibility messages for FileTransfer and Terminal sessions, matching existing
handler behavior and preventing optional scope-violation close from disconnecting those sessions. Keep ViewCamera and
PortForward clipboard messages subject to normal scope enforcement.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: log warn
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: restrict Flutter clipboard sync to default sessions
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: session scope, comments and tests
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: session scope, reset sessions in login handle
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: session scope, view camera, allow clipboard noop
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-07-05 23:28:32 +08:00
fufesou
001848bf2f
fix(fuse): umount ( #15426 )
...
* fix(clipboard): clean up stale Linux FUSE mounts
Recover Linux file clipboard FUSE mount points before remounting and stop treating a cached
context as valid when the mount has already gone away.
This fixes the desktop file manager copy failure that shows dialogs such as
"Error while copying a" and "There was an error copying the file into xxx".
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(clipboard): fuse, reduce dups
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: clear Linux file clipboard before unmounting FUSE
Ensure Linux client teardown clears RustDesk file clipboard URLs while
the FUSE context is still available. Also prefer fusermount before
umount to avoid noisy unprivileged teardown attempts.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(clipboard): return and log errors
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-06-26 16:17:44 +08:00
RustDesk
6c20fc936d
Terminal utf8 and reconnect ( #14895 )
...
* fix: handle incomplete UTF-8 sequences in terminal output, rework on https://github.com/rustdesk/rustdesk/pull/14736
* Fix terminal auto-reconnect freeze: reconnect resumes terminal output, while multi-tab reconnect avoids restoring duplicate tabs for terminals that are already open.
* fix(terminal): subtract with overflow
```
thread '<unnamed>' panicked at src\server\terminal_service.rs:476:17:
attempt to subtract with overflow
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'tokio-runtime-worker' panicked at src\server\terminal_service.rs:1576:50:
called `Result::unwrap()` on an `Err` value: PoisonError { .. }
[2026-04-25T07:17:34Z ERROR librustdesk::server::service] Failed to join thread for service ts_9badd3fe-2411-4996-9f40-93c979009edd, Any { .. }
```
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix ios enter: https://github.com/rustdesk/rustdesk/issues/14907
* fix(terminal): reconnect, error handling
1. Terminal shows "^[[1;1R^[[2;2R^[[>0;0;0c"
2. NaN
```
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Converting object to an encodable object failed: NaN
...
```
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): dialog, close window
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): close terminal window on disconnect dialog
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): merge reconnect backlog into replay output
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): avoid reconnect stalls and delayed layout writes
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): remove invalid test
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): schedule frame before flushing buffered output
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): windows&macos, charset utf-8
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): reconnect suppress next output
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: cap terminal reconnect replay output
- split reconnect replay backlog into capped chunks
- mark terminal data replay chunks for client-side suppression
- avoid using open-message text to suppress xterm replies
- reuse default terminal padding value
- remove misleading Enter-key normalization PR link
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): env en_US.UTF-8
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): reconnect, refactor
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): flag, retry output
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): update hbb_common
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): comments
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): comments utf-8 chunk accumulator
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(terminal): update hbb_common
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: fufesou <linlong1266@gmail.com >
2026-05-07 13:27:13 +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
21pages
296c6df462
ask for note at end of connection ( #13499 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-11-13 23:35:40 +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
luzpaz
e14e850e10
fix: typos in src/ and subdirectories ( #11727 )
...
Found via codespell
2025-09-17 13:37:44 +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
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
bdd3bb946e
refact: restore terminals ( #12334 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-07-18 11:51: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
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
b2cc9eac23
set rgba_data.valid to false when open a new single display on the old session ( #11078 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-03-10 21:12: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
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
f08cb0412d
fix: windows, dll, pre-loading attack ( #10608 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-01-26 19:39:38 +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
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
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
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
fufesou
2e81bcb447
fix: Query online, remove loop retry ( #9326 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-09-11 17:17:32 +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
f300d797e2
Fix/ios query onlines ( #9134 )
...
* fix: ios query onlines
Signed-off-by: fufesou <linlong1266@gmail.com >
* comments
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-21 18:21:25 +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
541d9c6b86
feat: clipboard, multi formats ( #8733 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-07-28 17:26:54 +08:00
dignow
f7e9057a39
fix: video service, do not skip refresh message ( #8815 )
...
Signed-off-by: dignow <linlong1265@gmail.com >
2024-07-24 21:59:25 +08:00
dignow
d73e0e1e5a
fix: video service ( #8812 )
...
1. Unset refresh flag if just refreshed.
2. Reduce the scope of the lock.
Signed-off-by: dignow <linlong1265@gmail.com >
2024-07-24 18:41:52 +08:00
dignow
39dbd89287
fix: siwtching display, clear last old image ( #8810 )
...
* fix: siwtching display, clear last old image
1. Clear last old image.
2. Try refresh after switching display.
3. Add an interval check before refresh video service.
Signed-off-by: dignow <linlong1265@gmail.com >
* simple changes
Signed-off-by: dignow <linlong1265@gmail.com >
---------
Signed-off-by: dignow <linlong1265@gmail.com >
2024-07-24 17:35:06 +08:00
21pages
57d1b1ecc4
fix nextRgba not called when switching to texture render ( #8792 )
...
Because rgba buffer render doesn't support multi display, when switch to
multi display, it is possible that rgba.valid has been set to valid but
nextRgab is not called, when switching back to single display,
rgba.valid is still true.
Fix by rgba buffer, rgba texture and gpu texture using different messages.
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-07-24 12:06:16 +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
fufesou
86ff768241
clear unwrap ( #8605 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-07-04 20:18:53 +08:00
fufesou
c5d3c7f390
Feat/android more actions ( #8496 )
...
* feat: android volume and power actions
Signed-off-by: fufesou <linlong1266@gmail.com >
* Add translations and refact action menus
Signed-off-by: fufesou <linlong1266@gmail.com >
* Remove divider
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: recover deleted translations
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-06-27 13:28:05 +08:00
fufesou
92dd0ee1dd
fix: non texture, multi window, switch display ( #8353 )
...
* fix: non texture, multi window, switch display
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix build
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-06-14 17:55:03 +08:00
fufesou
12f7fc3d33
fix: push rgba only on desktop ( #8348 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-06-13 23:22:03 +08:00
fufesou
bc875a35b0
Refact/multi window soft rendering ( #8343 )
...
* refact: multi_window_soft_rendering
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: window pos, potential wait for image
Signed-off-by: fufesou <linlong1266@gmail.com >
* comments
Signed-off-by: fufesou <linlong1266@gmail.com >
* remove debug print
Signed-off-by: fufesou <linlong1266@gmail.com >
* explicitly set rgba_data.size_got to false after init
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: multi window, merge images, render with texture
Signed-off-by: fufesou <linlong1266@gmail.com >
* revert, flutter.rs, rgba valid
Signed-off-by: fufesou <linlong1266@gmail.com >
* Add displays index before sending capture msg
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: multi window, soft rendering
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: build
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-06-13 18:03:41 +08:00
21pages
8919ea65e3
fix, mac hwcodec decoding align use dst_align ( #8215 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-05-30 23:40:25 +08:00
fufesou
72ec86b58d
refact: texture render as an option ( #8168 )
...
* refact: texture render as an option
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: texture render, translation
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: texture render as option
Signed-off-by: fufesou <linlong1266@gmail.com >
* Update ui_interface.rs
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2024-05-28 16:42:30 +08:00
fufesou
0500bf070e
refact: android audio input, voice call ( #8037 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-05-14 09:20:27 +08:00
fufesou
d851bf8b69
fix: move tab to new window, black screen ( #8016 )
...
* fix: move tab to new window, black screen
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* fix: can remove
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-05-11 08:54:17 +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
whosehang
66d1af63b0
chore: fix some typos in comments ( #7814 )
...
Signed-off-by: whosehang <whosehang@outlook.com >
2024-04-24 14:16:19 +08:00
writegr
9b2ec62be9
chore: fix some typos in comments ( #7752 )
...
Signed-off-by: writegr <wellweek@outlook.com >
2024-04-18 14:39:38 +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