Commit Graph
100 Commits
Author SHA1 Message Date
Kang a12106cb1b refactor(AiTab): remove unused scrollbar logic and simplify provider list rendering 2026-10-02 20:00:04 +08:00
Kang af5750cd1a fix(ci): enhance release validation in build-release workflow to check for prerelease status 2026-10-02 14:39:56 +08:00
Kang de4e6a47cc fix(ci): update permissions in build-release workflow to allow write access for draft releases 2026-10-02 14:36:12 +08:00
Kang a21b04ff6a feat(ci): add release verification job to ensure draft releases are ready before building 2026-10-02 10:27:36 +08:00
Kang 06e1a7a598 docs: Add new images for file tree view, keyword highlight presets, and NyaTerm 2.0 preview 2026-10-02 10:27:21 +08:00
Kang 1a1c77fc53 fix(sync): account for snapshot overwrites in capacity pruning 2026-10-01 20:46:40 +08:00
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 e15af8f6c5 fix(vnc): prevent stale trusted key writeback 2026-10-01 18:26:34 +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
Kang b895c80b29 fix(ssh): keep prompt hook out of child shells 2026-10-01 15:16:57 +08:00
Kang 3de2029125 feat(terminal): improve PowerShell prompt handling for virtual environments
- Updated the PowerShell prompt initialization to better manage virtual environment prompts, ensuring that the original prompt is preserved and restored correctly.
- Added a new test to validate that the virtual environment prompt survives idle repairs and deactivation, preventing recursive prompt issues.
- Enhanced the prompt wrapper logic to avoid cycles when dealing with shared delegates, improving overall stability.
2026-10-01 14:55:48 +08:00
Kang 0d8c0dc5eb feat(app): integrate new hooks for enhanced app window event handling and asset monitoring
- Introduced `useAppWindowEvents` hook to manage cross-window events, including session creation and security prompts.
- Added `useAssetMonitoringCache` hook for efficient handling of asset monitoring data, ensuring snapshots are managed correctly during session lifecycle.
- Implemented `useConnectAfterEdit` hook to streamline session reconnections after edits, improving user experience.
- Created comprehensive tests for the new hooks to validate functionality and ensure reliability in various scenarios.
2026-10-01 12:25:42 +08:00
Kang 1c2175182d feat(network-history): improve session management in useNetworkHistory and useRemoteStats hooks
- Enhanced the useNetworkHistory hook to manage live session IDs, allowing for the eviction of closed sessions while retaining live history.
- Updated the useRemoteStats hook to incorporate live session management, ensuring that only active sessions are monitored and stale data is properly handled.
- Added tests to validate the behavior of session eviction and caching, ensuring that closed sessions do not affect live data retrieval.
2026-10-01 11:52:22 +08:00
Kang 37af812c48 feat(remote-stats): enhance session management and caching in useRemoteStats hook (#828)
- Added caching mechanism for remote stats using a Map to store session data, improving performance and reducing unnecessary fetches.
- Implemented tests to validate session ownership behavior, ensuring cached stats are restored correctly during session switches and polling only occurs for active sessions.
- Enhanced handling of manual refreshes to prevent stale data from affecting new session states.
2026-10-01 11:38:45 +08:00
Kang 540784da95 Merge branch 'main' of https://github.com/nyakang/nyaterm 2026-10-01 11:04:13 +08:00
Kang fe0d824d08 feat(quick-commands): add QuickCommandEditor component and tests (#824)
- Implemented the QuickCommandEditor component for enhanced command input with undo/redo functionality.
- Added unit tests to validate selection preservation, external value handling, and proper rendering in StrictMode.
- Removed the deprecated QuickCommandScriptEditor from QuickCommandPage and integrated QuickCommandEditor for a more streamlined user experience.
2026-10-01 11:04:11 +08:00
Kang f728210050 fix(packaging): guard externally managed updates 2026-10-01 00:55:07 +08:00
Kang a0c0ee5b1d feat(agent): enhance conversation history management in agent interactions (#825)
- Introduced `build_initial_agent_conversation` function to construct the initial conversation with prior messages, ensuring context is maintained across sessions.
- Implemented logic to filter and limit history messages based on session ID and specified history turns.
- Updated `run_agent_stream` to utilize the new conversation building function, improving the handling of user input and assistant responses.
- Added unit tests to validate the correct restoration of previous turns and session-specific history management.
2026-09-30 13:24:50 +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