Commit Graph
98 Commits
Author SHA1 Message Date
Kang 1453f6cefe chore: bump version to v2.0.2 2026-11-04 23:19:42 +08:00
Kang 0a1dad0330 chore(sync): merge main and reconcile OpenDAL dependencies 2026-11-04 17:53:16 +08:00
Kang deba0debf9 feat(sync): migrate OAuth drives to OpenDAL with V4 publication
Keep OAuth rotation in NyaTerm and persist credentials before installing refreshed tokens. Validate complete Drive listings and publish verified staged objects without replacing immutable destinations. Aliyun replacement fails closed and preserves existing data and pending recovery.
2026-11-04 17:40:39 +08:00
Kang 9b1a935cb9 refactor(ai): migrate native providers to rust-genai 0.7.3 2026-11-04 17:05:21 +08:00
Kang ce12287ef2 feat(sync): route WebDAV and S3 object access through OpenDAL
Preserve V3/V4 formats, credential ownership, caches and commit protection. Retain fixed Native directory/listing adapters for service compatibility and keep OAuth providers Native until refreshed tokens can be persisted reliably. Add typed errors, safe HTTP transport and local compatibility/fault tests.
2026-11-04 16:14:41 +08:00
Kang cd3b3ba21f chore(deps): update dependencies and references in Cargo files
- Updated the `Cargo.lock` file to reflect new versions and sources for several packages, including `alacritty_terminal`, `gpui`, and `ironrdp`.
- Added new dependencies: `alloca`, `anes`, `bench_metrics`, `c-enum`, `cast`, `ciborium`, `clap`, and their respective versions.
- Removed deprecated dependencies and updated existing ones to ensure compatibility with recent changes.
2026-11-03 09:21:29 +08:00
Kang 65d0b516af chore(deps): update dependency references for gpui and zed packages
- Updated the source references for `gpui`, `gpui-base`, `gpui-kit`, and `gpui_platform` in `Cargo.toml` to point to the latest commits.
- Adjusted the `Cargo.lock` file to reflect the new dependency versions for `zed` and `gpui-kit`, ensuring compatibility with recent changes.
2026-11-03 00:40:59 +08:00
Kang 010f1e4215 feat(agents): add Windows RDP support and remove ActiveX helper
- Introduced `nyaterm-windows-rdp` for Windows Native RDP integration, detailing its architecture and isolation requirements.
- Removed the `nyaterm-activex-helper` crate, including all related files and dependencies, to streamline the project and focus on modern RDP implementations.
- Updated documentation in `AGENTS.md` to reflect these changes and clarify the new architecture.
- Adjusted `Cargo.toml` and `Cargo.lock` to remove references to the deleted ActiveX helper and include the new RDP crate.
- Enhanced CI workflows to configure MSVC for Windows builds, ensuring compatibility with the new RDP implementation.
2026-11-02 19:17:20 +08:00
Kang ceefdce8b0 chore(deps): update gpui-kit dependency references in Cargo files
- Updated the source references for `gpui-base`, `gpui-component`, `gpui-component-macros`, `gpui-kit`, and `gpui-kit-assets` in `Cargo.lock` and `Cargo.toml` to point to the latest commit `355061fbf8446076283931bee2c46e8dfdd949e2`.
2026-11-02 14:26:01 +08:00
Kang 0fd62c9d60 chore(release): bump version to 2.0.1 2026-11-01 14:32:45 +08:00
Kang fdaf1cbbf1 fix(remote-desktop): prompt only for missing VNC credentials
Preserve the helper's missing-password hint through fatal IPC error forwarding, and base prompts on actual negotiation rather than generic authentication failures. Cover inherited connection credentials without retaining extra plaintext state.

