Commit Graph
2448 Commits
Author SHA1 Message Date
Kang 144ac9b665 feat(workspace): implement workspace management and window handling
- Added `WorkspaceId` and `WorkspaceRestoreManifest` for managing workspace states.
- Introduced `DesktopController` to handle window lifecycle and activation requests.
- Updated `AppShell` to support multiple workspaces and improved window state persistence.
- Enhanced localization files to include new window management options.
- Refactored activation handling to support reusing existing windows based on user commands.
2026-09-20 10:10:39 +08:00
Kang bef22402dd ci(release): support reusable GPUI release workflow 2026-09-19 17:32:01 +08:00
Kang ba809de664 fix(release): reuse artifacts for publish recovery 2026-09-19 17:22:14 +08:00
Kang aff12c9c1d feat(crypto): add rewrap_master_key_token_for method and update settings handling
- Introduced `rewrap_master_key_token_for` method in `CredentialCrypto` for rewrapping master keys between different configurations.
- Updated `generate_master_key_token` to use the configured master password.
- Enhanced settings presentation to include local backup status and readiness.
- Refactored cloud sync settings encryption into a dedicated function for better organization.
- Improved tests to validate the new functionality and ensure correct handling of master passwords and settings.
v2.0.0-preview.1
2026-09-19 15:45:48 +08:00
Kang 4aa7be6837 Merge branch 'migration/gpui' of https://github.com/nyakang/nyaterm into migration/gpui 2026-09-19 13:53:46 +08:00
Kang 7b2fcd887b feat(windows): add application icon resource handling for Windows builds
- 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.
2026-09-19 13:53:41 +08:00
Kang 1784085034 fix(app): remove needless titlebar struct update 2026-09-19 11:49:07 +08:00
Kang c8e02ba562 Merge branch 'migration/gpui' of https://github.com/nyakang/nyaterm into migration/gpui 2026-09-19 11:29:30 +08:00
Kang 576450de07 chore(Cargo): update nyaterm packages to version 2.0.0-preview.1 for preview release 2026-09-19 11:29:28 +08:00
Kang d7186dd192 fix(windows): hide release console window 2026-09-19 11:23:52 +08:00
Kang 4d4494f783 fix(release): harden preview native packaging 2026-09-19 10:28:43 +08:00
Kang 7d92db3d40 chore(Cargo): sync lockfile for preview version 2026-09-19 09:43:54 +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 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 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 43ca850377 fix(ci): move WebDAV test thread out of feature layer 2026-09-18 21:09:48 +08:00
Kang 47d0c56aeb style(transfers): adjust flex properties for transfer buttons and dividers
- Added `.flex_none()` to various transfer-related UI components to ensure consistent layout behavior.
- Updated the `compact_transfer_upload_menu_button`, `compact_transfer_toolbar_button`, and related functions for improved styling.
2026-09-18 20:08:46 +08:00
Kang 3e44f0637a refactor(sync): streamline cloud sync status handling and remove unused snapshot password prompt methods
- Simplified the logic for determining cloud sync status by consolidating status checks and removing redundant conditions.
- Removed deprecated snapshot password prompt methods from the settings panel and related components.
- Updated cloud sync settings to ensure compatibility with new embedded configuration structure.
- Added tests to validate the new cloud sync settings behavior and ensure proper migration from legacy configurations.
2026-09-18 19:43:57 +08:00
Kang 62e2b94a3e fix(sftp): evict incompatible sessions after timeout 2026-09-18 18:39:19 +08:00
Kang 093150f7ab fix(transport): satisfy rustfmt import ordering 2026-09-18 17:51:37 +08:00
Kang 8ac230caf9 fix(transport): gate windows-only file browser test import 2026-09-18 17:17:57 +08:00
Kang 61fd9e7066 chore: remove BACKPORT_PLAN.md as it is no longer needed for tracking backport delivery and acceptance gates 2026-09-18 17:17:25 +08:00
Kang 81c6bf6198 fix(ci): allow owned xymodem worker thread 2026-09-18 16:56:04 +08:00
Kang 16089aa67c feat(transfers): implement switchable file explorer view modes
- Added a new `TransferBrowserViewMode` enum to toggle between list and tree views in the file explorer.
- Integrated view mode selection into the application settings, with default set to list mode.
- Updated transfer browser functionality to handle key events and operations based on the selected view mode.
- Enhanced UI components to support dynamic rendering based on the current view mode, including context menus and toolbar actions.
- Introduced tests to validate view mode behavior and compatibility with existing file operations.
2026-09-18 15:35:24 +08:00
Kang 18d70fba0d docs(backport): record commit delivery and remaining acceptance gates 2026-09-18 13:43:56 +08:00
Kang ac554b1232 feat(desktop): integrate backported security and workspace workflows
Wire known-host management, lock-guarded public-key copying, notes export, SSH config import, reusable accounts and connection tags into GPUI. Add the cached virtualized SFTP tree, cache-only hover details, serial upload protocol selection, X/YMODEM progress and cancellation, session-local search wrapping and optional bold default foreground.

