- Introduced `embed-resource` dependency to manage Windows application icons.
- Updated `build.rs` to compile Windows resources and include an application icon.
- Enhanced shell command execution to prevent console window from appearing during startup.
- Added validation for Windows application binaries to ensure GUI subsystem and required icon resources are present.
- Updated tests to verify the presence of necessary resources in the Windows executable.
- 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.
- 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.
- 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.
- Modified `.gitattributes` to ensure nested CI scripts under `scripts/ci/` are correctly matched.
- Updated `CONTRIBUTING.md` for clarity and added details on local checks, including the importance of `--no-fail-fast` in testing.
- Introduced new GitHub Actions for setting up Rust and managing documentation workflows, improving CI efficiency.
- Removed the outdated `native-checks.yml` workflow and replaced it with a more comprehensive `rust.yml` workflow for better testing coverage.
- Added scripts for verifying release assets and installing necessary tooling, enhancing the release process.
This commit refines the CI/CD pipeline, ensuring better organization, clarity, and functionality across workflows and documentation.
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)
- 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.