Pin vnc-rs nyaterm to 336ed94 for precise Auto security errors, and suppress duplicate Connected notifications under maximum rectangle counts. Validate Windows VNC/remote-desktop regressions, strict workspace clippy, fmt, and architecture boundaries.
2026-10-31 17:45:09 +08:00
Kang cc35a5f93a feat(import): enhance WindTerm session import with master password support
- Implemented functionality to handle WindTerm profiles that require a master password for decrypting saved auto-login information.
- Added new structures and logic to manage session import warnings and incomplete credentials.
- Updated the user interface to prompt for the master password during the import process.
- Enhanced tests to validate the new import behavior, including scenarios with valid and invalid master passwords.
- Updated localization files to include new strings related to the WindTerm master password functionality.
2026-10-31 01:17:47 +08:00
Kang 9c17cb6b2f feat(sync): introduce cloud synchronization features with encryption and AI configuration
- Added new modules for cloud synchronization, including `sync_schema`, `encryption`, and `ai`.
- Implemented encryption for credential values to enhance security.
- Introduced AI configuration policies and structures for managing AI-related data.
- Enhanced `CloudSyncRemote` trait with methods for writing and listing sync files.
- Updated `Cargo.toml` and `Cargo.lock` to include new dependencies and workspace members.
- Added tests for new functionalities to ensure reliability and correctness.
2026-10-30 20:04:25 +08:00
Kang d0e6cb89af feat(remote-desktop): isolate explicit ActiveX sessions in a helper
Replace Auto selection and fallback with explicit IronRDP or Windows backends. Preserve legacy configuration aliases and unknown saved values, and validate ActiveX authentication, clipboard and Relay capabilities.

Move COM, OLE and child window ownership into a dedicated STA helper, use bounded IPC and process reaping, and replace screen capture with overlay visibility handling. Include the host in Windows packaging and add lifecycle regressions.
2026-10-30 00:03:02 +08:00
Kang db1c947bd2 feat(ime): implement terminal IME state management and preedit rendering
This commit introduces a new `TerminalImeState` structure to manage IME text and selection state within the terminal. It enhances the handling of IME preedit text by ensuring proper caret positioning and selection tracking. The implementation includes updates to the terminal rendering logic to paint the IME composition correctly, maintaining visual consistency with the terminal's cursor. Additionally, it refactors existing input handling to integrate the new IME state management, improving user experience during text input with IME. Tests have been added to validate the new functionality and ensure reliability.
2026-10-29 15:02:54 +08:00
Kang 27fac7d3bf build(remote-desktop): update the IronRDP fork
Pin nyakang/IronRDP:nyaterm at b10cd243bc9442a07fcd776568a5fdaf1c64492f,
rebased onto upstream master 3ca12ee63687980ace30cd6ed59c2ab4f57cf157.
Align direct crate requirements with the new breaking releases.

Keep RDPEGFX explicitly disabled and scope certificate exceptions to the
configured endpoint. The fork preserves embedder certificate rejection
and rejects redirected loopback relays before their identity changes.

Windows validation: 4,360 workspace tests passed, 30 ignored; locked
workspace check, all-target Clippy, formatting and both helper builds
passed. Real-server and cross-platform validation remain outstanding.
2026-10-27 14:25:48 +08:00
Kang b9c49f071a feat(sync): integrate httpdate package and enhance cloud sync conflict resolution
- Added the `httpdate` package as a dependency for improved date handling in HTTP requests.
- Introduced new modules for conflict resolution in cloud synchronization, including detailed conflict previews and resolution requests.
- Enhanced error handling in cloud sync operations to classify and manage various error types effectively.
- Updated the portable snapshot structure to include device names for better identification during sync operations.
- Improved debug output to redact sensitive information in HTTP requests and responses.
- Added localization strings for new sync features in English, French, and Japanese.
2026-10-26 22:44:11 +08:00
Kang 1827027fb3 chore(release): bump version to 2.0.0 2026-10-26 14:26:14 +08:00
Kang 679c43936d chore(release): bump version to 2.0.0-preview.9 2026-10-23 18:48:15 +08:00
Kang 02e18d0135 feat(clipboard): enhance clipboard management with new input handling and tests
- Introduced a new `ClipboardInput` enum to manage different input sources for clipboard operations, improving flexibility in handling clipboard messages.
- Updated the `ClipboardBridge` to utilize the new input handling structure, allowing for better integration with test scenarios.
- Added a comprehensive test suite for clipboard functionality, ensuring robust handling of clipboard messages and format requests.
- Enhanced error handling in clipboard operations to provide clearer feedback on channel states and message processing.
2026-10-23 16:55:51 +08:00
Kang 2a27ce3750 chore(release): bump version to 2.0.0-preview.8 2026-10-21 19:20:00 +08:00
Kang 04333542f7 chore(dependencies): update package versions and sources in Cargo files
- Updated the `Cargo.lock` file to reflect new versions for several dependencies, including `bit-set` (0.11.1), `bit-vec` (0.10.1), and `glow` (0.18.0).
- Changed the source revisions for `alacritty_terminal`, `gpui`, and `zed` to their latest commits.
- Added new dependencies `borsh` and `borsh-derive` with version 1.8.1.
- Updated `Cargo.toml` to align with the new dependency versions and sources.

