Commit Graph
2473 Commits
Author SHA1 Message Date
Kang 39b53595be refactor(remote): streamline scrolling logic for process and Docker panels (#732)
- Replaced manual calculation of visible rows with a new `state_scrolled_list_range` function for better management of scroll offsets in the processes and Docker containers panels.
- Removed unnecessary padding calculations, simplifying the rendering logic for visible items.
- Updated related functions to utilize the new scrolling logic, enhancing performance and maintainability across the remote feature set.
2026-09-21 12:08:31 +08:00
Kang 5bff7c3165 feat(docker): enhance Docker resource management and UI updates
- Introduced a new `DockerResource` enum to manage Docker resources such as images, volumes, networks, and compose projects.
- Updated the Docker overview and tab bar to reflect loaded resources, improving user feedback on resource availability.
- Implemented logic to load Docker resources conditionally based on user interactions and tab selections.
- Enhanced the Docker UI to display resource counts dynamically, ensuring a more informative user experience.
- Refactored related functions to streamline resource fetching and state management within the Docker context.
- Added tests to verify the new resource loading functionality and UI updates.
2026-09-21 11:48:46 +08:00
Kang ef75f553db feat(cloud_sync): enhance CloudSyncState with validation timestamps and clipboard functionality
- Added fields to `CloudSyncState` for tracking the last validated remote revision, full validation timestamp, and garbage collection attempt timestamp.
- Updated relevant functions to set these new fields during sync operations.
- Introduced a clipboard management system for file transfers, allowing users to copy, cut, and paste files between sessions.
- Implemented tests to verify the new clipboard functionality and ensure proper state management during file operations.
2026-09-21 09:40:22 +08:00
Kang 86c2d16008 Merge branch 'migration/gpui' of https://github.com/nyakang/nyaterm into migration/gpui 2026-09-21 02:02:43 +08:00
Kang f5ef4ea3b2 feat(connections): enhance connection editor state management (#729, #731)
- Added `existing_password_locked` field to `ConnectionEditorState` to track the lock status of existing passwords.
- Updated logic in connection editor functions to handle the new field, ensuring proper state management during password operations.
- Implemented tests to verify that the connection editor preserves locked ciphertext until the password is replaced, enhancing security and user experience.
- Introduced new helper functions to determine if a connection's inline password requires encryption, improving password handling during session imports.
2026-09-21 02:01:42 +08:00
Kang 62ea601268 test: centralize temporary directory cleanup 2026-09-21 01:36:56 +08:00
Kang 15d0df0658 Merge branch 'migration/gpui' of https://github.com/nyakang/nyaterm into migration/gpui 2026-09-21 01:20:03 +08:00
Kang b3f62f31b4 feat(docker): enhance Docker UI and functionality (#732)
- Introduced a new overlay for displaying Docker container details, improving user interaction with Docker components.
- Refactored Docker-related panels and menus to utilize a consistent menu layer for better UI management.
- Added functionality to handle Docker error classifications and improve error reporting in the application.
- Updated Docker labels to streamline localization and improve accessibility.
- Implemented tests to ensure unique accessibility nodes for duplicate Docker image IDs.
2026-09-21 01:20:01 +08:00
Kang 2382ad0966 Merge pull request #745 from LunaSpica/feat/openwrt-icon-gpui
feat: 新增 OpenWrt 服务器图标
2026-09-21 00:49:42 +08:00
Kang 5d37ff34eb fix(assets): bound OpenWrt icon raster size 2026-09-21 00:38:26 +08:00
Kang 93e55aaba3 feat(shell): implement session tab group label functionality (#737)
- Added a new function `session_tab_group_label` to generate a formatted label for session tabs based on group hierarchy.
- Updated the tab handling logic to utilize the new function for improved group path representation.
- Included unit tests to validate the behavior of the new label generation logic, ensuring correct handling of grouped and ungrouped sessions.
2026-09-20 23:49:18 +08:00
Kang 39b13f287d refactor(terminal): replace clear_terminal with send_terminal_clear_screen and implement clear_except_input functionality (#728)
- Updated the terminal clear command to use send_terminal_clear_screen for consistency across the application.
- Introduced clear_except_input method to retain editable input while discarding history and completed output.
- Enhanced terminal frame event handling to support new clear functionality.
- Added tests to validate the behavior of clear_except_input and its interaction with terminal state.
2026-09-20 23:36:41 +08:00
Yue-Sui 1f7acd4290 feat(icons): add OpenWrt connection icon 2026-09-20 23:06:26 +08:00
Kang ef4d4e8cef fix(transport): restore private download staging 2026-09-20 22:00:46 +08:00
Kang 5d7eb286eb Merge pull request #734 from litcc/gpui
feat(desktop): add download folder selection and harden file transfers
2026-09-20 22:00:20 +08:00
Kang 0818e59306 feat(settings): add quick command selected category management (#733)
- Introduced `ui_quick_cmd_selected_category` to `AppSettingsSummary` for managing quick command categories.
- Implemented default handling for the selected category, defaulting to "all".
- Updated various components to synchronize and persist the selected category across settings and commands.
- Enhanced tests to validate the correct behavior of category selection and persistence.
2026-09-20 21:42:20 +08:00
litcc cff1af968e fix(desktop): satisfy clippy in workspace shutdown
Collapse the nested workspace guard so the pull request merge result passes clippy with warnings denied.
2026-09-20 18:10:59 +08:00
litcc b012ff8bc4 Merge remote-tracking branch 'upstream/migration/gpui' into gpui 2026-09-20 18:06:27 +08:00
litcc 9f8bbbe3a6 fix(transfer): harden download target resolution
Create new download targets with normal destination-directory permissions instead of carrying temporary-file ACL state. Reserve final local paths across sibling downloads and retries, and skip unsupported recursive entries before validating remote names.
2026-09-20 17:25:36 +08:00
Kang 36c0205920 fix(app): refine activation handling and improve workspace state management
- Updated the `acquire` function to remove unnecessary parameters and streamline the activation process.
- Enhanced the `launch` method in `DesktopController` to properly handle initial activation requests.
- Adjusted workspace snapshot handling in `submit_process_restore_snapshot` to ensure accurate state restoration.
- Improved shutdown sequence in `AppShell` to defer workspace shutdown until after all tasks are completed.
2026-09-20 12:50:46 +08:00
Kang b155f58ada fix(core): satisfy architecture import rules 2026-09-20 12:04:14 +08:00
Kang aac64e3814 fix(desktop): tighten workspace state integration 2026-09-20 11:24:33 +08:00
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
litcc eb38e48c0f fix(desktop): mark skipped duplicate transfers as cancelled
Keep duplicate skips from appearing completed without cancelling other batch jobs. Cover independent skipped, completed, and running states through transfer events.
2026-09-20 09:59:37 +08:00
litcc 53c06065d6 feat(desktop): add explicit download folder selection
Add a localized download-to-folder action and share target resolution between download entry points. Validate generated names before enqueueing, preserve raw remote identity and explicit single-file targets, and reject unavailable source sessions.
2026-09-20 09:59:27 +08:00
litcc 3195e387b4 fix(transport): harden download paths and preserve file permissions
Validate remote names and local download boundaries across SFTP and shell backends. Stage downloads in private temporary files, preserve existing target ownership and ACLs, and drain admitted jobs after failures.

Preserve existing upload modes when no default is configured. Cover cleanup, resume preparation, permission handling, scheduler behavior, and platform-specific name validation.
2026-09-20 09:58:50 +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