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
92eb137178
feat(terminal): use platform-native copy and paste shortcuts ( #15931 )
2026-08-21 21:20:39 +08:00
fufesou
0a4b431ea2
fix: correct terminal mouse selection and scroll coordinates ( #15915 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-08-20 13:10:45 +08:00
RustDesk and Claude Fable 5
ff07ff7f13
fix(terminal): send SGR mouse wheel reports with the button codes app… ( #15817 )
...
* fix(terminal): send SGR mouse wheel reports with the button codes apps expect
xterm.dart 4.0.0 encodes the wheel buttons as 64+4..64+7 rather than
64+0..64+3, so the low bits land on the modifier field and every wheel
report the terminal emits reads as wheel-with-Shift. Strict full-screen
applications reject the modified event, which is why neither the mouse
wheel nor the trackpad scrolls anything once the peer application takes
over the alternate screen.
Install a mouse handler that keeps every upstream reporting decision and
only re-encodes the wheel buttons as 64..67. Non-wheel reports pass
through untouched, and the emitted bytes stay identical once upstream
ships the same fix, so this can be dropped without a behavior change.
Upstream: TerminalStudio/xterm.dart#238
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
* fix(terminal): correct the wheel report row, drop the wasted report build
Address review feedback on the wheel button fix:
- The X10/utf row was encoded as `32 + y + 1` while y is already 1-based, so
every normal-mode report pointed one row too low and the `y > limit` guard
disagreed with what it emitted.
- Gate the wheel path on `mouseMode.reportScroll` and the button state instead
of building and discarding a full report string from `defaultMouseHandler`
on every scroll tick. This also makes the hardcoded SGR 'M' provably right,
since a wheel release now returns before the report is built.
- Derive the wire code as `id - 4` and drop `_wheelButtonId`, whose `default`
branch was unreachable and defeated enum exhaustiveness.
- Assign `mouseHandler` after construction so the `Terminal(...)` line stays
untouched.
Cover the utf, urxvt, null-byte overflow and click-only branches, and assert
that TerminalModel actually installs the handler.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-11 13:54:57 +08:00
57456f0b52
feat(terminal): add Ctrl and Alt toggles to mobile terminal keyboard ( #15532 )
...
* feat(terminal): add Ctrl toggle and Ctrl+X shortcut keys to mobile terminal floating keyboard
Signed-off-by: dongrencd <dongrencd@users.noreply.github.com >
* refactor(terminal): restructure keyboard layout with collapse button
- Move | from Row1 position 3 to Row1 end (aligned with collapse button)
- Remove ~ from Row2, add collapse button (∨/∧) after PgDn
- Row3: conditional render, add ~ and -, remove trailing placeholders
- Collapse state persisted via kOptionEnableShowTerminalCtrlKeys
- Row3 defaults to collapsed for compact layout
Signed-off-by: dongrencd <dongrencd@users.noreply.github.com >
* fix(terminal): restore trailing placeholders in Row3 for alignment
Row3 needs trailing placeholders to match Row1/Row2 width (348px)
so Ctrl aligns with Tab in Row2 and Esc in Row1.
Signed-off-by: dongrencd <dongrencd@users.noreply.github.com >
* fix(terminal): update mobile keyboard layout per review
Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com >
* fix(terminal): address mobile keyboard review regressions
Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com >
* fix(terminal): preserve ctrl-j newline mapping on mobile
Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com >
* fix(terminal): preserve pasted input with modifiers
Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com >
* fix(terminal): harden mobile modifier and paste input
Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com >
* fix(terminal): harden mobile paste shortcut handling
Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com >
* fix(terminal): preserve unicode graphemes under ctrl
* fix(terminal): avoid modifier scan for inactive locks
* fix(terminal): keep default hardware paste shortcuts
* fix(terminal): guard hardware paste with modifier locks
* fix(terminal): update mobile key button color role
---------
Signed-off-by: dongrencd <dongrencd@users.noreply.github.com >
Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com >
Co-authored-by: dongrencd <dongrencd@users.noreply.github.com >
Co-authored-by: dong.ren.cd <dong.ren.cd@tcl.com >
2026-07-25 22:33:16 +08:00
RustDesk
f4a0535289
autocomplete online ( #15313 )
...
* autocomplete online
* review fix
* review fix
* remove literalInput
2026-06-17 22:04:34 +08:00
Amirhosein Akhlaghpoor and fufesou
c8ba99d1a1
flutter: shift after one shot IME capitalization ( #14695 )
...
* flutter: shift after one shot IME capitalization
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com >
* flutter: clarify stale mobile shift handling
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com >
* fix(android): gboard shift stuck
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(android): gboard shift stuck, remove unused param
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(android): gboard shift stuck, release shift before sending events
Signed-off-by: fufesou <linlong1266@gmail.com >
* chore(flutter): document stale mobile shift release flow
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com >
---------
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com >
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: fufesou <linlong1266@gmail.com >
2026-04-26 22:44:26 +08:00
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
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
NicKoehler
ec4a95f906
replaced buttons with switches
2023-05-18 11:41:16 +02:00
csf
c6269b54af
add requestChatInputFocus()
2023-02-02 21:39:25 +09:00
csf
c100505fa1
desktop cm chat feat: disable auto jumpTo other page when current hasFocus & add unread message mark on tab
2022-10-26 23:50:36 +09:00
csf
afa94d5907
add test mode, update cm_test
2022-10-20 23:07:11 +09:00
rustdesk
e0d759c3bb
remove menu from desktop home page
2022-09-19 18:38:19 +08:00
csf
e9d94fdb24
mv lib/cm_main.dart to test/cm_test.dart
2022-09-13 22:59:28 +08:00
rustdesk
6de0fa781c
for merge
2022-05-12 16:50:30 +08:00