Keep focused state ownership, blocking work off GPUI updates, stale-completion guards and nyaterm-ui wrappers. Update all six locale catalogs and add state/lifecycle coverage. Depends on the preceding domain and transport foundation commit.

Validation on Windows: cargo check --workspace; cargo test --workspace; cargo clippy --workspace --all-targets -- -D warnings; cargo fmt --all -- --check. Real-window, SFTP-server and serial-device acceptance remain pending.
2026-09-18 13:42:55 +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
Kang 673d22cac8 fix(ai): restore model fallback and require non-interactive commands
Normalize requested and default Claude Code models independently. Require non-interactive terminal commands in base, Codex and Claude Code prompts, with focused regression tests.
2026-09-18 13:41:38 +08:00
Kang c253525ed8 feat(locales): update localization strings for about dialog
- Enhanced English, French, Japanese, Korean, Simplified Chinese, and Traditional Chinese localization files with new strings for support information, version, operating system, architecture, runtime, and installation status.
- Updated the about dialog in the UI to display additional information, improving user experience and accessibility.
- Refactored the about dialog rendering logic to accommodate new localization strings and ensure proper layout.
2026-09-17 21:00:35 +08:00
Kang 3a66906da9 feat(transfers): add transfer speed tracking and display
- Introduced a new `TransferSpeed` struct to manage and calculate transfer speed based on recent byte transfers.
- Updated transfer job state to include speed tracking, ensuring accurate speed reporting during transfers.
- Enhanced transfer job rendering to display current speed in the UI, replacing percentage indicators for running transfers.
- Added tests to validate speed calculations and ensure correct behavior during transfer state changes, including pausing and resuming.
- Refactored transfer progress handling to integrate speed updates seamlessly.
2026-09-17 11:42:57 +08:00
Kang ed9546234b feat(transfers): enhance transfer panel rendering and layout
- Introduced a new `QueueHost` struct for rendering the transfer queue within the transfer panel.
- Added tests to ensure long transfer text shrinks appropriately without displacing status during panel resizing.
- Updated `transfer_queue_view` and `transfer_job_row` functions to improve layout handling, including full width and minimum width constraints.
- Implemented truncation and tooltip functionality for long file names in the job row to enhance user experience.
2026-09-17 10:58:46 +08:00
Kang 56b5185cab feat(connections): enhance connection search functionality
- Added focus management for the connection search overlay, allowing for better user experience when searching connections.
- Implemented methods to expand and collapse the search overlay based on user input and search state.
- Updated connection state management to track whether the search overlay is expanded or collapsed.
- Enhanced tests to verify the behavior of the search overlay, ensuring it only collapses after the search query is cleared.
- Adjusted UI components to reflect the expanded state of the search overlay in various contexts.
2026-09-17 09:10:58 +08:00
Kang 34775cf44e Merge pull request #695 from moonmicah/codex/fix-auto-cwd-browser-flicker
fix(desktop): prevent auto cwd browser flicker
2026-09-16 21:16:11 +08:00
Kang 0feeca976c feat(keywords): enhance terminal keyword highlighting and stale lookup management
- Introduced a new mechanism for handling stale keyword highlights in terminal snapshots.
- Updated `TerminalKeywordHighlightSnapshot` to include source rows and scrollback length for better context.
- Enhanced `TerminalKeywordHighlightLookup` to differentiate between current, reused, and stale ranges.
- Improved the logic for determining when keyword highlights should be retained or discarded based on terminal state changes.
- Added tests to verify the behavior of stale keyword prefixes during continuous shell echo and their impact on rendering.
2026-09-16 20:28:07 +08:00
Kang fd6602a0ec fix(desktop): keep cwd polling state consistent 2026-09-16 09:25:48 +08:00
moonmicah f4e4d52a0f fix(desktop): prevent auto cwd browser flicker 2026-09-15 12:33:29 +08:00
Kang 8ad6538e74 feat(locales): enhance connection editor
- Added new localization strings for VNC password limitations and warnings across multiple languages.
- Introduced dynamic tab title descriptions and hints for connection editor functionality.
- Updated connection editor state management to include credential overlay and baud rate popover handling.
- Enhanced serial port loading state tracking and error management in connection catalog.
- Improved connection editor UI components for better user experience and accessibility.
2026-09-14 10:07:41 +08:00
Kang a0a26cb044 perf(terminal): implement row byte limit and enhance snapshot management
- Introduced a new constant for the maximum retained row byte limit in terminal surfaces.
- Updated the logic for retaining snapshot rows to respect both row count and byte limits.
- Added a function to estimate the byte size of terminal snapshot rows for better memory management.
- Enhanced tests to verify that the retained row cache respects the estimated byte budget.
2026-09-13 20:33:27 +08:00
Kang a52135e45d refactor(session): streamline connection handling and focus restoration
- Removed unused window parameter from `start_restorable_open_tab` method for clarity.
- Renamed `start_saved_connection_with_options` to `continue_saved_connection_start` to better reflect its purpose.
- Enhanced focus management in tests to ensure proper restoration of input focus after actions.
2026-09-13 13:24:14 +08:00
Kang 79950b1921 refactor(session): enhance prompt handling and focus management
- Updated credential and keyboard interactive prompt methods to accept a window parameter for improved focus management.
- Introduced a new enum `SessionStartFocusTarget` to determine focus targets based on connection types.
- Refactored session start methods to focus the appropriate surface after starting a session.
- Added tests to verify focus behavior for user-started sessions.
2026-09-13 13:10:04 +08:00
Kang 097ccd99b6 Merge pull request #664 from litcc/gpui
fix(transfer): improve SFTP diagnostics and desktop integration
2026-09-13 01:06:27 +08:00
Kang 8b0d569d96 fix(ssh): enhance shell integration with prepared integration structure
- Introduced `PreparedSshShellIntegration` to streamline shell integration handling.
- Updated `SshShellIntegrationState` to manage pending integrations instead of scripts.
- Refactored related functions to utilize the new structure for improved clarity and maintainability.
- Added support for additional shell types in integration scripts.
- Adjusted tests to accommodate changes in shell integration logic.
2026-09-13 00:57:47 +08:00
Kang 1e4d9481c4 fix(desktop): restore Linux lock screen dragging 2026-09-13 00:49:55 +08:00
litcc 5ed6ee3d2c fix(desktop): remove macOS tray compilation warnings
Keep the unsupported-platform fallback outside the macOS branch and account for the unused window argument without changing tray behavior.
2026-09-12 09:33:11 +08:00
litcc 994e34e57c fix(desktop): restore Linux client-side titlebar interactions
Request client-side decorations for the Linux main window to avoid duplicate titlebars. Handle native move and double-click maximize requests while keeping menu clicks and nested drag regions separate.
2026-09-12 09:33:04 +08:00
litcc e9a15dae86 fix(desktop): reveal downloaded files in their containing directory
Preserve native file selection and open directory targets explicitly. Resolve paths off the UI thread and fall back to the containing directory for missing or unreadable Linux targets.
2026-09-12 09:32:56 +08:00
litcc 8f5de7c6e1 Merge branch 'migration/gpui' into gpui 2026-09-12 07:59:43 +08:00
Kang d0735ac9ce fix(tunnels): adjust text size and minimum width for better layout
- Changed text size from small to extra small for improved readability.
- Replaced fixed height with minimum width to enhance overflow handling in the tunnel editor UI.
2026-09-11 19:50:01 +08:00
Kang 2b3576ea13 fix(tunnels): improve UI element overflow handling and text truncation
- Updated overflow handling in the network list to use vertical scrollbar.
- Replaced overflow_hidden with truncate for better text display in proxy and tunnel rows.
- Ensured minimum width constraints are applied to prevent layout issues.
2026-09-11 19:43:11 +08:00
litcc c22383725a fix(transfer): stabilize SFTP naming and cancellation
Keep raw path identities separate from display paths and local download names. Classify user cancellations as cancelled in the desktop UI and warn in the transport layer.
2026-09-11 14:04:02 +08:00