36 Commits
Author SHA1 Message Date
Kang 9c14602b27 feat(web): add web API inventory and compatibility audit documentation for enhanced command coverage and interface tracking 2026-10-04 14:08:59 +08:00
Kang 28c7115504 fix(vnc): guard server trust and route verification to owner windows
Persist server keys only after authenticated RA2 and RFB initialization, guarded against cancellation and stale generations. Preserve owner routing through creation, restoration, and reconnect, and clear resolved verification prompts.

Keep the compatible RSA range, honor the configured 8192-bit maximum, support both documented and TigerVNC random lengths, and add protocol, storage, and frontend regressions.
2026-10-01 17:28:31 +08:00
victorwon2001 64d592cf41 fix(vnc): support RA2_256 Raspberry Pi connections 2026-10-01 15:28:38 +08:00
Kang 1ef75d1bbb feat(env): implement Windows environment variable handling (#821)
- Added support for reading and expanding Windows environment variables from the registry.
- Introduced `RegistryEnvValue` struct to manage registry values and their expandability.
- Implemented `reg_value_to_env` and `expand_environment_value` functions for converting registry values to environment variables and expanding them recursively.
- Enhanced `merge_windows_env` function to merge system and user environment variables, ensuring proper handling of expandable values.
- Updated the environment retrieval logic to utilize the new functions, improving compatibility with Windows environment management.
2026-09-29 18:57:35 +08:00
Kang e6699580d4 feat(zmodem): enhance ZMODEM upload command handling and add tests for control escaping (#740, #803)
- Refactored `buildZmodemReceiveCommand` to include control escaping options for overwrite and skip modes.
- Introduced new tests for `buildZmodemReceiveCommand` to validate command generation.
- Updated ZMODEM header and transmission logic to support control escaping, ensuring proper handling of control characters during transmission.
- Added tests to verify control escaping functionality in the ZMODEM protocol.
2026-09-27 18:32:30 +08:00
Kang 2ce1972ea3 fix(connection): change attribute from expect to allow for single use lifetimes
- Updated the `create_gcc_blocks` function to change the attribute from `#[expect(single_use_lifetimes)]` to `#[allow(single_use_lifetimes)]`, addressing stability concerns with anonymous lifetimes in `impl Trait`.
2026-09-26 11:14:21 +08:00
Kang 31d1c51edb feat(conpty): integrate bundled ConPTY support and verification (#488)
- Added scripts to prepare and verify the Microsoft ConPTY package for Windows.
- Updated build workflows to include checks for bundled ConPTY in installers.
- Enhanced application support info to display ConPTY status and version.
- Modified the portable updater to handle ConPTY files during updates.
- Updated documentation to reflect changes in ConPTY usage and requirements.
- Introduced tests for ConPTY backend functionality to ensure reliability.
2026-09-26 08:53:48 +08:00
Kang d48a0f8ba4 feat(pane-focus): implement pane focus mode and native fullscreen functionality
- Added state management for pane focus mode and native fullscreen in the App component.
- Introduced keyboard shortcuts to toggle pane focus and native fullscreen.
- Updated the AppLayout and PaneWorkspace components to support the new focus mode, ensuring inactive panes remain mounted but hidden.
- Enhanced the file transfer context to handle RDP events, allowing users to paste files after RDP transfers.
- Added translations for new clipboard options and updated relevant UI components to reflect these changes.
- Improved test coverage for pane focus behavior in the PaneWorkspace component.
2026-09-23 08:59:30 +08:00
Kang 527cbbb80a chore: remove ironrdp-client and ironrdp-connector dependencies
- Deleted the entire `ironrdp-client` and `ironrdp-connector` directories, including all associated files such as Cargo.toml, Cargo.lock, and source code.
- This cleanup removes unused components from the project, streamlining the codebase.
2026-09-23 08:56:01 +08:00
victorwon2001 a2e10d030f fix(sftp): 区分目录上传可恢复与致命错误 2026-09-09 11:29:27 +09:00
Kang ccf69d826e feat(file-explorer): add symlink target management in PropertiesDialog
- Enhanced the PropertiesDialog component to support editing symlink targets for remote files.
- Introduced a new state for symlink targets and updated the UI to include an input field for this attribute.
- Implemented validation to ensure symlink targets are provided when editing symlink properties.
- Updated the backend to handle symlink target updates, including new commands for remote symlink management.
- Adjusted file properties handling to include symlink target information in both local and remote contexts.
2026-08-29 10:54:11 +08:00
Kang 4adc4a01b2 feat(network): integrate proxy and jump host selection in session forms (#480)
- Added a new `SessionNetworkSection` component to handle proxy and jump host configurations for RDP, SSH, and VNC session forms.
- Updated `RdpForm`, `SshForm`, and `VncForm` to include the new network section, allowing users to select proxies and jump hosts.
- Enhanced the `NewSessionPage` to support network configurations across different session types.
- Modified related tests to ensure proper functionality of the new network selection features.
2026-08-23 18:00:03 +08:00
Kang 60d993f8ec feat(rdp): enhance error classification and logging for RDP connections
- Added detailed logging for RDP TLS backend selection, improving traceability during connection setup.
- Refactored error classification functions to better categorize TLS and certificate-related errors, enhancing error handling.
- Introduced new utility functions to identify TLS errors and Nyaterm certificate rejections, streamlining error management.
- Added unit tests to validate the behavior of the new error classification logic and ensure robustness in handling various error scenarios.
2026-08-23 17:08:35 +08:00
Kang 94bd7c8758 feat(webview2): update WebView2 SDK and enhance Windows 7 compatibility
- Updated the WebView2 SDK version to 1.0.1020.30 and adjusted related SHA256 checksums for improved compatibility with Windows 7.
- Added a new function to install the legacy WebView2 loader, ensuring proper handling of loader replacements and validation.
- Enhanced the CI workflow to include steps for enabling Win7-only Cargo patches and verifying the availability of 7-Zip, streamlining the build process for Windows 7 compatibility.
- Introduced a new documentation file to record Windows 7 compatibility vendor patches, detailing necessary adjustments for specific dependencies.
2026-08-19 21:08:38 +08:00
Kang 44129a3924 feat(zmodem): enhance upload error handling and conflict resolution
- Introduced a new function `getUploadFailureDescription` to provide user-friendly error messages for upload failures.
- Updated `failPendingZmodemUpload` to accept an options parameter for UI handling, improving error management.
- Implemented `isZmodemUploadErrorHandled` to check if upload errors have been addressed in the UI.
- Enhanced the `handleTerminalFileDrop` function to conditionally display error messages based on upload error handling.
- Added tests for Zmodem upload behavior, including handling of skipped files and overwrite conflicts.
2026-08-18 11:22:40 +08:00
litcc 6ecc011b57 Merge remote-tracking branch 'upstream/main' into feat/agent-forward-config
# Conflicts:
#	src-tauri/src/cmd/connection.rs
#	src-tauri/src/config/connection.rs
#	src-tauri/src/config/mod.rs
2026-08-13 17:44:08 +08:00
Kang 72fc2486bb feat(VNC): enhance clipboard functionality and improve rendering logic
- Added clipboard support in VNC sessions, allowing remote clipboard events to be written to the local clipboard when enabled.
- Implemented polling for local clipboard changes to send updates to the VNC server, ensuring synchronization between local and remote clipboard contents.
- Updated rendering logic in RemoteDesktopSurface to handle multiple frame patches efficiently using batch drawing.
- Enhanced tests for VNC clipboard functionality and rendering to ensure reliability and performance.
- Refactored related components to accommodate new clipboard features and improve code organization.
2026-08-13 12:20:38 +08:00
Kang df9f364bd4 feat(RemoteDesktop): implement VNC support and enhance RDP functionality
- Added VNC session handling with a new VncForm component for user input.
- Integrated VNC connection settings, including host, port, and password management.
- Enhanced RDP functionality with improved rendering and input handling.
- Introduced RemoteDesktopSurface for optimized frame rendering using WebGL and Canvas2D.
- Added tests for VNC and Remote Desktop components to ensure reliability and performance.
2026-08-13 10:29:17 +08:00
Kang 9e745dd0fc refactor: clean up code and improve compatibility
- Added conditional compilation for Unix environments in the SSH agent module.
- Removed an unused warning comment in the ironrdp-connector.
- Simplified import statements in the picky signature module.
- Streamlined the build script for zmodem2 by removing unnecessary warning messages.
2026-08-12 22:51:50 +08:00
Kang ce9ee89df8 fix(rdp): preserve UPN usernames for authentication (#416) 2026-08-12 13:49:09 +08:00
Kang c16b829615 feat(rdp): enhance RDP resizing and dynamic behavior
- Introduced a new function to determine when to disable dynamic resizing based on connection state, improving responsiveness during reconnects and failures.
- Updated the RdpPaneHost component to utilize the new resizing logic, ensuring better handling of window resizing events.
- Added tests for the resizing logic to validate behavior under various conditions, including initial resize and dynamic disablement scenarios.
- Refactored canvas point calculations to improve accuracy in rendering.
2026-08-12 13:13:25 +08:00
Kang 0b65c1ed6a feat(rdp): add RDP certificate verification dialog and related functionality
- Introduced a new `RdpCertificateVerifyDialog` component to handle RDP certificate verification requests.
- Updated the `App` component to manage RDP certificate requests and integrate the new dialog.
- Enhanced the `AppLayout` to include the RDP certificate verification dialog in the modal structure.
- Implemented state management for RDP display settings and integrated RDP session handling in the application.
- Added utility functions for RDP display management and clipboard handling, improving overall RDP session experience.
- Updated localization strings to support new RDP features and settings.
2026-08-10 14:54:01 +08:00
Kang b740d2d934 feat(rdp): implement RDP session support and enhance workspace integration (#204)
- Added RDP session handling with new components for RDP pane management, including `RdpPaneHost` and `RdpForm`.
- Updated session type handling to include RDP, allowing users to create and manage RDP sessions alongside existing terminal types.
- Enhanced workspace functionality to support RDP sessions, ensuring seamless integration with existing terminal workflows.
- Introduced new utility functions for RDP frame handling and input mapping, improving performance and user experience during remote sessions.
- Added tests for RDP frame and input functionalities to ensure reliability and correctness.
2026-08-10 13:09:47 +08:00
Kang bd8e0f75c4 feat(sftp): enhance directory download pipeline and file transfer handling (#351)
- Added a new function to calculate the effective pipeline depth for SFTP directory downloads, considering session pool size and maximum open handles.
- Updated the download directory worker logic to utilize the new pipeline depth calculation for improved concurrency management.
- Implemented a new async function to handle the closure of remote files, ensuring proper error handling and resource management.
- Enhanced existing file transfer functions to ensure they respect the new pipeline depth and handle shutdowns correctly.
- Added comprehensive tests to validate the new pipeline depth logic and file transfer behaviors.
2026-08-04 14:24:56 +08:00
Kang 20c1db67de refactor(sftp): enhance SFTP upload handling and introduce cancellation support (#290)
- Updated SFTP upload functions to utilize a new `wait_for_sftp_upload_io` helper for improved error handling and cancellation support.
- Adjusted concurrency settings for small file transfers to optimize performance.
- Introduced a `wait_for_transfer_cancelled` function to monitor and handle transfer cancellation events.
- Refactored the `PendingRequest` structure to manage timeouts and clean up pending requests effectively.
- Improved error handling in the SFTP client to ensure proper cleanup of pending requests on failure.
2026-07-23 00:54:24 +08:00
Kang a48789828d feat(zmodem): add preserve timestamps option for uploads (#305)
- Enhanced the ZMODEM upload functionality to include a `preserve_timestamps` option, allowing users to maintain original file timestamps during uploads.
- Updated related structures and functions across the ZMODEM transfer process to accommodate the new metadata handling.
- Added tests to verify the correct behavior of timestamp preservation in various scenarios.
2026-07-20 20:14:28 +08:00
Kang 8668896eae feat(terminal): add SSH keep-alive mode settings and functionality (#252)
- Introduced a new setting for SSH keep-alive mode in the TerminalTab component, allowing users to select between "compatible", "strict", and "disabled" modes.
- Updated the application state to include the keep-alive mode and its default value.
- Enhanced the SSH client configuration to apply keep-alive settings based on the selected mode, improving connection stability.
- Added tests to ensure correct behavior of keep-alive settings and their impact on SSH connection management.
2026-07-19 19:19:43 +08:00
Kang 03b76c44dc feat(zmodem): enhance file upload conflict handling and user prompts (#270)
- Introduced a new conflict mode for Zmodem uploads, allowing users to choose between "overwrite" and "skip" options when handling duplicate files.
- Updated the `TransferDuplicateDialog` to display different titles and descriptions based on the verification status of the upload request.
- Enhanced the backend logic to support conflict mode during file uploads, ensuring proper handling of user choices.
- Added new functions to resolve unverified uploads and manage conflict modes effectively.
2026-07-17 17:31:17 +08:00
Kang 0a276cd26b feat(file-explorer): add rawPathToken support across dialogs and file operations
- Enhanced DeleteDialog, MoveDialog, and PropertiesDialog to include rawPathToken in their respective data structures and operations.
- Updated FileExplorer to handle rawPathToken for directory loading and file operations.
- Introduced rawPathToken in the FileEntry type and adjusted related SFTP commands to support this new field.
- Added filename encoding settings in various session forms and updated translations for encoding settings in English, Korean, and Chinese locales.
2026-07-17 13:49:31 +08:00
zsc 0c7d0e89db fixed(gbk): Resolved the issue of terminal encoding not supporting GBK 2026-07-14 22:58:45 +08:00
Kang 275c93592a chore(zmodem): add crc32fast dependency for improved data integrity
- Added `crc32fast` as a dependency in the `zmodem2` package to enhance data integrity checks during transfers.
- Updated `Cargo.lock` files to reflect the new dependency and its versioning.
2026-07-07 17:16:51 +08:00
Kang bca21e317c perf(zmodem): implement upload and download drain mechanisms (#234)
- Introduced `ZmodemUploadDrain` and `ZmodemDownloadOoDrain` to manage residual byte suppression during Zmodem transfers.
- Updated the SSH I/O loop and Telnet session task to utilize the new drain mechanisms for improved data handling.
- Enhanced Zmodem transfer logic to track upload and download states, ensuring efficient data processing and user feedback.
- Added tests for the new drain functionalities to validate their behavior and performance.
2026-07-07 17:16:38 +08:00
Kang 88a24c4237 fix(russh): improve name list parsing to handle trailing commas and reject invalid entries (#217)
- Enhanced the `NameList` struct to accept trailing commas in encoded strings, allowing for cleaner input handling.
- Added tests to verify acceptance of trailing commas and rejection of invalid entries, including leading, middle, and double commas, as well as non-ASCII names.
- Updated existing tests for clarity and specificity in naming.
2026-07-04 18:08:38 +08:00
Kang 496b992b56 chore(russh): update russh dependency and add vendor files
- Bumped `russh` version to `0.62.1` in `Cargo.lock` and updated dependencies including `rand`, `sha2`, and `thiserror`.
- Changed the path for `russh` in `Cargo.toml` to point to the vendor directory.
- Added new vendor files for `russh`, including `README.md`, `LICENSE.txt`, and various configuration files.
- Introduced a new `CryptoVec` struct for secure memory handling in the `cryptovec` module, enhancing security for cryptographic operations.
2026-07-04 17:29:12 +08:00
Kang fd155e5631 chore(russh-sftp): integrate russh-sftp as a vendor dependency
- Moved `russh-sftp` to the vendor directory and updated its path in `Cargo.toml`.
- Added new files for `russh-sftp`, including its `Cargo.toml`, `.gitignore`, and various source files for serialization, deserialization, and error handling.
- Implemented a basic structure for the SFTP client and server functionalities, enhancing the overall SSH file transfer capabilities.
- Introduced error handling and utility functions to support the new SFTP features.
2026-07-04 14:25:41 +08:00
shideqin 46db1104eb feat(file-explorer): enhance file transfer and dialog functionality
- Added a new TransferDuplicateDialog component to handle duplicate transfer requests.
- Implemented backend support for transfer duplicate prompts in the App component.
- Updated DeleteDialog to use AlertDialog components for improved user experience.
- Enhanced FileTransfer component with selection and deletion capabilities for transfers.
- Introduced ExternalFileDropOverlay for better file drop handling in the FileExplorerView.
- Improved terminal file drop handling and added support for Zmodem upload notifications.
2026-06-14 21:58:45 +08:00