- Added support for reading and expanding Windows environment variables from the registry.
- Introduced `RegistryEnvValue` struct to manage registry values and their expandability.
- Implemented `reg_value_to_env` and `expand_environment_value` functions for converting registry values to environment variables and expanding them recursively.
- Enhanced `merge_windows_env` function to merge system and user environment variables, ensuring proper handling of expandable values.
- Updated the environment retrieval logic to utilize the new functions, improving compatibility with Windows environment management.
- Added `paneId` to `PendingTabCreation` and updated related functions to handle recording scope IDs for various session types.
- Implemented logic to finish recording scopes when sessions are disconnected or finalized, ensuring proper resource management.
- Updated session creation functions to accept and utilize `recordingScopeId`, improving the integration of recording features across different session types.
- Enhanced tests to validate the new recording scope functionality and ensure isolated pane behavior during session management.
- Introduced `TerminalOutputPressureTracker` to monitor output pressure and manage performance modes based on backlog and burst conditions.
- Added logic to handle long lines and wrapped lines efficiently, preventing excessive processing.
- Updated `XTerminal` and related components to integrate output pressure tracking, ensuring smoother terminal performance under load.
- Added tests for new functionality to validate output pressure detection and logical line processing.
- Introduced `shell_available` field in `AutoRemoteFs` and `SftpBackend` to manage shell command execution availability.
- Updated SFTP command execution to return an error if shell commands are attempted in SFTP-only sessions.
- Enhanced logging for SFTP directory read operations and identity resolution processes.
- Added a new constant for SFTP execution timeout to improve command handling.
- Refactored `buildZmodemReceiveCommand` to include control escaping options for overwrite and skip modes.
- Introduced new tests for `buildZmodemReceiveCommand` to validate command generation.
- Updated ZMODEM header and transmission logic to support control escaping, ensuring proper handling of control characters during transmission.
- Added tests to verify control escaping functionality in the ZMODEM protocol.
- Added `sendSessionBinaryInputWithSync` function to broadcast binary input to sync peers.
- Updated `XTerminal` component to utilize the new function for handling binary input with peer synchronization.
- Enhanced tests to verify the correct broadcasting of binary input to multiple peers without text bookkeeping.
- Introduced `escape_telnet_application_data` function to handle IAC byte escaping for telnet transport.
- Added tests for the new escaping functionality to ensure proper data handling in telnet sessions.
- Implemented `sendSessionBinaryInput` function to send binary data to terminal sessions.
- Enhanced `XTerminal` component to handle binary input events, ensuring proper data transmission.
- Updated session commands to support raw data writing, allowing for better handling of binary inputs.
- Added tests for binary input functionality to ensure accurate data processing without text bookkeeping.
- Added the `clearTerminalAll` function to clear the terminal's output while preserving cursor position and handling shell redraws.
- Updated the `XTerminal` component to utilize `clearTerminalAll` for resetting the terminal state.
- Introduced tests to verify the functionality of `clearTerminalAll`, ensuring it clears scrollback without altering the CMD cursor row and requests redraws for shells that handle Ctrl+L.
- Updated the `create_gcc_blocks` function to change the attribute from `#[expect(single_use_lifetimes)]` to `#[allow(single_use_lifetimes)]`, addressing stability concerns with anonymous lifetimes in `impl Trait`.
- Updated the FileExplorer and FileExplorerEntryContextMenu components to include new terminal action icons.
- Replaced existing icons with MdTerminal, MdFolderOpen, and MdOpenInNew for improved visual representation of terminal functionalities.
- Enhanced context menu options for entering directories and opening them in new terminals, improving user experience.
- Introduced new translation keys related to terminal actions, including copying information, entering directories, and opening directories in new terminals.
- Updated English, Korean, Simplified Chinese, and Traditional Chinese localization files to enhance user experience with terminal functionalities.
- Added functionality to open a specified directory in a new terminal session from the file explorer.
- Introduced new callbacks for handling directory changes and terminal commands.
- Enhanced context menu options for directory actions, including entering directories and opening them in new terminals.
- Updated relevant components and tests to support the new directory navigation features.
- Introduced new translation keys related to ConPTY functionality in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced localization to support the recently integrated bundled ConPTY features, improving user experience across different languages.
- Added scripts to prepare and verify the Microsoft ConPTY package for Windows.
- Updated build workflows to include checks for bundled ConPTY in installers.
- Enhanced application support info to display ConPTY status and version.
- Modified the portable updater to handle ConPTY files during updates.
- Updated documentation to reflect changes in ConPTY usage and requirements.
- Introduced tests for ConPTY backend functionality to ensure reliability.
- Added new translation keys for import dialog titles and backup restore confirmations in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced user guidance with clearer descriptions for session import and backup restoration processes.
- Integrated AlertDialog component for confirming backup restore actions.
- Removed type definitions for import sources to streamline the configuration.
- Updated UI elements and translations for improved user experience in the import dialog.
- Refactored source selection handling to accommodate new design and functionality.
- Added a new utility function `stampTerminalWrittenLines` to manage timestamps for lines written to the terminal.
- Created tests for timestamp assignment and behavior in various scenarios, including multiline writes and automatic wrapping.
- Integrated the timestamp functionality into the `XTerminal` component to enhance terminal output tracking.
- Added the translation key "openNewSessionMenu" for English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced localization to improve user experience with the new session menu feature.
- Implemented a new keyboard shortcut for opening the new session menu, including support for custom keybindings.
- Updated the TabBar component to manage the new session menu state based on tab focus.
- Enhanced keyboard event handling to prevent default actions for the new shortcut.
- Added corresponding tests to ensure the new shortcut functionality works as expected.
- Added `maxLineNumberDigits` and `sessionId` to the GutterLayout interface for improved layout handling.
- Updated layout state management to dynamically calculate maximum line number width based on visible lines and session context.
- Refactored line number width calculation to utilize the new `maxLineNumberDigits` property.
- Introduced a new translation key "rdpClipboardDisabled" for the disabled clipboard option in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced localization to improve user experience across different languages.
- Introduced a new atomic boolean to manage file transfer availability.
- Updated clipboard advertisement methods to reflect the new file transfer logic.
- Improved handling of clipboard formats based on file transfer capabilities.
- Updated UI component to use a more descriptive translation for clipboard options.
- Added state management for pane focus mode and native fullscreen in the App component.
- Introduced keyboard shortcuts to toggle pane focus and native fullscreen.
- Updated the AppLayout and PaneWorkspace components to support the new focus mode, ensuring inactive panes remain mounted but hidden.
- Enhanced the file transfer context to handle RDP events, allowing users to paste files after RDP transfers.
- Added translations for new clipboard options and updated relevant UI components to reflect these changes.
- Improved test coverage for pane focus behavior in the PaneWorkspace component.
- Deleted the entire `ironrdp-client` and `ironrdp-connector` directories, including all associated files such as Cargo.toml, Cargo.lock, and source code.
- This cleanup removes unused components from the project, streamlining the codebase.
- Added translations for "Upload Folder Contents" and "Upload Folder Contents Empty" in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced user experience by providing localized messages for the new upload functionality.
- Implemented `handleUploadFolderContents` to allow users to upload the contents of a selected local directory.
- Integrated the new upload option into the File Explorer context menu, toolbar, and list items.
- Enhanced error handling and user notifications for empty uploads and failures during the upload process.
- Updated relevant components to support the new upload feature, ensuring a seamless user experience.
- Added `appLocked` state to various terminal components to control user interactions.
- Updated `useTerminalFocusRestore`, `useTerminalRefreshEffects`, and `XTerminal` to respect the app lock state, preventing focus and input when locked.
- Enhanced `TerminalContextMenu` and `xterminalKeyboardController` to block actions while the app is locked.
- Introduced tests to verify behavior under locked and unlocked states, ensuring focus restoration and input handling are correctly managed.
- Increased the `sync_debounce_seconds` from 15 to 60 to improve sync performance.
- Added new fields to `CloudSyncState` for better tracking of remote validation and garbage collection attempts.
- Implemented a function to detect changes in sync settings, ensuring notifications are sent only when necessary.
- Refactored cloud sync manager to optimize settings replacement and remote check logic.
- Added tests for new functionality and validation logic.
- Removed unnecessary span element for the enabled label in the SFTP settings toggle.
- Added aria-label for the switch to enhance accessibility for screen readers.
- Added new entries for "SFTP compatibility mode" and its description in English, Korean, Simplified Chinese, and Traditional Chinese localization files.
- This enhancement improves user experience by providing clear information about the compatibility mode feature across multiple languages.
- Introduced a new compatibility mode in SFTP settings, allowing for better handling of legacy SFTP operations.
- Updated the SshForm component to include a toggle for the compatibility mode.
- Modified SftpSettings interface and related functions to support the new compatibility mode.
- Enhanced SFTP backend to manage sessions based on compatibility mode, ensuring proper session handling and concurrency.
- Updated tests to validate the new compatibility mode functionality and its impact on SFTP operations.
Keep SSH and Telnet account usernames while allowing connection-only password behavior, and preserve Termius host usernames when identity passwords are imported.
Add optional usernames and account references while preserving legacy password storage and password_id compatibility.
Resolve SSH and Telnet credentials at runtime, keep RDP/VNC password-only behavior, and update account management UI, translations, and tests.
- Implemented export feature in NotesPanel, allowing users to export notes to a selected directory.
- Added corresponding tests for the export functionality, ensuring correct behavior and error handling.
- Updated NotesPanelHeader to include an export option in the dropdown menu.
- Introduced new types and commands in the backend to support note export operations.
- Added `codex_terminal_presentation_max_lines` function to determine max lines based on execution mode.
- Updated `McpManager` to handle terminal presentation settings.
- Introduced `McpTerminalPresentation` struct to manage terminal output presentation.
- Enhanced tests to verify terminal presentation behavior for foreground and background execution.