Commit Graph
16 Commits
Author SHA1 Message Date
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 f89a8edb8a feat(portable): implement Windows portable update handling and validation (#1089)
- Added support for testing and validating portable updates on Windows, including handling ARM64 executables.
- Introduced a new module for managing the portable package contract, ensuring consistency between the Rust and Python packaging processes.
- Updated the release workflow to include tests for portable ZIP files, validating their structure and contents against the defined contract.
- Enhanced error handling for portable updates, including recovery mechanisms for failed updates.
- Added comprehensive tests to ensure the integrity and correctness of portable package handling.

This update significantly improves the reliability and user experience of the portable updater, addressing previous issues with ConPTY and ActiveX file handling.
2026-11-01 19:41:17 +08:00
Kang bd2d91ef82 feat(protocols): implement URL protocol handling for Windows
- Added support for registering and unregistering URL protocols on Windows, allowing external applications to invoke NyaTerm.
- Introduced a new module for managing URL protocol registration, including functions for creating, setting, and deleting registry keys.
- Updated the main application logic to handle incoming protocol requests and execute corresponding actions.
- Enhanced the activation request parsing to accommodate new connection types and behaviors.
- Added tests to validate the URL protocol registration and handling functionality.

This update significantly improves the integration of NyaTerm with external applications, enhancing user experience and connectivity options.
2026-11-01 12:41:49 +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 9663a91287 feat(release): add Windows MSI packaging and verification
- Implemented MSI packaging for stable releases, including installation scripts and metadata generation.
- Added tests to ensure MSI files are correctly generated and verified against expected properties.
- Updated release workflows to include MSI installation and signing steps.
- Enhanced artifact management to conditionally include MSI files based on release type.
2026-10-26 17:33:24 +08:00
Kang 3cd8bdf7dd feat(windows_resources): enhance Windows application versioning and resource management (#979)
- Added support for embedding version information in Windows executables, including major, minor, patch, and revision components.
- Updated the build script to generate a comprehensive Windows resource file with application metadata.
- Implemented tests to validate the correct embedding of version information and resource requirements for Windows applications.
- Enhanced the verification process for Windows applications to ensure the presence of version resources and correct metadata.
- Introduced new tests for handling versioning edge cases and ensuring compliance with Windows versioning standards.
2026-10-24 14:25:53 +08:00
Kang 93abf05182 feat(icons): add macOS application icon and documentation (#958)
- Introduced a new macOS application icon (`icon.icns`) to enhance the visual identity of the app.
- Added a README file in the icons-macos directory to provide context and usage instructions for the icon.
- Updated the packaging script to correctly reference the new icon location for macOS bundles.
2026-10-22 16:31:15 +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 4cda513e17 fix(installer): add launch option to Windows finish page 2026-09-26 00:30:24 +08:00
Kang 4d4494f783 fix(release): harden preview native packaging 2026-09-19 10:28:43 +08:00
Kang 6c92ec455b feat(app_identity): introduce application flavor management for stable and preview versions
- Added `AppFlavor` enum to distinguish between stable and preview application identities.
- Updated various components to utilize the current application flavor for configuration, logging, and UI elements.
- Enhanced the update mechanism to ensure compatibility with the respective application flavor.
- Implemented tests to validate flavor-specific behavior and configuration isolation.
- Modified native menus and title bars to reflect the correct application name based on the current flavor.
2026-09-19 00:39:32 +08:00
Kang 105317b106 build(release): package the MCP helper
Ship nyaterm-mcp beside the application in native packages and verify its presence in packaging tests and AUR artifacts.
2026-09-01 10:24:09 +08:00
Kang 8e27865206 ci(contributing, docs): enhance contribution guidelines and installation instructions
- Updated the `CONTRIBUTING.md` to include additional test commands for release asset verification and package metadata generation.
- Revised `README.md` and `README.zh-CN.md` to clarify the installation process for Windows portable editions and added details on migrating from Tauri to GPUI.
- Introduced new workflows for publishing to AUR, Gitee, and Homebrew, ensuring streamlined release processes across platforms.
- Added a new `actionlint.yaml` for workflow syntax validation, improving CI/CD reliability.
- Enhanced documentation to reflect changes in artifact versioning and release management, ensuring clarity for contributors and users.
2026-08-31 10:32:18 +08:00
Kang e1201a413c ci(release): strengthen native package validation 2026-08-28 00:49:08 +08:00
KangandClaude Opus 5 (1M context) f07e2745df feat(remote-desktop): introduce nyaterm-vnc-helper and enhance IPC handling
Added the `nyaterm-vnc-helper` crate to manage VNC sessions in a separate process, improving security and stability. Updated the IPC protocol to facilitate communication between the main application and the VNC helper, including new control messages and error handling. Refactored existing code to utilize helper processes for both RDP and VNC, ensuring consistent session management and error reporting.

- Updated Cargo.toml and Cargo.lock to include the new helper.
- Refactored remote desktop session management to support helper processes.
- Enhanced error handling for VNC-specific scenarios.
- Added tests for the new VNC helper functionality.

Co-Authored-By: Claude Opus 5 (1M context)
2026-08-20 17:18:34 +08:00
Kang 6e111b0bca ci: add verification scripts and tests for native package releases
- Implemented `verify_native_package.py` to validate release artifacts for NyaTerm.
- Added tests for package validation in `test_verify_native_package.py`.
- Created initial test suite in `__init__.py` and added tests for package native functionality in `test_package_native.py`.
- Included checks for Windows, macOS, and Linux package formats and metadata.
- Ensured safe archive path verification and proper error handling for missing artifacts.
2026-08-16 23:40:27 +08:00