Validated with dependency resolution checks and build tests.
2026-10-20 01:14:16 +08:00
Kang 92de06b7ac chore(dependencies): update git references for multiple packages in Cargo files
- Updated the source references for several packages in Cargo.lock and Cargo.toml to point to new commits in the respective repositories.
- Changed `gpui`, `gpui-base`, `gpui-kit`, and `gpui_platform` to their latest commit hashes to ensure compatibility and access to recent changes.

Validated on Windows with workspace checks, tests, formatting, and all-target clippy.
2026-10-18 15:11:44 +08:00
Kang 2736e13ab6 chore(release): bump version to 2.0.0-preview.7 2026-10-17 23:49:03 +08:00
Kang 4ce2e3c94f feat(remote-desktop): implement resource management and error handling for uploads
- Introduced `uploads_stopped` flag in `RemoteDesktopSessionState` to manage upload states effectively.
- Enhanced error handling in remote desktop sessions to stop uploads on resource exhaustion and handle reconnection attempts.
- Added `release_inactive_textures` method to clean up unused textures when switching sessions.
- Implemented `TransferWire` for non-blocking transport capacity management during file transfers.
- Updated tests to validate new upload failure handling and resource management logic.

Validated on Windows with workspace checks, tests, formatting, and all-target clippy.
2026-10-17 09:30:10 +08:00
Kang a631c475ce feat(terminal): integrate jsonc-parser for Windows Terminal compatibility (#908)
- Added `jsonc-parser` dependency to handle JSONC settings for Windows Terminal.
- Implemented `windows_terminal` module to resolve shell aliases and command lines from Windows Terminal settings.
- Enhanced `ResolvedLocalShell` to utilize the new alias resolution logic, improving shell command handling.
- Introduced tests for shell resolution and environment matching, ensuring accurate behavior with Windows Terminal profiles.
- Refactored local session creation to support the new shell resolution mechanism, enhancing overall session management.
2026-10-15 15:11:53 +08:00
Kang 9827c8d2a3 feat(tests): introduce TestAppCleanup for improved test context management
- Added a new `TestAppCleanup` struct to ensure proper cleanup of visual contexts in tests, preventing resource leaks.
- Updated existing tests to utilize `TestAppCleanup`, ensuring that visual contexts are released correctly at scope exit.
- Enhanced test reliability by verifying that cleanup occurs during both normal execution and panic scenarios.
- Refactored test fixtures to include `TestAppCleanup`, improving consistency across test cases.
2026-10-15 09:47:54 +08:00
Kang 43e81cbece fix(drag-and-drop): improve internal drag cancellation and hover handling (#901)
- Updated drag cancellation logic to ensure proper cleanup of internal drag states when the escape key is pressed or when a pointer cancel event occurs.
- Enhanced the handling of drop hover states across various components, ensuring that the UI reflects the correct state during drag operations.
- Added tests to verify the behavior of drag cancellation and hover states, ensuring robustness in user interactions.
- Refactored related functions for clarity and maintainability, improving overall code quality.
2026-10-14 23:50:10 +08:00
Kang 3cebee762f chore(dependencies): update gpui-kit references in Cargo files
- Updated the `gpui-base` and `gpui-kit` dependencies in `Cargo.toml` and `Cargo.lock` to point to the latest commit revision, ensuring access to recent changes and improvements.
- Added a new `NotificationDividerFixture` struct and corresponding tests in `root.rs` to enhance the UI's notification handling and interaction with dividers, improving user experience and functionality.
2026-10-13 20:23:23 +08:00
Kang 757be9d12d chore(release): bump version to 2.0.0-preview.6 2026-10-13 14:33:03 +08:00
Kang a157bcdd01 chore(dependencies): update Cargo.lock and Cargo.toml for upstream revisions
- Updated dependencies for `alacritty_terminal`, `gpui`, `russh`, `russh-sftp`, `IronRDP`, and `vnc-rs` to their latest upstream revisions, ensuring compatibility and access to new features.
- Adjusted `Cargo.toml` to reflect the new git revisions for various packages, enhancing project stability and maintainability.
- Refined input handling in `nyaterm-ui` to improve user experience with dynamic input heights and right-click menu interactions.
- Added a new report documenting the synchronization of forks and the changes made during this update cycle.
2026-10-13 11:37:11 +08:00
Kang e25be3f831 chore(dependencies): update git revisions for multiple packages and clean up localization strings
Updated the source revisions for several dependencies in Cargo.lock and Cargo.toml to the latest commits, including `gpui`, `gpui-base`, `gpui-kit`, and `gpui_platform`. Additionally, removed outdated drag-and-drop related strings from the localization files in English, French, Japanese, Korean, Simplified Chinese, and Traditional Chinese to streamline the user experience.
2026-10-07 22:31:02 +08:00
Kang 3493c2ffad feat(transfers): enhance drag-and-drop functionality for file transfers
Improved the drag-and-drop experience in the file transfer panel by adding support for dragging both files and directories. Updated the user interface to provide clearer feedback during drag operations, including new messages for drag preparation and readiness. Enhanced the underlying logic to handle multiple file types and ensure a seamless transfer experience. Additionally, introduced tests to validate the new drag-and-drop behavior across various scenarios, ensuring robustness and reliability.
2026-10-07 18:47:38 +08:00
Kang b00ae7cde0 chore(dependencies): update git revisions for multiple packages
Updated the source revisions for several dependencies in Cargo.lock and Cargo.toml to the latest commits. This includes changes for `gpui`, `gpui-base`, `gpui-kit`, and `gpui_platform`, ensuring the project uses the most recent versions from the respective repositories. Additionally, added new localization strings for drag-and-drop functionality in multiple languages within the nyaterm-desktop locale files.
2026-10-07 11:27:52 +08:00
Kang 8fd2e9a65a chore(release): bump version to 2.0.0-preview.5 2026-10-05 23:31:23 +08:00
Kang cb2544fe4b feat(settings): add recording input option and localization updates
Introduced a new setting for recording user input, which is disabled by default. Updated the AppSettingsSummary struct to include this option and added corresponding tests to ensure its functionality. Enhanced localization files for English, French, Japanese, Korean, Simplified Chinese, and Traditional Chinese to include descriptions for the new setting, improving user guidance on input recording. Additionally, updated dependencies in Cargo.toml and Cargo.lock to include new libraries for enhanced functionality.
2026-10-05 09:45:09 +08:00
Kang 2ffbaf995d feat(plugins): introduce V1 plugin system with manifest and invocation support
Add a new plugin architecture allowing for dynamic plugin management and execution. This includes the implementation of plugin manifests, action validation, and parameter handling. Introduced new modules for plugin invocation, manifest parsing, and preferences management. Updated the core library to support plugin integration and added tests for plugin functionality. Localization updates for plugin management UI in multiple languages were also included.
2026-10-04 15:42:04 +08:00
Kang feb7b34724 build(deps): pin protocol and Windows environment alignment patches
Update the nyaterm forks of zmodem2, portable-pty and vnc-rs for ESCCTL, fresh registry environments and RA2_256. Enable SOCKS support and helper hashing/request IDs for subsequent integration commits. Fork validation and revisions are recorded in each NYATERM.md.
2026-10-04 08:36:17 +08:00
Kang 422f628d15 chore(dependencies): update git revisions and versions in Cargo files
- Updated the source revisions for several dependencies in Cargo.lock and Cargo.toml to the latest commits.
- Bumped the version of `gpui-base`, `gpui-component`, `gpui-macros`, `gpui-kit`, and `gpui-kit-assets` to 0.7.0.
- Adjusted dependencies in `gpui_apple` and `gpui_linux` to reflect the latest changes.
- Removed unused dependencies and updated existing ones for better compatibility and performance.
2026-10-01 14:11:39 +08:00
Kang d37cd2a042 feat(conpty): integrate bundled ConPTY support for Windows
- Added support for a bundled ConPTY implementation on Windows, enhancing local terminal functionality.
- Updated the Cargo.toml and Cargo.lock to include the new `nyaterm-transport` dependency.
- Implemented configuration and status checks for the bundled ConPTY in the application.
- Enhanced the UI to display ConPTY status and added localization for related messages in multiple languages.
- Updated release scripts to package and verify ConPTY files for Windows distributions.
- Added tests to ensure proper functionality and integration of the ConPTY feature.
2026-09-29 20:07:19 +08:00
Kang 4aae108050 chore(release): bump version to 2.0.0-preview.4 2026-09-29 10:53:12 +08:00
Kang a615dfd74e chore(release): bump version to 2.0.0-preview.3 2026-09-27 10:17:21 +08:00
Kang 3615523f6f chore(release): bump version to 2.0.0-preview.2 2026-09-22 18:21:20 +08:00
Kang d759e15b00 feat(workspace): enhance workspace UI state management
- Introduced new fields in `OpenWorkspaceRequest` and `WorkspaceUiState` to support additional layout configurations.
- Updated validation logic to include new panel dimensions, ensuring UI integrity.
- Implemented functions to normalize workspace UI state during creation and restoration.
- Enhanced workspace management by integrating UI state into the workspace opening process, allowing for better user experience and consistency across sessions.
- Added tests to verify the correct handling of workspace UI state during various operations.
2026-09-22 17:03:17 +08:00
Kang cbdcf7fcfa chore(dependencies): update various crate versions and references
- Updated `zvariant` to version 5.15.0 and `zbus` to version 5.19.0 in `Cargo.lock`.
- Bumped versions for `aes`, `aes-gcm`, `cpufeatures`, `thiserror`, `async-compression`, `async-trait`, `bitflags`, `blake2`, `blocking`, `borsh`, `bstr`, and `base62` to their latest releases.
- Adjusted `Cargo.toml` to reflect updated git references for `gpui` and `ironrdp` components, ensuring consistency in dependency management.
- Enhanced desktop update handling in `nyaterm-rdp-helper` by implementing new structures and methods for better framebuffer management.
2026-09-22 11:52:28 +08:00
Kang 35b602e0d6 chore: update gpui references and dependencies
- Replaced instances of `gpui_component` with `gpui_kit` across multiple files to align with the new naming convention.
- Updated `Cargo.toml` to reflect changes in dependency versions and sources, ensuring consistency in project structure.
- Adjusted asset loading and initialization logic to utilize the new `gpui_kit` structure, enhancing maintainability and clarity.
- Removed obsolete references and streamlined imports for improved code organization.
2026-09-22 08:13:03 +08:00
Kang cc8856f9c1 chore(dependencies): update gpui component references in Cargo.toml
- Changed references from `gpui-component` to `gpui-kit` in the Cargo.toml file to reflect the new repository structure.
- Updated the patch section to clarify the source of `zed-reqwest`, ensuring consistency in dependency management.
2026-09-21 23:58:53 +08:00
Kang 2de69744a8 chore(Cargo): update version to 2.0.0-preview.1 for preview release 2026-09-19 00:59:50 +08:00
Kang 623e040551 feat(updater): enhance update mechanism with semver support and manifest handling
- Added `semver` dependency to manage versioning.
- Introduced `UpdateManifest` struct for parsing and validating update manifests.
- Implemented logic to select update artifacts based on platform and architecture.
- Updated the update check process to utilize the new manifest structure.
- Enhanced error handling for update signature verification and manifest parsing.
- Modified update status messages for clarity in the UI.
- Added tests for new functionality and error cases in the update process.
2026-09-19 00:02:11 +08:00
Kang b42b5fad5f feat(core): backport compatible domain and transport capabilities
Add SSH config import and host-key aliases, reusable accounts, authoritative tags, known-host management, public-key extraction, consistent notes snapshots and portable Markdown export planning. Add serialized SFTP compatibility sessions and redacted diagnostics plus upload-only X/YMODEM state machines.

Preserve redb keys, credential encryption, backup document keys and legacy password_id semantics. Cover defaults, opaque-field round trips, portable snapshots and protocol peers. This foundation commit requires the following GPUI integration commit for the complete application build.
2026-09-18 13:42:21 +08:00