- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
- 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.
- 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.
Keep duplicate skips from appearing completed without cancelling other batch jobs. Cover independent skipped, completed, and running states through transfer events.
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.
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.
- 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.
- 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.
- 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.
- 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.
- 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.