- Introduced a new `heads` module to manage device heads and their synchronization states, improving cloud sync reliability.
- Added functionality to handle concurrent snapshot publications, ensuring both branches are retained until explicitly resolved.
- Enhanced the `CloudLocalStore` trait with `apply_sync_snapshot_checked` to validate content before applying snapshots, preventing conflicts.
- Updated the `CloudSyncState` and `RemoteSyncPointer` structures to include synchronization clocks, enabling better tracking of snapshot revisions.
- Implemented tests for concurrent head management and regression scenarios, ensuring robust handling of cloud sync operations.
- Introduced a new `TransferAdmission` module to manage bulk transfer job admission and lifecycle.
- Updated transfer job status handling to include a "Queued" state, allowing for better management of concurrent transfers.
- Enhanced the reconciliation logic to support bulk job admission limits based on user-defined settings for download and upload threads.
- Added localization strings for transfer job statuses in multiple languages, improving user experience.
- Implemented tests to validate the functionality of the new bulk admission feature and ensure correct behavior across various scenarios.
- Introduced a new method to apply minimum contrast ratios for terminal text against backgrounds, enhancing readability.
- Refactored existing palette application logic to utilize the new contrast ratio functionality.
- Added tests to validate the correct application of minimum contrast ratios across various settings.
- Updated terminal rendering components to support the new contrast adjustments, ensuring consistent visual output.
- Introduced `ExecutionRecordingEvent` to manage recording boundaries and output during terminal executions.
- Updated `TerminalExecutionState` to capture and submit execution recordings, including command boundaries and output text.
- Enhanced `NyaTermApp` to record automated terminal commands and manage recording state effectively.
- Added tests to validate the new recording functionality, ensuring accurate capture of command execution and output.
- Improved documentation on session recording to reflect new features and usage scenarios.
- Added new localized messages for recording operations in English, French, Japanese, Korean, Simplified Chinese, and Traditional Chinese to improve user experience and clarity.
- Updated the recording panel UI to reflect the new status messages, including session requirements, error handling, and notifications for recording actions.
- Refactored recording logic to streamline session management and improve responsiveness during recording operations.
- Introduced layout tests to ensure the recording panel maintains proper formatting and functionality across various scenarios.
- Enhanced manual tests to validate recording behavior and error handling, ensuring robustness in different recording contexts.
- 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.
- Updated methods to ensure the transfer browser's visibility state is accurately managed during panel interactions and session transitions.
- Refactored `ensure_panel_open` to accept a context parameter, improving the handling of browser visibility changes.
- Introduced logic to clear pending CWD sync and restore browser navigation state during session lifecycle events, enhancing user experience during session switches.
Validated with workspace checks and tests.
- Added functionality to rebind Zmodem recording during session transfers, ensuring accurate data capture.
- Implemented new methods for starting and finishing Zmodem runtime, improving session event handling and state management.
- Enhanced session event bridge to support protocol consumer binding and asynchronous event pushing, optimizing event processing.
- Updated tests to validate new Zmodem runtime behaviors and ensure proper handling of session events during transfers.
Validated on Windows with workspace checks, tests, formatting, and all-target clippy.
- Removed unused structures and enums related to agent capture, streamlining the codebase.
- Updated the `build_agent_capture_command` function to use the new `AiExecutionProfile` model from the connection module.
- Cleaned up imports and adjusted the public API in `lib.rs` to reflect the changes in agent capture functionality.
Validated on Windows with workspace checks, tests, formatting, and all-target clippy.
- Introduced `window_material` and `window_background_opacity` to the application settings, allowing users to customize window appearance.
- Created a new `window_material` module to handle different window material types (Opaque, Transparent, Blurred).
- Updated `AppSettingsSummary` to include new fields for window material and background opacity, with default values.
- Enhanced the settings panel to provide UI controls for adjusting window material and opacity, including sliders and dropdowns.
- Implemented tests to ensure correct functionality of new settings and their persistence across sessions.
Validated on Windows with workspace checks, tests, formatting, and all-target clippy.
- 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.
- 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.
- 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.
- Updated `.gitignore` to exclude renderer artifacts.
- Added `hdrhistogram` and `gpui_wgpu` dependencies to `Cargo.lock`.
- Introduced `gpui_platform` and `serde_json` as optional dependencies in `Cargo.toml`.
- Implemented a new example `renderer_probe` for benchmarking native rendering performance.
- Enhanced `CellGlyphPaintPlan` to support shade region merging and improved rendering efficiency.
- Updated tests to validate new rendering features and ensure correct behavior of text decorations.
- Documented changes in `terminal-rendering.md` to clarify rendering logic and performance benchmarks.
- Updated the `compress_render_row` function to retain blank spans with non-default styles.
- Added tests to ensure that styled trailing blanks are preserved during rendering.
- Introduced a new module for handling cell glyphs, enabling support for block elements and box-drawing characters.
- Updated layout cache and rendering logic to accommodate cell glyphs and their attributes.
- Documented changes in terminal rendering to clarify the handling of backgrounds and glyphs.
Improved the drag-and-drop experience for file transfers by refining the logic for drag operations, including support for virtual file dragging and enhanced feedback during transfers. Introduced a new `DragAggregate` struct to manage the state of drag operations, ensuring better handling of multiple files and their transfer statuses. Updated the transfer job management to accommodate these changes, including coalescing progress events for improved performance. Additionally, added tests to validate the new functionality and ensure robustness in various scenarios.
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.
Added support for drag-and-drop file export in the transfer panel, allowing users to drag files from the file browser to external applications. This includes enhancements to the drag preview display and the handling of multi-file selections. Updated the transfer job management to accommodate drag export events, ensuring a seamless user experience. Additionally, introduced tests to validate the drag export behavior across different scenarios.
Park idle guest workers and the epoch clock, and publish runtime faults as
explicit events. Prepare up to two replacements in the background while
serializing registry commits and preserving per-plugin request ordering.
Derive ABI constants and marker bytes from WIT. Retain ephemeral plugin/action
provenance through draft append, replacement and editing, with localized UI.
Preserve the V1 ABI, sandbox, package transactions and persisted formats.
Validation on Windows: cargo check --workspace; cargo test --workspace;
cargo fmt --all -- --check; cargo clippy --workspace --all-targets;
SDK guest builds, example component validation and SDK package verification.
Refactored the AutoSync functionality by moving the core logic into a new `coordinator` module. This change encapsulates the AutoSyncCoordinator struct, which manages synchronization jobs, mutation handling, and state transitions. The DesktopController now interacts with the coordinator for auto-sync operations, improving code organization and maintainability. Additionally, comprehensive tests were added to ensure the correctness of the new implementation, including handling of job completions and mutation notifications.
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.
Introduced a new job in the GitHub Actions workflow for the Plugin SDK, which includes steps for checking out the repository, setting up Rust with necessary components, installing Linux dependencies, checking formatting, building SDK guests, and verifying the packaged SDK. Updated the Rust gate job dependencies to include the new plugin-sdk job.
Additionally, refactored the NyaTermApp to improve the handling of floating panel close actions based on the current panel state, ensuring better user experience. Enhanced plugin management by implementing shutdown procedures and revising invocation checks to include expected revisions, improving stability and error handling during plugin operations.
Added comprehensive tests for the plugin service to validate the new functionality and ensure robust performance across various scenarios.
Added a new plugins feature, including an SVG icon for the plugins panel and updated the activity bar layout to include the plugins entry. Enhanced the settings model to default to including plugins in the left bottom activity bar. Updated the application state management to support the new plugins feature, ensuring proper focus handling and panel management. Removed deprecated plugin manager methods and adjusted tests to validate the new layout and functionality.
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.
Require line-editor context for echo-based editing and zeroize unconfirmed
input when sessions deactivate. Share the physical keyboard press/release
encoder for synthetic navigation and backspace, and reject stale command
suggestion inputs.
Add regression tests for foreground echo, Docker prompts, input retention,
suggestion confidence, redacted debug output, and Kitty keyboard encoding.
Validated on Windows: workspace check, clippy --all-targets, fmt --check,
workspace tests with --test-threads=1, and the PowerShell/ConPTY Free Type
smoke test. Parallel test runs encountered intermittent existing ConPTY
close timeouts and AI proxy nonblocking socket failures; details are in
docs/shell-free-type-hardening.md.
- 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.