rustdesk/flutter
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
..
android fix(android): waiting for image, one cause (#14919) 2026-04-27 22:37:22 +08:00
assets add microsoft oidc logo 2026-04-15 14:39:46 +08:00
ios ios: Enable file sharing and document browser support (#13226) 2025-10-23 15:58:50 +08:00
lib Terminal utf8 and reconnect (#14895) 2026-05-07 13:27:13 +08:00
linux fix(linux): enable mouse side buttons in remote sessions (#14848) 2026-04-25 12:46:05 +08:00
macos feat: Add relative mouse mode (#13928) 2026-01-09 10:03:14 +08:00
test flutter: shift after one shot IME capitalization (#14695) 2026-04-26 22:44:26 +08:00
windows feat: windows, custom client, update (#13687) 2026-02-27 21:50:20 +08:00
.gitattributes for merge 2022-05-12 16:50:30 +08:00
.gitignore Refact. Build flutter web (#7472) 2024-03-22 13:16:37 +08:00
.metadata fix platform 2022-05-23 16:24:56 +08:00
analysis_options.yaml remove menu from desktop home page 2022-09-19 18:38:19 +08:00
build_android.sh Merge remote-tracking branch 'upstream/master' into file-manager-redesign 2023-02-22 23:01:31 +01:00
build_android_deps.sh linux dynamic load libva (#10171) 2024-12-04 17:10:10 +08:00
build_fdroid.sh Fix F-Droid 1.4.6 build (#13601) 2026-03-20 13:45:35 +08:00
build_ios.sh fix some build command 2025-05-11 01:15:29 +08:00
ios_arm64.sh fix some build command 2025-05-11 01:15:29 +08:00
ios_x64.sh build ipa with given profile: https://jtmuller5.medium.com/flutter-build-an-ipa-90520e813a96 2023-04-22 13:21:06 +08:00
ndk_arm.sh enable ffmpeg native h26x software decoders for all platforms (#7750) 2024-04-18 13:12:45 +08:00
ndk_arm64.sh enable ffmpeg native h26x software decoders for all platforms (#7750) 2024-04-18 13:12:45 +08:00
ndk_x64.sh fix: android ci 2022-11-29 01:44:12 +08:00
ndk_x86.sh Fix OpenSSL build with Android NDK clang on x86 (#13684) 2025-12-04 17:54:07 +08:00
pubspec.lock fix: terminal, web, fonts (#12376) 2025-07-22 23:42:05 +08:00
pubspec.yaml flutter: shift after one shot IME capitalization (#14695) 2026-04-26 22:44:26 +08:00
README.md Punctuation correction (#6808) 2024-01-06 11:11:35 +08:00
run.sh https://github.com/rustdesk/rustdesk/pull/7971 2024-06-03 13:40:14 +08:00

flutter_hbb

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples and guidance on mobile development, and a full API reference.