Skip to content

Release 0.1.35 — breadcrumb path jump, UTF-8 terminal input fix#60

Merged
thangnm93 merged 3 commits into
masterfrom
develop
Jun 11, 2026
Merged

Release 0.1.35 — breadcrumb path jump, UTF-8 terminal input fix#60
thangnm93 merged 3 commits into
masterfrom
develop

Conversation

@thangnm93

Copy link
Copy Markdown
Collaborator

Release 0.1.35. Two changes on top of 0.1.34.

Added

  • Breadcrumb path jump — inline path editor on the shared PathBreadcrumb: edit affordance opens a text field seeded with the current path; Enter navigates, Escape cancels. Wired into both the remote SFTP panel and the local file panel; remote-typed paths normalized to absolute POSIX.

Fixed

  • Non-ASCII terminal input — typed input was sent via truncated UTF-16 code units, corrupting characters above U+00FF (e.g. Vietnamese "ế" became a single garbage byte). Now UTF-8 encoded at every user-text write site (keystroke/IME, terminal.input hook, startup command, snippet insert). Regression test added.

Verification

  • flutter analyze — clean
  • flutter test test/services/ssh_service_open_shell_test.dart — 14/14 pass (incl. new UTF-8 regression test)

Typed non-ASCII input (e.g. Vietnamese) was written to the SSH shell via
Uint8List.fromList(data.codeUnits), which truncates each UTF-16 code unit
to a single byte — corrupting any character above U+00FF so the server
received garbage. Encode with Utf8Encoder at the user-text write sites
(keystroke/IME, terminal.input hook, initialCommand, sendInput), matching
the local-shell path and the existing payload encoder.
Add an inline path editor to the shared PathBreadcrumb: an edit
affordance opens a text field seeded with the current path; Enter
navigates there, Escape cancels. Wired into both the remote SFTP
panel and the local file panel.

Remote-typed paths are normalized to absolute POSIX with the trailing
slash dropped so derived child paths don't double up.
@thangnm93 thangnm93 merged commit 5c62ec5 into master Jun 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant