rustdesk/flutter/lib
fufesou 34ceeac36e
fix(terminal): fix tabKey parsing for peerIds containing underscores (#14354)
Terminal tab keys use the format "peerId_terminalId". The previous code
used split('_')[0] or startsWith('$peerId_') to extract the peerId,
which breaks when the peerId itself contains underscores.

This can happen in two scenarios:
- Hostname-based ID: when OPTION_ALLOW_HOSTNAME_AS_ID is enabled, the
  peerId is derived from the system hostname, which commonly contains
  underscores (e.g. "my_dev_machine").
- Custom ID: the validation regex ^[a-zA-Z][\w-]{5,15}$ allows
  underscores since \w matches [a-zA-Z0-9_], so IDs like "my_dev_01"
  are valid.

Fix all three parsing sites in terminal_tab_page.dart to use
lastIndexOf('_'), which is safe because terminalId is always a plain
integer with no underscores.
2026-02-19 23:45:06 +08:00
..
common fix(translation): OIDC, Continue with (#14271) 2026-02-06 14:18:48 +08:00
desktop fix(terminal): fix tabKey parsing for peerIds containing underscores (#14354) 2026-02-19 23:45:06 +08:00
mobile fix(ios): Add defensive timer cancellation for keyboard visibility (#14301) 2026-02-09 15:54:22 +08:00
models fix(mobile): account for safe area padding in canvas size calculation (#14285) 2026-02-15 14:52:27 +08:00
native fix: web, reset cursor on disconn, back to main page (#9192) 2024-08-27 23:58:04 +08:00
plugin refact: optimize, ID search peers (#10853) 2025-02-20 18:31:12 +08:00
utils feat: Add relative mouse mode (#13928) 2026-01-09 10:03:14 +08:00
web feat: Add relative mouse mode (#13928) 2026-01-09 10:03:14 +08:00
common.dart Fix non-link text color in dialogs with links for dark theme (#14220) 2026-02-01 12:18:07 +08:00
consts.dart keep-awake-during-incoming-sessions (#14082) 2026-01-21 16:25:57 +08:00
main.dart feat: advanced option, main window, always on top (#12731) 2025-08-26 00:15:55 +08:00