Commit Graph
100 Commits
Author SHA1 Message Date
Kang 0fb704b726 fix(sync): protect remote heads during capacity pruning 2026-10-01 20:20:41 +08:00
Kang 5b331dbbb0 fix(sync): limit capacity recovery to gitee snippets 2026-10-01 19:59:40 +08:00
Kang be061b2467 fix(sync): make gist capacity cleanup safe 2026-10-01 19:41:33 +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 fb48336f55 feat(recording): enhance session management with pane ID support
- Added `paneId` to `PendingTabCreation` and updated related functions to handle recording scope IDs for various session types.
- Implemented logic to finish recording scopes when sessions are disconnected or finalized, ensuring proper resource management.
- Updated session creation functions to accept and utilize `recordingScopeId`, improving the integration of recording features across different session types.
- Enhanced tests to validate the new recording scope functionality and ensure isolated pane behavior during session management.
2026-09-29 16:27:35 +08:00
Kang 9b9b57069a chore: bump version to v1.2.12 2026-09-29 01:55:41 +08:00
Kang a5f48de507 docs: minimize changelog formatting diff 2026-09-29 01:17:13 +08:00
Kang fb2c901810 docs: update changelog for v1.2.12 2026-09-29 01:14:58 +08:00
Kang 877ff10a9a fix(ci): prepare ConPTY before Win7 cargo build 2026-09-28 18:33:49 +08:00
Kang 3807857e3f perf(terminal): implement output pressure tracking and enhance logical line handling
- Introduced `TerminalOutputPressureTracker` to monitor output pressure and manage performance modes based on backlog and burst conditions.
- Added logic to handle long lines and wrapped lines efficiently, preventing excessive processing.
- Updated `XTerminal` and related components to integrate output pressure tracking, ensuring smoother terminal performance under load.
- Added tests for new functionality to validate output pressure detection and logical line processing.
2026-09-28 16:35:28 +08:00
Kang 4ff29e5009 fix(terminal): enhance fallback command detection for quit commands 2026-09-28 14:59:52 +08:00
Kang f4f6f6a4bb fix(terminal): restore SSH command navigation fallback 2026-09-28 14:47:24 +08:00
Kang dd3769cb81 fix(terminal): refine command navigation shortcuts 2026-09-28 14:12:33 +08:00
Kang 505ccfef3c feat(sftp): add shell availability support and enhance SFTP command execution (#773)
- Introduced `shell_available` field in `AutoRemoteFs` and `SftpBackend` to manage shell command execution availability.
- Updated SFTP command execution to return an error if shell commands are attempted in SFTP-only sessions.
- Enhanced logging for SFTP directory read operations and identity resolution processes.
- Added a new constant for SFTP execution timeout to improve command handling.
2026-09-28 10:55:57 +08:00
Kang 84db9f0516 fix(ai): preserve default reasoning efforts 2026-09-27 21:12:54 +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 334817dbff feat(terminal): implement synchronized binary input handling for XTerminal
- Added `sendSessionBinaryInputWithSync` function to broadcast binary input to sync peers.
- Updated `XTerminal` component to utilize the new function for handling binary input with peer synchronization.
- Enhanced tests to verify the correct broadcasting of binary input to multiple peers without text bookkeeping.
- Introduced `escape_telnet_application_data` function to handle IAC byte escaping for telnet transport.
- Added tests for the new escaping functionality to ensure proper data handling in telnet sessions.
2026-09-26 23:59:13 +08:00
Kang 280272aaaf feat(terminal): add binary input handling to XTerminal and session management (#444)
- Implemented `sendSessionBinaryInput` function to send binary data to terminal sessions.
- Enhanced `XTerminal` component to handle binary input events, ensuring proper data transmission.
- Updated session commands to support raw data writing, allowing for better handling of binary inputs.
- Added tests for binary input functionality to ensure accurate data processing without text bookkeeping.
2026-09-26 23:27:23 +08:00
Kang f63dd15f2f Merge branch 'main' of https://github.com/nyakang/nyaterm 2026-09-26 22:24:14 +08:00
Kang 42364ea0b5 feat(terminal): implement clearTerminalAll function for enhanced terminal management (#579)
- Added the `clearTerminalAll` function to clear the terminal's output while preserving cursor position and handling shell redraws.
- Updated the `XTerminal` component to utilize `clearTerminalAll` for resetting the terminal state.
- Introduced tests to verify the functionality of `clearTerminalAll`, ensuring it clears scrollback without altering the CMD cursor row and requests redraws for shells that handle Ctrl+L.
2026-09-26 22:24:12 +08:00
Kang 1d0f302783 fix(local-terminal): use platform default shell (#792) 2026-09-26 19:00:35 +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 8f11458c8e feat(file-explorer): enhance context menu with terminal actions
- Updated the FileExplorer and FileExplorerEntryContextMenu components to include new terminal action icons.
- Replaced existing icons with MdTerminal, MdFolderOpen, and MdOpenInNew for improved visual representation of terminal functionalities.
- Enhanced context menu options for entering directories and opening them in new terminals, improving user experience.
2026-09-26 10:07:04 +08:00
Kang bad1bec459 chore(i18n): add new translation keys for terminal actions in multiple languages
- Introduced new translation keys related to terminal actions, including copying information, entering directories, and opening directories in new terminals.
- Updated English, Korean, Simplified Chinese, and Traditional Chinese localization files to enhance user experience with terminal functionalities.
2026-09-26 09:49:28 +08:00
Kang 7c54f53e80 feat(file-explorer): implement directory navigation in new terminal (#791)
- Added functionality to open a specified directory in a new terminal session from the file explorer.
- Introduced new callbacks for handling directory changes and terminal commands.
- Enhanced context menu options for directory actions, including entering directories and opening them in new terminals.
- Updated relevant components and tests to support the new directory navigation features.
2026-09-26 09:49:20 +08:00
Kang d39ffef8de chore(i18n): add ConPTY translations for multiple languages
- Introduced new translation keys related to ConPTY functionality in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced localization to support the recently integrated bundled ConPTY features, improving user experience across different languages.
2026-09-26 08:54:04 +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 75dcfc1e8d chore(i18n): update import and backup restore translations for multiple languages
- Added new translation keys for import dialog titles and backup restore confirmations in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced user guidance with clearer descriptions for session import and backup restoration processes.
2026-09-26 00:03:34 +08:00
Kang 58cf397781 feat(import-dialog): enhance import dialog with alert dialog and update source handling (#698)
- Integrated AlertDialog component for confirming backup restore actions.
- Removed type definitions for import sources to streamline the configuration.
- Updated UI elements and translations for improved user experience in the import dialog.
- Refactored source selection handling to accommodate new design and functionality.
2026-09-26 00:03:21 +08:00
Kang 9d1d99e067 feat(terminal): implement timestamp management for terminal written lines (#705)
- Added a new utility function `stampTerminalWrittenLines` to manage timestamps for lines written to the terminal.
- Created tests for timestamp assignment and behavior in various scenarios, including multiline writes and automatic wrapping.
- Integrated the timestamp functionality into the `XTerminal` component to enhance terminal output tracking.
2026-09-25 23:47:58 +08:00
Kang cdd0d5a1d5 chore(i18n): add translation for "openNewSessionMenu" in multiple languages
- Added the translation key "openNewSessionMenu" for English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced localization to improve user experience with the new session menu feature.
2026-09-25 23:34:25 +08:00
Kang 4e46d26b7d feat(terminal): add new session menu shortcut and enhance keyboard handling (#736)
- Implemented a new keyboard shortcut for opening the new session menu, including support for custom keybindings.
- Updated the TabBar component to manage the new session menu state based on tab focus.
- Enhanced keyboard event handling to prevent default actions for the new shortcut.
- Added corresponding tests to ensure the new shortcut functionality works as expected.
2026-09-25 23:34:10 +08:00
Kang 8af41344c1 feat(terminal-gutter): enhance layout management with session tracking and dynamic line number width (#778)
- Added `maxLineNumberDigits` and `sessionId` to the GutterLayout interface for improved layout handling.
- Updated layout state management to dynamically calculate maximum line number width based on visible lines and session context.
- Refactored line number width calculation to utilize the new `maxLineNumberDigits` property.
2026-09-25 22:42:50 +08:00
Kang 3788b508c5 Merge branch 'main' of https://github.com/nyakang/nyaterm 2026-09-24 14:06:35 +08:00
Kang d1741b6500 chore(i18n): add translation for disabled clipboard option in multiple languages
- Introduced a new translation key "rdpClipboardDisabled" for the disabled clipboard option in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced localization to improve user experience across different languages.
2026-09-24 14:06:34 +08:00
Kang 8174db0860 feat(rdp-clipboard): enhance file transfer capabilities and update clipboard format handling
- Introduced a new atomic boolean to manage file transfer availability.
- Updated clipboard advertisement methods to reflect the new file transfer logic.
- Improved handling of clipboard formats based on file transfer capabilities.
- Updated UI component to use a more descriptive translation for clipboard options.
2026-09-24 14:06:24 +08:00
Kang 8c0f7b015a fix(quick-commands): show direct category commands only 2026-09-24 10:27:44 +08:00
Kang 8904570fa3 feat(ui): hide workbench logo with custom background 2026-09-23 18:11:06 +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
Kang 4f89328c8e chore: bump version to v1.2.11 2026-09-22 09:13:43 +08:00
Kang b04234e141 fix(activity-bar): hide empty side after hidden items 2026-09-21 23:50:05 +08:00
Kang 434062126d chore(i18n): add new upload folder contents translations for multiple languages
- Added translations for "Upload Folder Contents" and "Upload Folder Contents Empty" in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced user experience by providing localized messages for the new upload functionality.
2026-09-21 23:14:44 +08:00
Kang 28ac23f868 feat(file-explorer): add upload folder contents functionality (#750)
- Implemented `handleUploadFolderContents` to allow users to upload the contents of a selected local directory.
- Integrated the new upload option into the File Explorer context menu, toolbar, and list items.
- Enhanced error handling and user notifications for empty uploads and failures during the upload process.
- Updated relevant components to support the new upload feature, ensuring a seamless user experience.
2026-09-21 23:14:18 +08:00
Kang d77dd4cf39 feat(terminal): implement app lock functionality across terminal components (#743)
- Added `appLocked` state to various terminal components to control user interactions.
- Updated `useTerminalFocusRestore`, `useTerminalRefreshEffects`, and `XTerminal` to respect the app lock state, preventing focus and input when locked.
- Enhanced `TerminalContextMenu` and `xterminalKeyboardController` to block actions while the app is locked.
- Introduced tests to verify behavior under locked and unlocked states, ensuring focus restoration and input handling are correctly managed.
2026-09-21 00:59:45 +08:00
Kang 9b55c706e4 feat(cloudSync): update sync debounce time and enhance settings validation (#744)
- Increased the `sync_debounce_seconds` from 15 to 60 to improve sync performance.
- Added new fields to `CloudSyncState` for better tracking of remote validation and garbage collection attempts.
- Implemented a function to detect changes in sync settings, ensuring notifications are sent only when necessary.
- Refactored cloud sync manager to optimize settings replacement and remote check logic.
- Added tests for new functionality and validation logic.
2026-09-21 00:26:15 +08:00
Kang fb90a4d97b refactor(saved-connections): simplify group expansion logic in dropdown menu (#735) 2026-09-20 13:05:37 +08:00
Kang 0b58207e13 Merge branch 'main' of https://github.com/nyakang/nyaterm 2026-09-20 11:58:06 +08:00
Kang 123811b16a chore(github): remove GPUI release workflow file 2026-09-20 11:58:04 +08:00
Kang a4d9188357 chore(github): prioritize preview issue template 2026-09-19 18:50:53 +08:00
Kang 5e55a8ad11 chore(github): add bilingual issue templates 2026-09-19 18:43:03 +08:00
Kang 0cf6a65c34 chore(github): add GPUI preview feedback flow 2026-09-19 18:19:22 +08:00
Kang 18b8cda83d ci: add GPUI release dispatcher 2026-09-19 17:33:20 +08:00
Kang 4d3a7fe9e7 ci: add GPUI preview package workflow 2026-09-19 00:52:48 +08:00
Kang ec666ca2a6 fix(file-explorer): increase HoverCard open delay for improved user experience 2026-09-18 19:03:06 +08:00
Kang e53a6c1409 style(file-explorer): update context menu item styles for improved visual consistency 2026-09-18 18:47:05 +08:00
Kang 74055b5f25 fix(telnet): cancel pending connection creation 2026-09-18 18:02:43 +08:00
Kang 37e8ec2f75 fix(ai): avoid UTF-8 panic when truncating agent output 2026-09-18 17:45:01 +08:00
Kang 536fac1ce8 fix(terminal): guard local terminal on old Windows 2026-09-18 11:40:06 +08:00
Kang 9f59805cad Merge branch 'main' of https://github.com/nyakang/nyaterm into feat/sftp-clipboard-safe 2026-09-18 00:31:27 +08:00
Kang b7f9f7db89 feat(file-explorer): rework SFTP copy cut paste 2026-09-18 00:27:54 +08:00
Kang 49b3ba9e0d fix(docker): support standalone Compose v2 2026-09-17 22:28:08 +08:00
Kang 3c0451cb4f fix: stabilize known hosts management actions 2026-09-17 21:56:39 +08:00
Kang 7ebecceec2 refactor(SshForm): simplify SFTP settings toggle and improve accessibility
- Removed unnecessary span element for the enabled label in the SFTP settings toggle.
- Added aria-label for the switch to enhance accessibility for screen readers.
2026-09-17 21:36:58 +08:00
Kang b3e6248266 Merge branch 'main' of https://github.com/nyakang/nyaterm 2026-09-17 21:01:54 +08:00
Kang 58df162001 chore(i18n): add SFTP compatibility mode translations for English, Korean, and Chinese locales
- Added new entries for "SFTP compatibility mode" and its description in English, Korean, Simplified Chinese, and Traditional Chinese localization files.
- This enhancement improves user experience by providing clear information about the compatibility mode feature across multiple languages.
2026-09-17 21:01:50 +08:00
Kang 7388191a43 feat(sftp): add compatibility mode for SFTP settings and enhance session management
- Introduced a new compatibility mode in SFTP settings, allowing for better handling of legacy SFTP operations.
- Updated the SshForm component to include a toggle for the compatibility mode.
- Modified SftpSettings interface and related functions to support the new compatibility mode.
- Enhanced SFTP backend to manage sessions based on compatibility mode, ensuring proper session handling and concurrency.
- Updated tests to validate the new compatibility mode functionality and its impact on SFTP operations.
2026-09-17 21:01:15 +08:00
Kang d67c6056fe fix(importer): tolerate unreadable WindTerm auto-login 2026-09-17 20:25:05 +08:00
Kang a8ef4ff2b5 Merge branch 'main' of https://github.com/nyakang/nyaterm 2026-09-17 20:01:16 +08:00
Kang 24016f4771 feat(sftp): enhance error handling and logging for SFTP operations, including home directory and directory inventory retrieval 2026-09-17 20:01:13 +08:00
Kang c2f1555116 fix(updater): avoid stale MCP backup collisions 2026-09-17 14:36:29 +08:00
Kang caa14ec243 fix(updater): include MCP sidecar in portable builds 2026-09-17 12:57:16 +08:00
Kang 93a0f24b33 Merge branch 'main' of https://github.com/nyakang/nyaterm 2026-09-16 23:40:07 +08:00
Kang 21865224bd feat(terminal): replace MdAddCircleOutline with MdBolt in context menu 2026-09-16 23:40:04 +08:00
Kang 940862cc01 chore: format agent confirmation metadata 2026-09-16 20:16:13 +08:00
Kang c8dab652bc refactor(importer): normalize connection tags across various importers and add tests for tag handling 2026-09-16 10:46:16 +08:00
Kang 9043a9c33c chore(i18n): update translations for tags and file location features in English, Korean, Chinese (Simplified and Traditional) 2026-09-16 09:24:13 +08:00
Kang e7adff7624 refactor(assets): remove OS and accelerator filters, replace with tag-based filtering in asset view 2026-09-16 09:24:05 +08:00
Kang 28e3547927 fix: preserve IME Ctrl+U selection handling 2026-09-15 09:11:50 +08:00
Kang fbccb2a702 ci: surface Homebrew tap workflow failures 2026-09-14 09:14:58 +08:00
Kang 2209843db6 fix(file-explorer): preserve tree focus across virtualization 2026-09-14 01:23:27 +08:00
Kang 1b4da41875 fix(file-explorer): address tree view review feedback 2026-09-14 01:05:20 +08:00
Kang 07256660a8 Merge origin/main into fix/issue-669 2026-09-13 21:55:31 +08:00
Kang a1821cdb61 fix(auth): persist independent account password source
Keep SSH and Telnet account usernames while allowing connection-only password behavior, and preserve Termius host usernames when identity passwords are imported.
2026-09-13 20:29:11 +08:00
Kang 1c30fb8319 feat(auth): support reusable saved accounts
Add optional usernames and account references while preserving legacy password storage and password_id compatibility.

Resolve SSH and Telnet credentials at runtime, keep RDP/VNC password-only behavior, and update account management UI, translations, and tests.
2026-09-13 19:30:40 +08:00
Kang 9a378297c7 fix(ai): fallback to Claude default model for blank requests 2026-09-13 17:15:59 +08:00
Kang 23148a6a14 Merge remote-tracking branch 'origin/main' into fix/issue-644-pr667
# Conflicts:
#	src-tauri/src/core/terminal_session/serial/session.rs
2026-09-13 15:29:51 +08:00
Kang acb2adc1ec docs: update changelog for v1.2.10 2026-09-13 13:56:34 +08:00
Kang 27e6be6e32 chore: bump version to v1.2.10 2026-09-13 13:43:19 +08:00
Kang 044bfe909b chore(i18n): add export notes translations for multiple languages 2026-09-13 13:24:35 +08:00
Kang fa1e35f7e0 feat: add notes export functionality with UI integration and tests (#662)
- Implemented export feature in NotesPanel, allowing users to export notes to a selected directory.
- Added corresponding tests for the export functionality, ensuring correct behavior and error handling.
- Updated NotesPanelHeader to include an export option in the dropdown menu.
- Introduced new types and commands in the backend to support note export operations.
2026-09-13 13:23:53 +08:00
Kang 66b6ed8efc fix(linux): prefer native Wayland for AppImage webviews 2026-09-11 22:19:31 +08:00
Kang 1d786109e5 fix(terminal): cancel stale IME cleanup on restart 2026-09-11 21:34:29 +08:00
Kang 33a9462f0a fix(terminal): clear stale Linux IME composition text 2026-09-11 21:11:49 +08:00
Kang 6317f6ab63 fix(terminal): preserve macOS IME input after modifiers 2026-09-11 20:52:19 +08:00
Kang f10fbaab1c feat(terminal): implement terminal presentation configuration for foreground execution (#559)
- Added `codex_terminal_presentation_max_lines` function to determine max lines based on execution mode.
- Updated `McpManager` to handle terminal presentation settings.
- Introduced `McpTerminalPresentation` struct to manage terminal output presentation.
- Enhanced tests to verify terminal presentation behavior for foreground and background execution.
2026-09-11 20:23:24 +08:00
Kang 208d7bd78d fix(docker): allow stopping restarting containers 2026-09-11 19:24:24 +08:00
Kang c883532cc7 fix(window): avoid Linux modal topmost pulse 2026-09-11 18:59:57 +08:00
Kang b5cc126f03 chore(i18n): add 'Wrap around' search option in English, Korean, Simplified Chinese, and Traditional Chinese locales 2026-09-11 15:36:43 +08:00
Kang 56b4fdf9cd feat(terminal): add wrap-around functionality to search navigation (#543) 2026-09-11 15:36:22 +08:00