- Replaced all instances of `gpui-component` with `gpui-kit` across various files to reflect the new naming convention.
- Updated Cargo.toml and documentation to ensure consistency in dependency management and integration boundaries.
- Adjusted comments and code references to align with the new structure, enhancing clarity and maintainability.
- 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.
- Introduced the `TestConfigDir` utility to streamline the creation and management of temporary test directories, ensuring consistent naming and cleanup across various test modules.
- Updated multiple test files to utilize `TestConfigDir`, enhancing clarity and reducing redundancy in test setup.
- Improved the robustness of test directory handling, particularly in scenarios involving concurrent test execution, to prevent conflicts and ensure isolation.
- Added assertions to verify the correct cleanup of test directories after execution, reinforcing the integrity of the testing environment.
- Replaced wildcard imports with explicit imports in test modules across multiple files, enhancing code readability and maintainability.
- This change improves the clarity of dependencies in test cases, making it easier to understand which components are being utilized in each test.
- 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.
Route short-lived blocking work through a bounded scheduler with cooperative cancellation, typed outcomes, panic containment, and shutdown metrics. Own and join long-lived desktop workers, including transfer watchers and protocol pipelines, and enforce the remaining thread constructors through the architecture allowlist.
Keep absolutely positioned popup geometry on non-scrolling shells and move scrolling into in-flow NyaScrollable children. Expose horizontal overflow in the app menu and session tabs, preserve dedicated editor scrollbars, and retire the wildcard-import and popup-scroll architecture exceptions.
Clear the existing workspace Clippy warnings and make warnings fatal in CI. Add a budgeted architecture check that prevents new crate-boundary, raw-thread, raw-scroll, module-path, and wildcard-import debt while requiring every temporary exception to stay justified and current.
- 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.
The docs site was not in any CI path filter, so nothing built it and nothing
compared the two locales. That is how the English pages drifted several
sections behind Chinese and how seven internal screenshot-planning notes stayed
published.
- Add scripts/ci/check_docs_translations.py, covering what a Docusaurus build
does not: a page existing in only one locale, a heading-count mismatch
between the two copies, a page no sidebar references, and authoring
leftovers (screenshot-planning notes, /img/docs/ paths, scripts/demo-*.sh
references, stray TODO markers). Verified it fails on each of those by
reintroducing them.
- Add a Documentation site job that runs the script and then builds every
locale, and add docs-site/** to the workflow path filters.
- Fix docs-site/pnpm-workspace.yaml, whose allowBuilds entries still held the
placeholder text "set this to true or false". That made every `pnpm install`
in the site fail with ERR_PNPM_IGNORED_BUILDS, which means the
`pnpm --dir docs-site build` command our own contributing guide tells people
to run did not work. Deny the four build scripts explicitly; none is needed
to build the site.
- Correct the homepage, which still advertised only SSH, local shell, Telnet,
and serial: the workspace card, the docs card, and the page description now
name RDP, VNC, and the AI assistant. The three retargeted translate() keys
are updated in i18n/en/code.json so English does not fall back to Chinese.
- Document the new script in the setup and contributing guides, replacing the
note that said no translation-completeness check exists.
Verified with `python3 scripts/ci/check_docs_translations.py`,
`pnpm --dir docs-site install --frozen-lockfile`, and
`pnpm --dir docs-site build`, and by confirming the new homepage strings render
in both locales.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
- Deleted `check-icon-references.sh` script which verified icon references in the UI.
- Removed `icons.manifest` file that served as a vendor manifest for bundled icon assets.
- Eliminated `package-windows.ps1` script used for packaging the Windows application.
- Removed `sync-icons.sh` script responsible for syncing icon assets from upstream sources.
- Updated the terminal context menu to include session ID for all actions, ensuring context-sensitive behavior.
- Improved search engine URL handling to default to Google when no template is provided.
- Enhanced URL encoding to support additional characters.
- Added tests for search engine URL generation and query encoding.
- Refactored recording menu items to reflect the current session's recording status and actions.
- Updated translations for new recording log actions and settings.
- Introduced minimum width for context menus to improve usability.
- Updated icon paths in the manifest for consistency with Material Design.
- Introduced GPU and Ascend NPU monitoring panels in the application.
- Updated navigation and activity bar to include GPU and NPU options.
- Implemented views for GPU and NPU monitoring with appropriate refresh functionality.
- Added localization support for GPU and NPU labels in English and Chinese.
- Created SVG icons for GPU and NPU.
- Enhanced session management to handle session ID replacements for transfers.
- Updated tests to ensure session ID migration preserves state for reconnected SFTP sessions.
- Introduced a `locked` field in `PendingSessionStartRegistration` to manage tab lock state.
- Implemented methods to lock and unlock tabs, including `set_tab_tree_locked` and `toggle_tab_tree_locked`.
- Updated session state management to handle locked tabs, including migration of lock state during session presentation.
- Enhanced tab mouse actions to respect lock state, preventing actions on locked tabs.
- Added UI elements for locking and unlocking tabs, including icons and context menu options.
- Updated localization files to include new strings related to tab locking functionality.
- Improved session closing logic to notify users when attempting to close locked tabs.
- Simplified the display specification resolution in `x11.rs` by replacing `unwrap_or_else` with `unwrap_or`.
- Enhanced cookie parsing logic in `x11.rs` using pattern matching for cleaner code.
- Added a default implementation for `ZmodemDetector` in `zmodem.rs`.
- Streamlined event handling in `ZmodemTransfer` by utilizing pattern matching in `if let` statements.
- Updated documentation to reflect changes in architecture and module organization.
- Removed unused imports and ensured all modules adhere to the new import guidelines.
- Cleared all `use super::*` imports in both desktop and terminal-GPUI crates.
- Enforced explicit imports in test modules to maintain clear dependencies.