Commit Graph
100 Commits
Author SHA1 Message Date
Kang d5f272748b chore: bump version to v1.1.11 2026-06-30 00:19:20 +08:00
Kang 469d9d7b10 feat(ai): introduce command execution and final answer tools for agent interactions (#195)
- Added support for `execute_command` and `final_answer` tools in the agent's functionality, allowing for structured command execution and response handling.
- Updated the agent system prompts to reflect the new tool usage rules and JSON response formats.
- Implemented deserialization logic for tool arguments and enhanced error handling for tool invocation.
- Refactored agent tool management to streamline the process of executing commands and providing final answers based on user interactions.
2026-06-30 00:10:59 +08:00
Kang 79989f901f chore(i18n): add ProxyCommand translations and enhance proxy search functionality
- Added new translations for ProxyCommand and related placeholders in English and Chinese locales.
- Updated the proxy search functionality to include command in the search criteria for improved usability.
2026-06-29 23:21:34 +08:00
Kang 9c77600b34 feat(proxy): add support for ProxyCommand in proxy configuration
- Introduced a new `command` field in the ProxyForm and ProxyConfig interfaces to handle ProxyCommand functionality.
- Updated the ProxyDialog component to include a Textarea for command input when the protocol is set to "proxycommand".
- Enhanced validation logic to ensure the command is provided when using ProxyCommand.
- Modified the NetworkPanel and SshForm components to display and utilize the command appropriately.
- Implemented backend support for handling ProxyCommand in SSH connections, including command expansion and process management.
2026-06-29 23:21:25 +08:00
Kang f66019f194 style(themes): update GitHub Dark theme colors for improved aesthetics
- Adjusted color values for the GitHub Dark theme, including background, panel, terminal, and hover colors to enhance visual consistency.
- Updated terminal selection and line highlight colors for better integration with the overall theme design.
2026-06-29 20:47:19 +08:00
Kang 872bf492f9 perf(serial): streamline serial session management and improve timeout handling (#184)
- Removed unused `std_mpsc` imports and replaced the reader completion mechanism with a more efficient command-based shutdown approach.
- Reduced the serial port timeout from 100ms to 10ms for improved responsiveness.
- Updated the command loop to utilize blocking reception for better handling of incoming commands, enhancing overall session management.
2026-06-29 20:35:20 +08:00
Kang aa89267032 refactor(ssh-auth): improve code readability and formatting in authentication functions
- Reordered imports in `auth.rs` for better organization.
- Enhanced readability by formatting multi-line expressions and conditions in various authentication functions.
- Ensured consistent error handling and response formatting across authentication methods.
2026-06-29 19:05:54 +08:00
Kang 596b112fcc perf(sftp): implement asynchronous download handling for known file sizes
- Added a new function `download_known_size_to_local_file` to manage downloading files of known sizes using concurrency for improved performance.
- Refactored `sftp_directory_concurrency` to simplify concurrency calculations based on available handles.
- Enhanced error handling and progress tracking during file downloads, ensuring robust transfer management.
- Updated `download_remote_file_inner_with_controller` to utilize the new download function, streamlining the download process.
2026-06-29 15:09:44 +08:00
Kang d4662a5263 style(themes): update color schemes for various themes
- Modified color values for GitHub Dark, Nya High Contrast, Nya High Contrast White, Dracula, Nord, Monokai Pro, and Solarized Light themes to enhance visual consistency and aesthetics.
- Adjusted background, border, and text colors across themes to improve readability and user experience.
- Updated terminal colors and selection backgrounds for better integration with the overall theme design.
2026-06-29 13:09:35 +08:00
Kang f5d7995e84 feat(ssh): enhance shell detection and visibility handling in SSH integration
- Added support for detecting the shell type during SSH session initialization, allowing for better integration with various shell environments.
- Implemented logic to manage suppressed visible output, ensuring that important output is not lost during SSH interactions.
- Updated the injection script for different shell types to include a ready marker, improving the synchronization of shell readiness with the client.
- Enhanced logging to provide more context during SSH shell integration, aiding in debugging and monitoring of shell interactions.
2026-06-29 12:58:37 +08:00
Kang 5bd4007545 feat(terminal): add line offset handling to TerminalGutter and XTerminal components (#70)
- Introduced a new `getLineOffset` prop in the TerminalGutter component to manage line offsets dynamically.
- Updated line timestamp resolution logic to account for the line offset in both TerminalGutter and XTerminal components.
- Enhanced XTerminal to maintain and update the gutter line offset during terminal operations, improving accuracy in line rendering and timestamping.
2026-06-29 01:25:58 +08:00
Kang 06ef9c598f feat(terminal-zoom): enhance zoom functionality with terminal root detection (#179)
- Added a new function to check if the event target is inside the terminal root element.
- Updated the zoom handling logic to prevent zooming when the event is outside the terminal root, improving user experience and preventing unintended zoom actions.
2026-06-29 01:00:25 +08:00
Kang f98626b7fd feat(terminal-layout): implement terminal window layout restoration and settings (#193)
- Added functionality to restore terminal window layout on startup based on user settings.
- Introduced new settings for managing terminal window layout restoration in the GeneralTab component.
- Enhanced state management for terminal windows, including serialization and deserialization of layouts.
- Updated context and types to support the new terminal window layout features.
2026-06-29 00:49:33 +08:00
Kang ac90c209d5 docs(i18n): add command palette localization in English and Chinese
- Introduced new localization strings for the command palette in both English and Chinese locale files.
- Updated titles and quick switch commands to reflect the command palette functionality, enhancing user experience.
- Added descriptions for restoring window layout on startup, improving clarity for users.
2026-06-29 00:49:08 +08:00
Kang 9df5479605 feat(header): add command palette functionality to Header component
- Introduced a new command palette option in the Header component, allowing users to open it via a dedicated action.
- Added a search icon to the icon map for visual representation in the command palette.
- Updated HeaderProps interface to include the new onOpenCommandPalette prop for handling command palette actions.
2026-06-29 00:03:51 +08:00
Kang a3a7724d5e chore(i18n): add SSH authentication messages in English and Chinese locales
- Introduced new localization strings for SSH authentication, including prompts for password handling and key management.
- Updated English and Chinese locale files to enhance user experience during SSH connection setup.
2026-06-28 22:53:07 +08:00
Kang 6122c3d189 feat(ssh-auth): implement SSH authentication dialog and request handling (#168)
- Added SshAuthDialog component for handling SSH authentication requests.
- Integrated SSH authentication state management in App component.
- Updated AppLayout to include SSH authentication dialog.
- Introduced PendingSshAuthManager for managing pending SSH auth requests in Rust backend.
- Enhanced SshForm to support new password source options for SSH connections.
- Updated error handling to include new SSH authentication failure messages.
2026-06-28 22:52:49 +08:00
Kang dba3376273 fix(NewSessionPage): implement dynamic sort order for saved connections (#191)
- Added logic to calculate the sort order for new connections based on existing sibling connections, ensuring proper ordering when saving a new connection.
- Enhanced the connection object to include the computed sort order, improving the organization of saved connections.
2026-06-28 20:10:55 +08:00
Kang c5d3884132 fix(aiSettings): update Mimo API base URL for consistency across configurations (#192)
- Changed the default base URL for the Mimo provider in both TypeScript and Rust configuration files to ensure consistency and correct API endpoint usage.
2026-06-28 19:43:07 +08:00
Kang 25f3691326 docs(i18n): update portable edition update title in English and Chinese locales
- Changed the title for portable edition updates to better reflect the availability of updates in both English and Chinese locale files, enhancing clarity for users.
2026-06-28 19:42:42 +08:00
Kang d929c85681 refactor(update-check): streamline update check logic and enhance update dialog (#190)
- Removed unnecessary checks for portable runtime in the update check logic.
- Updated the UpdateDialog to conditionally set the status based on the portable runtime.
- Added display for release notes in the UpdateDialog when local update information is available, improving user feedback during updates.
2026-06-28 19:42:29 +08:00
Kang 977139bc47 docs(i18n): update certificate file terminology in English and Chinese locales
- Changed "Certificate file loaded" to "OpenSSH user certificate loaded" for clarity.
- Updated the selection prompt for certificate files to specify "OpenSSH user certificate" in both English and Chinese locales, enhancing user understanding.
2026-06-28 00:55:45 +08:00
Kang 8c991fce73 fix(terminal-search): improve focus handling in TerminalSearchBar and clear selection in useTerminalSearch hook
- Updated TerminalSearchBar to ensure input focus only when visible, enhancing user experience.
- Modified useTerminalSearch hook to clear terminal selection during search cleanup, improving search reliability.
2026-06-27 23:11:02 +08:00
Kang bba1ac98be docs(images): add dark and light import images for enhanced visual support in the documentation 2026-06-27 22:05:15 +08:00
Kang 07eef7a72c refactor(terminalZmodemUpload): remove outdated comment regarding 2026-06-27 21:37:31 +08:00
Kang 7220cd4e56 fix(terminal-settings): update default keep-alive value from 3 to 60 seconds
- Changed the default value for the keep-alive setting in terminal configuration to improve connection stability and user experience.
2026-06-27 21:11:28 +08:00
Kang 2079593250 chore(i18n): add terminal font weight options and search-related translations in English and Chinese locales
- Introduced new font weight options for terminal appearance, including weights from Light to ExtraBold.
- Added search-related terms and descriptions to enhance user experience during terminal searches, including case sensitivity and regex options.
- Ensured consistency in terminology across English and Chinese locale files.
2026-06-27 18:49:22 +08:00
Kang 6fcee2a7a5 feat(terminal-search): enhance terminal search functionality with history support and UI improvements (#86)
- Added support for searching terminal history, allowing users to search through previous commands and outputs.
- Updated `TerminalSearchBar` to include new search flags and mode options for better user experience.
- Refactored `XTerminal` to integrate the new search features, including handling search state and flags.
- Enhanced `useTerminalSearch` hook to manage search state and history effectively.
- Introduced new types and interfaces for terminal search flags and history search requests, improving type safety and clarity.
2026-06-27 18:49:13 +08:00
Kang b1c791ab85 feat(appearance-settings): add terminal font weight options and integrate into appearance settings (#189)
- Introduced `TERMINAL_FONT_WEIGHT_OPTIONS` to allow users to select font weights for terminal appearance.
- Updated `AppearanceTab` to include settings for terminal font weight and bold weight, enhancing customization options.
- Modified `XTerminal` to apply selected font weights, improving visual consistency.
- Adjusted context and hooks to support new font weight properties in appearance settings.
- Ensured default values for font weight and bold weight are set in application context and Tauri settings.
2026-06-27 18:33:45 +08:00
Kang cf5ff88cab feat(app-lock): implement app lock state management and idle locking functionality (#187)
- Introduced `useAppLockState` hook to manage the application's lock state, including loading and updating the lock status.
- Updated `AppProvider` and `ChildAppProvider` to utilize the new lock state management, ensuring consistent behavior across components.
- Enhanced `useIdleLock` to incorporate the lock state, preventing idle locking when the app is locked.
- Added a `LockScreen` component to display when the app is locked, improving user experience during locked states.
2026-06-27 17:53:50 +08:00
Kang b970010236 chore(i18n): update SSH connection messages and add search-related translations
- Simplified the wording for SSH connection messages in both English and Chinese locales for clarity.
- Added new translations for search-related terms, enhancing the user experience during terminal searches.
- Ensured consistency in terminology across different language files.
2026-06-27 17:53:15 +08:00
Kang 31d86ee85d feat(sftp): improve remote file deletion handling and error management
- Added a function to check for "not found" errors during remote file deletions, enhancing the delete operation's robustness.
- Updated the `remove_file` method to handle cases where the file may not exist without returning an error, improving user experience.
- Introduced utility functions to streamline error handling for SFTP operations, ensuring consistent behavior across the SFTP backend.
- Enhanced directory removal logic to gracefully handle non-existent directories, reducing unnecessary error messages.
2026-06-27 15:58:53 +08:00
Kang be0ac6047d feat(terminal-search): enhance search functionality with state management and UI updates (#86)
- Introduced `TerminalSearchState` to manage search status and results within the terminal.
- Updated `TerminalSearchBar` to display search status and error messages dynamically.
- Enhanced `useTerminalSearch` hook to support new search options and state management.
- Refactored `XTerminal` to integrate the updated search functionality, improving user experience during terminal searches.
- Added comprehensive type definitions and utility functions for better maintainability and clarity.
2026-06-27 15:36:46 +08:00
Kang 23e27f6237 feat(portable-settings): add AI settings to PortableAppSettings and enhance deserialization
- Introduced `ai` field in `PortableAppSettings` to manage AI-related configurations.
- Updated methods to handle cloning and normalization of AI settings.
- Added tests to ensure legacy settings can be deserialized correctly without AI data, maintaining backward compatibility.
2026-06-27 11:15:10 +08:00
Kang 3ebb784095 chore(i18n): add new duplicate handling options in English and Chinese locales
- Introduced "Overwrite and don't ask again" and its description for task-specific duplicate handling in both English and Chinese locale files.
- Enhanced user experience by providing clearer options for managing duplicate file uploads.
2026-06-26 20:39:15 +08:00
Kang 2391b43c31 feat(transfer-dialog): enhance duplicate handling with dropdown options (#181)
- Introduced a dropdown menu in the TransferDuplicateDialog for applying actions to tasks, allowing users to choose "overwriteAllForTask".
- Updated the TransferDuplicatePrompt type to include the new choice and adjusted related functions to support this feature.
- Added a new duplicate strategy selection in the TransferTab settings, enabling users to configure their preferred handling of duplicate files.
- Refactored related logic in transferDuplicateResolution to accommodate the new options and improve overall user experience during file transfers.
2026-06-26 20:39:04 +08:00
Kang 4000a9c925 docs(readme): add phonetic pronunciation to English and Chinese README files
- Included phonetic pronunciation for "NyaTerm" in the English README.
- Added the Chinese phonetic representation "妮雅" in the Chinese README.
- Enhanced the overall presentation of the project description in both languages.
2026-06-26 18:12:48 +08:00
Kang 3a46f6e8d8 docs(sponsorship): update QR code links to use direct URLs in sponsorship documentation
- Replaced local image paths with direct URLs for WeChat and Alipay sponsorship QR codes in both Chinese and English documentation.
- Enhanced the visual presentation of sponsorship options by wrapping images in paragraph tags for better formatting.
2026-06-26 17:52:58 +08:00
Kang c434fdbe20 feat(webview): implement reload prevention for terminal context
- Added a new `webviewReloadGuard` to prevent page reloads when keyboard shortcuts are used inside the terminal component.
- Updated `XTerminal` to include a data attribute for terminal root identification.
- Ensured that the reload prevention logic only triggers outside the terminal context, enhancing user experience during terminal interactions.
2026-06-26 17:51:49 +08:00
Kang 275a64b107 docs(sponsorship): update QR code display format in sponsorship documentation
- Replaced HTML image tags with Markdown syntax for WeChat and Alipay sponsorship QR codes in both Chinese and English documentation.
- Improved consistency in documentation formatting across different languages.
2026-06-26 17:48:30 +08:00
Kang bf4334112e docs(sponsorship): add sponsorship section to README and documentation
- Introduced a new "Sponsor" section in both English and Chinese README files to encourage community support for NyaTerm.
- Created dedicated sponsorship documentation with payment options and alternative support methods.
- Updated sidebars to include the new sponsorship page for better visibility.
- Added payment QR codes for WeChat and Alipay to facilitate contributions.
2026-06-26 17:44:19 +08:00
Kang fd7fb1e5ab feat(window-management): enhance child window state management and persistence (#177)
- Introduced a new `ChildWindowStateKey` type to manage the state of various child windows.
- Updated `openChildWindow` function to restore dimensions and maximized state from saved states based on the window label.
- Implemented state saving for child windows during application shutdown and on close events, improving user experience by preserving window states.
- Refactored window state handling in `window_state.rs` to support loading and saving of child window states, ensuring consistent behavior across the application.
2026-06-26 16:18:55 +08:00
Kang ce246203cc feat(modal-windows): implement focus handling for modal child windows (#176)
- Added event listeners to manage focus changes for modal child windows, emitting a notification when a modal gains focus.
- Updated the window manager to raise the appropriate modal window group when a child window is focused, improving user experience during interactions.
- Refactored existing functions to streamline modal window focus management and ensure consistent behavior across the application.
2026-06-26 15:26:26 +08:00
Kang d068313e5f feat(saved-connections): enhance drag-and-drop functionality with pointer events
- Introduced pointer drag support in ConnectionItem and GroupNodeItem components, allowing for improved user interactions during drag-and-drop operations.
- Added new pointer event handlers for starting, moving, ending, and canceling pointer drags, enhancing the overall drag experience.
- Updated SavedConnections component to manage pointer drag state and resolve drop targets based on pointer position, improving accuracy in item placement.
- Refactored TabBar to support pointer-based dragging, ensuring a consistent experience across components.
2026-06-25 15:10:24 +08:00
Kang e62561feb9 feat(layout): add pointer cancel handling to ActivityBar and improve drag end detection in TabBar
- Implemented a new `handlePointerCancel` function in the ActivityBar to manage pointer cancellation events, enhancing drag-and-drop interactions.
- Updated the TabBar component to utilize a callback for detecting drag end proximity to the tab strip, improving the user experience during tab management.
2026-06-25 14:27:05 +08:00
Kang 9e87feed2a refactor(terminal): improve command sanitization functions for better spacing handling (#167)
- Renamed and refactored the `sanitizeTerminalCommand` function to `stripTerminalCommandPrompt` for clarity.
- Enhanced the command sanitization process to preserve leading whitespace while removing known shell prompt prefixes.
- Updated references in `terminalInputTracker.ts` to utilize the new function, improving command normalization and candidate addition logic.
2026-06-25 11:16:53 +08:00
Kang 6e08a0f05c feat(terminal): add close tab functionality to TabBar component (#95)
- Implemented the ability to close tabs through mouse actions in the TabBar component.
- Updated interaction settings to include "close_tab" action and its corresponding label for localization.
- Enhanced the tab management experience by allowing users to close tabs directly from the interface.
2026-06-25 10:40:12 +08:00
Kang e4ec1a1e3e chore: bump version to v1.1.10 2026-06-25 01:15:26 +08:00
Kang dd76f29f8a chore(i18n): update English and Chinese locales with new session duplication and command features
- Added new localization entries for session duplication commands and related descriptions in both English and Chinese JSON files.
- Introduced translations for command delay settings and SSH connection reuse options, enhancing user experience for session management.
- Updated shortcut labels and descriptions to reflect new functionalities, improving accessibility and clarity for users.
2026-06-25 01:12:44 +08:00
Kang 477863e3a7 feat(saved-connections): implement copy functionality for selected connections with keyboard shortcut support
- Added a new feature to copy selected saved connections, allowing users to duplicate connections easily.
- Implemented a keyboard shortcut to trigger the copy action, enhancing user experience and accessibility.
- Refactored the component to manage keyboard events and handle connection copying asynchronously.
- Introduced a reference for the panel root to manage event listeners effectively.
2026-06-25 01:12:28 +08:00
Kang c27b4998d0 feat(terminal): implement startup command functionality for session duplication and multiplexing (#87)
- Added support for startup commands with a delay when duplicating or multiplexing sessions.
- Introduced new dialog components for user input of startup commands and delays.
- Updated session handling logic to accommodate startup commands, enhancing user experience during session management.
- Implemented settings for default command delay in the interaction settings.
- Enhanced keyboard shortcuts for new command functionalities, improving accessibility.
2026-06-25 01:12:00 +08:00
Kang da246b9e76 feat(cloud_sync): enhance cloud sync operations with detailed status updates and new cleanup timeout
- Added a new constant for cloud sync cleanup timeout to improve resource management.
- Implemented detailed status updates during cloud sync operations, providing better visibility into the connection, verification, and reading processes.
- Refactored existing cloud sync methods to include tracing of each step, enhancing error tracking and debugging capabilities.
- Improved overall structure and readability of the cloud sync manager code.
2026-06-24 23:41:16 +08:00
Kang 1c9d7729c2 refactor(cloud_sync): adjust history log entry limit and improve log reading logic
- Reduced the maximum number of history log entries to 100 for better performance.
- Refactored the log reading function to read entries directly from file content instead of using a buffered reader, enhancing efficiency.
- Implemented logic to ensure only the most recent entries are returned based on the specified limit.
- Added unit tests to verify the correct behavior of history entry retrieval under various conditions.
2026-06-24 23:40:55 +08:00
Kang 396f4698c9 fix(file-explorer): refine download handling for single and multiple entries
- Updated the download logic to differentiate between single and multiple file selections, improving user experience during file downloads.
- Enhanced error handling by ensuring proper cancellation of operations when user input is invalid, preventing unintended behavior.
2026-06-24 22:27:50 +08:00
Kang d6c2868f48 fix(ui): improve alert and dialog components for better responsiveness
- Updated CSS classes in AlertDialog and Dialog components to ensure proper handling of minimum and maximum widths, enhancing layout responsiveness.
- Added break-word and overflow-wrap properties to title and description elements for improved text handling in various screen sizes.
2026-06-24 22:08:50 +08:00
Kang c4d714caa5 fix(file-explorer): improve directory loading logic and error handling
- Refactored the directory loading process to ensure proper handling of cached home directories and root directory loading.
- Added cancellation checks to prevent state updates after component unmounting.
- Enhanced error management during home directory retrieval, ensuring fallback to root directory loading when necessary.
2026-06-24 21:48:50 +08:00
Kang 9539c6ac8c chore(i18n): add translations for image path pasting feature in English and Chinese locales
- Added new localization entries for the "paste image as path" functionality and its description in both English and Chinese JSON files, enhancing user experience for image handling in terminal sessions.
2026-06-24 21:27:22 +08:00
Kang 2a90d96091 feat(terminal): add image path pasting functionality in terminal settings
- Introduced a new setting in the TerminalTab component to allow users to paste images as file paths.
- Updated the TerminalContextMenu and XTerminal components to handle pasting clipboard image paths, enhancing user experience during file transfers.
- Implemented clipboard path reading and image uploading to SSH, ensuring seamless integration with existing terminal functionalities.
- Modified AppContext and ChildAppProvider to include default settings for the new image path pasting feature.
2026-06-24 21:27:11 +08:00
Kang 41bac9f013 feat(file-transfer): add transfer speed calculation and display
- Introduced a new function to calculate transfer speed in bytes per second, enhancing the user interface by displaying real-time transfer rates.
- Updated the TransferItem interface to include a speedBytesPerSec property for tracking transfer speed.
- Modified the TransferRow component to show the calculated speed instead of progress percentage, improving clarity during file transfers.
- Implemented logic to manage transfer speed samples, ensuring accurate speed reporting during ongoing transfers.
2026-06-24 13:39:19 +08:00
Kang 3022d6fc88 feat(sftp): enhance download handling and error management (#163)
- Introduced new enums and functions to manage download progress and ensure completion, improving error handling for unexpected EOF scenarios during file downloads.
- Refactored the `read_sftp_chunk` function to return additional information about download completion status.
- Updated the download logic to handle cases where the remote file size is zero, ensuring proper error reporting and completion verification.
2026-06-24 13:39:05 +08:00
Kang cd70d9e2e2 feat(selection): implement macOS selection guard and enhance terminal selection handling
- Added a new hook, useMacSelectionGuard, to manage text selection behavior on macOS, ensuring selections are preserved only in designated areas.
- Updated XTerminal to reset selection state on various pointer and visibility events, improving user experience during terminal interactions.
- Modified CSS to restrict text selection to intentional text surfaces, enhancing overall usability and preventing accidental selections.
2026-06-24 00:18:07 +08:00
Kang 7acd07112a feat(terminal): refactor font size handling in terminal settings
- Updated terminal font size management to use a delta approach, allowing for dynamic adjustments based on user interactions.
- Introduced new utility functions for increasing, decreasing, and resetting font size deltas.
- Modified relevant components and hooks to accommodate the new font size delta logic, ensuring consistent font size rendering across the application.
- Updated type definitions and default settings to include font size delta in terminal configurations.
2026-06-23 18:05:27 +08:00
Kang d0e0fe9964 feat(ui): enhance PanelHeader layout and introduce DeleteIconButton component
- Updated PanelHeader to improve layout with flex properties for better responsiveness.
- Created a new DeleteIconButton component for consistent delete action styling across AiTab, simplifying the delete button implementation in AiModelsTab and ActionListEditor.
- Ensured better handling of text truncation and layout adjustments in the UI components.
2026-06-23 16:40:02 +08:00
Kang 257670a336 chore(i18n): add workspace padding translations for English and Chinese locales
- Added new localization entries for the workspace padding setting and its description in both English and Chinese JSON files, enhancing user experience and accessibility for this feature.
2026-06-23 13:15:58 +08:00
Kang fd968d034d feat(terminal): add workspace padding setting and update terminal layout (#162)
- Introduced a new setting for workspace padding in the TerminalTab component, allowing users to toggle this feature.
- Updated the terminal layout in XTerminal to conditionally apply padding based on the new setting.
- Ensured default values for workspace padding are set in AppContext and ChildAppProvider.
- Added type definitions for workspace padding in global types and updated terminal settings configuration.
2026-06-23 13:15:58 +08:00
Kang 443fdcc47d feat(pty, serial, telnet): implement non-blocking command reception and session closure signaling (#160)
- Enhanced the pty, serial, and telnet session handling to use non-blocking command reception via channels, improving responsiveness.
- Introduced signaling for session closure using channels to ensure proper cleanup and resource management.
- Updated command loops to handle empty states gracefully, reducing potential blocking issues during session operations.
2026-06-23 11:58:11 +08:00
Kang fd23fe9c6e chore(i18n): add macOS IME compatibility translations for English and Chinese locales
- Added new entries for macOS IME compatibility mode and its description in both English and Chinese localization files, improving user guidance for this feature.
2026-06-23 11:02:03 +08:00
Kang 5222e25e26 feat(interaction): add macOS IME compatibility setting and related functionality (#152)
- Introduced a new setting for macOS IME compatibility in the InteractionTab component, allowing users to toggle this feature.
- Updated the AppContext and ChildAppProvider to include the new mac_ime_compatibility setting with a default value.
- Implemented the installation of a compatibility patch for macOS IME in the useTerminalSettings hook, ensuring proper handling of input events.
- Added necessary type definitions and updated the logger to support new functionality related to terminal input handling.
- Created a new utility file for managing macOS IME compatibility logic.
2026-06-23 11:01:42 +08:00
Kang 5747238108 feat(sftp): add OpenSSH-compatible symlink functionality
- Implemented `symlink_openssh` method in `RawSftpSession` and `SftpSession` to create symlinks using OpenSSH's argument order.
- Updated `create_symlink` in `SftpBackend` to utilize the new OpenSSH-compatible method.
- Enhanced directory listing functions in `ScpEnhancedBackend` and `ScpNormalBackend` to correctly handle symlink checks and path formatting.
- Introduced `remote_dir_listing_path` utility function to standardize directory path handling.
2026-06-23 01:27:34 +08:00
Kang 5276e7ffa2 feat(terminal): implement command suggestion suppression for interactive programs (#151)
- Added functionality to suppress command suggestions when executing interactive commands such as `htop`, `less`, and `vim`.
- Introduced new utility functions for detecting interactive commands and managing suggestion suppression state.
- Updated terminal input handling to reset suggestion suppression based on command execution and input context.
- Enhanced event handling to emit session command acceptance, allowing for better integration with command suggestion logic.
2026-06-23 00:38:10 +08:00
Kang 7301a57777 chore(i18n): add local line editing translations for Telnet settings in English and Chinese locales
- Added new entries for local line editing feature in both English and Chinese localization files, enhancing user understanding of the functionality.
- Updated descriptions to clarify the purpose and usage of the local line editing option in Telnet sessions.
2026-06-22 23:43:29 +08:00
Kang 29e59cd408 feat(telnet): add local line editing feature to TelnetForm and session management (#155)
- Introduced a new local line editing option in the TelnetForm component, allowing users to edit input locally and send the full command upon pressing Enter.
- Updated state management in NewSessionPage to handle the new local line editing setting.
- Enhanced session configuration and serialization to include local line editing support.
- Added necessary type definitions and default values for local line editing in the global types and configuration files.
- Implemented backend support for local line editing in the Telnet session handling logic.
2026-06-22 23:43:18 +08:00
Kang b048687019 perf(keywordHighlighter): optimize keyword highlighting performance
- Integrated a new performance configuration for keyword highlighting, allowing for dynamic adjustment of overscan lines and decoration limits based on platform.
- Implemented budget management for decoration creation to enhance performance during viewport refreshes.
- Refactored decoration logic to prevent overlapping with existing ANSI colors and improve overall efficiency in rendering highlights.
2026-06-22 23:12:00 +08:00
Kang 51dc4f6700 fix(scp): add checks for GNU -printf and -c support in remote commands (#159)
- Implemented validation for remote `find` and `stat` commands to ensure compatibility with GNU options that utilize NUL output.
- Added error handling for cases where the remote host does not support the required command options, improving robustness of SCP Enhanced functionality.
2026-06-22 22:43:23 +08:00
Kang 8db3b29ab6 docs(ssh): add support for importing session definitions from NyaTerm JSON format 2026-06-22 15:15:33 +08:00
Kang efd065b364 chore(i18n): add Windows Terminal support to English and Chinese locales
- Added the "Windows Terminal" entry to the shell options in both English and Chinese localization files, enhancing user experience for terminal selection.
2026-06-22 12:19:19 +08:00
Kang 6e9dcdbae8 feat(terminal): enhance Windows Terminal support and shell selection
- Introduced a constant for built-in shell paths to simplify shell path checks.
- Updated the shell selection logic to utilize the new constant for better maintainability.
- Added support for Windows Terminal in the shell command resolution, including parsing settings and profiles.
- Implemented fallback logic for Windows Terminal to ensure a default shell is used when necessary.
- Added tests to validate the new Windows Terminal functionality and shell command resolution.
2026-06-22 12:11:22 +08:00
Kang ac345b960d feat(ssh): enhance keyboard-interactive authentication with restart logic
- Introduced a maximum restart limit for keyboard-interactive authentication to handle partial successes.
- Added structured logging for authentication rounds and restart attempts to improve debugging and user feedback.
- Updated the authentication flow to support multiple restarts while tracking the number of attempts.
2026-06-22 12:02:43 +08:00
Kang a0ae1e723f chore(i18n): add altAsMeta setting and description for macOS shortcuts 2026-06-22 09:58:24 +08:00
Kang a9f3be2864 chore(i18n): add altAsMeta setting and description for macOS shortcuts 2026-06-22 09:58:01 +08:00
Kang 7eb77d6532 feat: add alt_as_meta setting to interaction settings and update related components 2026-06-22 09:57:52 +08:00
Kang f339445c62 chore: bump version to v1.1.9 2026-06-21 23:47:54 +08:00
Kang c9d9fb4302 chore(i18n): add missing GitHub OAuth Client ID error message for English and Chinese locales
- Included a new error message for cases where the GitHub OAuth Client ID is not configured, enhancing user feedback during authentication.
- Updated both English and Chinese localization files to reflect this change.
2026-06-21 23:46:50 +08:00
Kang edcb8b2ea7 docs: add instructions for GitHub Gist cloud sync authorization in setup guide
- Included steps to set the GitHub OAuth App device flow Client ID for local builds using GitHub Gist.
- Provided examples for both bash and Windows PowerShell environments to facilitate user setup.
2026-06-21 23:46:30 +08:00
Kang f93a88d75d chore: update dependencies and enhance Cargo configuration
- Added new packages: cbc, foreign-types, foreign-types-shared, hyper-tls, md-5, mea, and opendal-layer components.
- Updated existing dependencies to their latest versions, including reqwest and opendal.
- Refined Cargo.toml to specify features for reqwest and tauri-plugin-updater, improving build configuration.
- Removed deprecated package entries and ensured compatibility with the latest library versions.
2026-06-21 23:46:21 +08:00
Kang edc81dff30 ci: add verification step for GitHub Gist OAuth Client ID in release build 2026-06-21 23:45:58 +08:00
Kang aef35dcf62 feat(github-gist): improve error handling and startup checks
- Added a new function to provide specific error messages for GitHub Gist authentication issues.
- Updated the SyncBackupTab component to utilize the new error handling function for better user feedback.
- Implemented a check to skip the startup network check for GitHub Gist, enhancing performance during startup.
- Introduced tests to validate the new error handling and startup check logic.
2026-06-21 23:45:49 +08:00
Kang 42374811a5 chore: bump version to v1.1.8 2026-06-21 19:30:40 +08:00
Kang b689c11ceb ci: inject GitHub Gist client ID during release build 2026-06-21 19:30:02 +08:00
Kang dde5cba187 chore: bump version to v1.1.8 2026-06-21 19:11:29 +08:00
Kang 64e275cccc chore(i18n): add new Telnet input behavior and compatibility strings for English and Chinese locales
- Introduced localization entries for Telnet input behavior and compatibility settings in both English and Chinese localization files.
- Enhanced user understanding of Telnet features by updating relevant strings.
2026-06-21 19:10:59 +08:00
Kang ff6f903f4a feat(telnet): implement collapsible advanced settings in TelnetForm
- Added a collapsible section for advanced Telnet configuration options, enhancing user experience by organizing settings.
- Introduced tabs for input and compatibility settings, allowing users to easily navigate between different configuration options.
- Integrated state management for the collapsible section to improve interactivity and usability of the Telnet form.
2026-06-21 19:10:52 +08:00
Kang 85bbe30fff chore(i18n): add Telnet configuration strings for English and Chinese locales
- Introduced new localization entries for advanced Telnet settings, including local echo, character-at-a-time input, and raw TCP CLI options.
- Updated descriptions to enhance user understanding of Telnet features in both English and Chinese localization files.
2026-06-21 17:36:30 +08:00
Kang 0ae88ae43d feat(telnet): enhance Telnet form with advanced configuration options (#22)
- Added new props to the TelnetForm component for advanced Telnet settings including raw TCP CLI, enter mode, local echo, force character-at-a-time, and NAWS/SGA options.
- Implemented UI elements for toggling these settings, improving user control over Telnet connections.
- Updated NewSessionPage to manage and persist these new settings for Telnet sessions.
- Enhanced type definitions to accommodate new configuration options for Telnet connections.
2026-06-21 17:36:30 +08:00
Kang 6946c3a98b chore(i18n): update OTP localization strings for clarity and consistency
- Revised English and Chinese strings for the OTP dialog to improve user understanding.
- Changed "2FA cancelled" to "Verification cancelled" and updated descriptions for better clarity.
- Enhanced titles to "Authentication Prompt" and added a new title format for rounds.
2026-06-21 13:47:41 +08:00
Kang aee0823c04 feat: enhance OTP dialog with additional fields and improved handling 2026-06-21 13:47:26 +08:00
Kang a97218ac5f chore(i18n): update localization strings for cloud sync terminology
- Replaced instances of "sync and backup" with "cloud sync" in English and Chinese localization files for consistency.
- Added new localization entries for Aliyun Drive, Google Drive, and OneDrive OAuth settings.
- Removed deprecated backup-related strings to streamline the localization files.
- Enhanced descriptions for cloud sync features and settings to improve user understanding.
2026-06-21 13:11:11 +08:00
Kang 65592ee0e8 chore: update dependencies in Cargo files
- Added new dependencies: `crossbeam-epoch`, `moka`, and `tagptr` to `Cargo.lock`.
- Updated `Cargo.toml` to include additional features for `opendal`, enhancing cloud service support.
2026-06-21 13:10:19 +08:00
Kang 8612154fa2 docs: update terminology and content for cloud sync
- Replaced references to "sync and backup" with "cloud sync" throughout the documentation for consistency.
- Clarified the functionality of cloud sync, emphasizing its role in cross-device configuration synchronization and encrypted backups.
- Updated various sections to reflect the new terminology, including settings, guides, and security models.
- Enhanced localization strings to align with the updated terminology and functionality descriptions.
2026-06-21 13:10:01 +08:00
Kang 2987f7e439 feat: enhance cloud sync functionality
- Added support for GitHub Gist authentication via device flow, enabling users to manage their Gist settings directly within the application.
- Introduced new types and validation for OAuth drive settings, including Google Drive, OneDrive, and Aliyun Drive.
- Refactored cloud sync settings to accommodate new providers and streamline validation error handling.
- Updated UI components to reflect changes in sync backup terminology, improving clarity and consistency.
- Removed deprecated functions related to remote backups, enhancing code maintainability.
2026-06-21 13:09:34 +08:00