Commit Graph
74 Commits
Author SHA1 Message Date
4234b99029 WebClient: 3.44 webcodecs offline (#15722)
* feat(web): zero-readback WebCodecs video path

Decoded VideoFrames from js/src/webcodecs.js are handed to Flutter via
window.onVideoFrame and imported GPU-side with createImageFromTextureSource;
any failure unregisters the hook so the JS side falls back to RGBA readback.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(web): load bundled terminal font when Google CDNs are unreachable

In air-gapped deployments GoogleFonts.robotoMono() cannot download the
terminal font; when index.html signals offline mode, load the copy bundled
with the web app under the family name google_fonts registers.

Part of the fix for rustdesk/rustdesk-server-pro#996.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci: bump windows arm64 to Flutter 3.44.8, add web build patch script

apply_flutter_3.44_web_patches.sh prepares a 3.44.x web build on top of the
shared source patches: qr_code_scanner's web impl needs dart:ui_web for the
removed platformViewRegistry, and flutter/web/fonts is refreshed to the font
paths the 3.44 engine requests. The disabled build-rustdesk-web job runs it
automatically once FLUTTER_VERSION moves to 3.44.x, and version-guarded
'Patch flutter' steps no longer fail when the guard does not match.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(web): prevent stale WebCodecs frames across sessions

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

* fix(web): harden WebCodecs reconnect and Flutter 3.44 patches

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

* fix(ci): harden Flutter 3.44 patch input validation

Validate required files before checking patch state,
parameterize the theme-range validator, and prevent
missing inputs from satisfying NO_MATCHES checks.

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

* Remove unused code

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

* fix(web): retry font loading and dispose stale decoded images

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

* remove unused code

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

* fix(web): Bad state: RenderBox was not laid out

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: fufesou <linlong1266@gmail.com>
2026-08-07 15:20:57 +08:00
RustDeskandClaude Fable 5 006b9737e4 fix(linux): load librustdesk.so relative to the executable (#15719)
* fix(linux): load librustdesk.so relative to the executable

The runner and the Dart FFI init loaded the core library by bare name,
relying on the runner's $ORIGIN/lib RPATH. Repackaged installs (CachyOS
repo, AUR) can lose that RPATH, making the app fail to start with
"Failed to load librustdesk.so" unless users add the lib directory to
ld.so.conf. Resolve lib/librustdesk.so next to the executable first,
then fall back to the loader search path.

https://github.com/rustdesk/rustdesk/discussions/14407

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(linux): harden bundled librustdesk.so resolution

Address review: bail out when readlink() may have truncated the
executable path, and widen the Dart try block so any failure probing
the bundled library falls back to the loader search path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 16:40:27 +08:00
fufesou 0b9d7925b5 fix: ios, file transfer, home dir (#12657)
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-15 00:00:05 +08:00
fufesou f4bbf82363 feat: remote printer (#11231)
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-03-27 15:34:27 +08:00
fufesou 83aba804d0 fix: web fullscreen (#9577)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-10-07 00:01:14 +08:00
fufesou 901505e8be fix: macos, load multi dylib instances (#8731)
Multiple dylib instances will cause some global instances to be invalid.

eg. lazy_static objects in rust side, will be created more than once.

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-17 11:49:11 +08:00
rustdesk f2a612c3d9 add voice_call start_pa 2024-06-17 10:57:25 +08:00
rustdesk ed0cba281f start dbus only for main 2024-06-16 23:59:09 +08:00
rustdesk 2e0eaed322 call _ffiBind.mainStartPa only for --cm 2024-06-16 23:51:00 +08:00
fufesou b387bc1038 fix: linux, check load dylib in main.cc (#7901)
* fix: linux, check load dylib in main.cc

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Better error message

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact error message

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Better error message

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* check if "libnsl.so.1" is required, mainly for AppImage and yum

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-04 14:07:29 +08:00
fufesou c619bfc05c fix: flutter, process hangup on loading dylib failed (#7898)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-03 22:58:49 +08:00
rustdesk 25eb8dc9b0 typo 2024-04-19 14:35:50 +08:00
rustdesk 1ffc10e44f flutter 19.6 2024-04-19 13:25:02 +08:00
rustdesk 01ec539065 load android custom client for jvm startServer 2024-04-16 21:46:54 +08:00
rustdesk a6c1d2d486 customClientConfig in dart 2024-04-16 18:42:35 +08:00
fufesou 8dff263a0c Refact. Flutter web, mid commit (#7502)
* Refact. Flutter web, mid commit

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Refact. Flutter web, mid commit

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-25 10:47:53 +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
fufesou 96792bec78 Refact. Qs, do not check qs on startup. (#7272)
Process will not exit if early return on the flutter side.

core_main.rs has checked qs already.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-27 17:29:12 +08:00
fufesou e6953c8883 Feat. Quick support, ui (#7267)
* Feat. QS ui

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Remove 'Quick support'

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* add help card

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* use addPostFrameCallback to get child size

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Fix. qs, set home window size

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Qs, set setResizable for settings page

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Qs, help cards margin bottom

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Qs, online status, padding

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Qs, online status, padding

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Qs, online status, use margin instead of padding

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Qs, fix, start cm window

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-27 17:02:10 +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 f11104fcb5 tmp commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:39 +08:00
rustdesk c2703d215b bump flutter to 3.13.9 and bridge to 1.79 2023-10-31 21:10:23 +08:00
dignow 013d307bcd feat, multi_flutter_ui_sessions
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:24 +08:00
21pages b2a4f11e0b enable group, show accessible users and peers
Signed-off-by: 21pages <pages21@163.com>
2023-09-18 13:44:41 +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
dignow 7dcb28ce33 fix, separate window, event stream leak
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-07 09:01:31 +08:00
dignow 32c349dd8b tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-07-09 02:06:24 +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 7a82070420 fix: make event loop in tray compatible with main window 2023-05-02 12:52:27 +08:00
fufesou 7caafd563e cm, better position to start ipc
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-03-13 13:46:44 +08:00
csf f26088765e 1. sync from flutter and pass app_dir from MainService.kt to backend server when app start on boot.
2. add start_service when start on boot.
2023-03-01 00:05:06 +09:00
Kingtous d3455f3ce2 feat: adapt for the latest renderer plugin 2023-02-23 17:06:48 +08:00
Kingtous d2e24173d0 opt: read uint8list directly from rust codes 2023-02-12 23:48:52 +08:00
Kingtous 01d30bce9e opt: reduce copy and malloc times for both of flutter and rust 2023-02-12 08:08:44 +08:00
Kingtous 3b34e2ea45 feat: run local audio server at start 2023-02-07 16:20:37 +08:00
Kingtous 1426771ec9 fix: uni links failed to be invoked with --cm running on macOS 2023-02-07 01:31:23 +08:00
Kingtous 4dfae8da10 feat: add url scheme handler for macos 2023-02-04 11:23:48 +08:00
Kingtous d3d4c7dac4 opt: enable debug stacktrace output & add json serde check 2022-12-09 10:49:47 +08:00
fufesou 387a7f2df4 ios get data dir
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-12-01 21:48:19 +08:00
Kingtous 85529105be fix: sdkInt fallback to 0 2022-11-30 13:57:46 +08:00
Kingtous c6e658e256 opt: fix win7 crash on latest device_info_plus 2022-11-30 13:56:22 +08:00
fufesou 767950d429 remove unneccessary ??
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-11-30 10:43:15 +08:00
Kingtous 8a4f8e202d opt: ui & cursor
- opt: win7 frameless
- opt: disable cursor output & macos free cache
- opt: main window, set location before show/hide
2022-11-29 23:03:16 +08:00
kingtous 4a3dd3a5af opt: relative macos dylib 2022-11-22 23:03:12 +08:00
Kingtous 8b15174ca6 update: deps
wip: add arm,arm64 triplet

opt: macos nightly ci
2022-11-22 23:03:12 +08:00
Kingtous 220d056760 feat: implement tray in linux 2022-11-04 19:21:09 +08:00
Kingtous 3d7736836f feat: add dbus and cli connect support 2022-10-11 23:22:57 +08:00
21pages ae8d97eb72 deal with flutter SYSTEM user
Signed-off-by: 21pages <pages21@163.com>
2022-09-29 09:13:19 +08:00
Kingtous 402e1c587c fix: cm stuck at boot up, revert to flutter 3.0.5 2022-09-16 17:46:44 +08:00