Release/v3.2.4#36
Merged
Merged
Conversation
* Fix startup error when files are not readable. * Added Winget Pipeline * Extended FileInfoWindow * Implemented PasswordBox with toggleable password visibility * Update CI * Minor version bump * Added Password in File Info view * Introduced object for BasicSshKeyFileInformation * Reniced SshKeyFileInformation.cs * Fixes some errors in SshKeyFileInformation.cs; Updated file reading logic for ppk files * Removed obsolete comments * Refactoring #1 * fixed reactive chain * 😁 * Optimized Reactive chains * - * Added new icon, changed resolverchain * Refactor icon size handling, improve SSH key collection tracking, and update reactive bindings. * Relocate and optimize asset management: replace SVG icon with ICO format, restructure image paths, and update project references accordingly. * Add light theme assets, theme selection settings, and dynamic icon support. * Refactor theme resources, improve reactive property bindings, update dependencies, and enhance SSH key file handling logic. * Refactor SubmitButtons as reusable control, replace redundant button definitions, and apply dynamic theme resources. * Add SubmitButtons control to EditKnownHostsWindow.axaml * Removed obsolete Interfaces * Minor fixes * Adjust Colors throughout the application * removed logger from SshKeyFilePassword.cs * Changes on FileInfoWindow * Color occurences changed to dynamic resource * Update ReactiveUI * Started to implement password change * Implemented password change ability * Disabled selection of items in SshKeyComboBoxStyle, when they are not initialized * Changed writing and disabled false-positive error in SshKeyItemContainerTheme * Implemented retry abort mechanism * Reformat & Cleanup; Changed to ServerConnection.cs * Changes in ConnectToServerViewModel * Removed redundant interfaces; reformat & cleanup * Implemented headered item * Minor refactoring in server handling * added ideas and refactoring suggestions * Refactoring of SshKeyManager.cs * Cleanup of old Extensions, compute fingerprint by ourselfs - even if key is encrypted * Enabled Logging by SSH.NET * Refactoring progress * Refactoring Progress #2 * SshKeyFileInformation changed to OAPHs * not working sorter * Update package dependencies across all projects to latest stable versions * Remove custom Sorter control, migrate to Avalonia DataGrid for key listing adjustments * Replace ContextMenus with FlyoutButtons, update styling and font sizes, and add Xaml.Behaviors.Avalonia dependency. * Add font size adjustment feature to Application Settings with binding and reset option. * Add dynamic font size management with resource observables, MaterialIcon size adjustments, and NumericUpDown control in Application Settings. * Refactor icon size handling: adjust MaterialIconSize resource, streamline size-related properties, and improve logging logic. * Update DataGrid column properties, add loading spinner, and improve reactive processing state handling. * Update localization bindings for tab headers, improve string resource handling, and streamline German translations. * Refactor SSH key export logic: simplify case handling, improve error messaging, and update dynamic window title formatting. * Refactor reactive properties and commands: streamline syntax, enhance property accessibility, and improve dynamic window title logic. * Refactor ViewModelBase hierarchy: simplify generics, remove redundant logger dependencies, and streamline initialization patterns. * Refactor various components: optimize property and method signatures, streamline placeholders and localization, and remove redundant dependencies. * Refactor KnownHostsFile and related components: optimize initialization, enhance file handling logic, and streamline key export functionality. * Refactor KnownHosts handling: optimize file updates, consolidate constructors, and streamline bindings in KnownHosts GUI rendering. * Optimize AuthorizedKeys handling: add change detection for file updates, prevent unnecessary writes to file and server, and fix BUG comment. * Refactor dependency injection tests: use DryIoc container directly and refine registration logic to improve clarity and accuracy. * Add `Window_OnClosing` handler for dialogs, adjust window properties, and include ReactiveUI references in project. * add todo; * Prevent window closing interruptions: handle `Window_OnClosing` to cancel external close attempts and streamline closing logic. * Refactor ApplicationSettings components: enhance UI alignment properties, add "Open Cache Folder" command, and streamline font size initialization logic. * Refactor SshKeyManager file watcher: integrate Avalonia Dispatcher for UI thread invocation and streamline event handling logic. * Refactor dialog closing logic: introduce `_isInternalClose` flag to prevent external close interruptions and streamline event handling. Optimize reactive properties in `SshKeyFileInformation` for better initialization and UI thread integration. * Refactor `SshKeyFileInformation`: remove reactive properties and disposables to simplify initialization and make properties immutable. * Refactor `FlyoutButton` UI: simplify tooltip and key count display logic, remove spinning icon animation, and streamline related ViewModel properties. * Refactor `ApplicationSettingsWindow`: update UI for cache options, enhance layout alignment, and remove unused reactive properties in ViewModel. * Replace DryIoc with Microsoft.Extensions.DependencyInjection for dependency injection, update related service registrations, and refactor impacted components accordingly. * Adjust DependencyInjectionExtensions * Cleanuip Dialoghost * Fix icon store filling * Reformat & Cleanup * small fixes * Added processing animation * Icon Updates * Added some findings, need more. * Update package dependencies to latest versions and improve DI test robustness * Refactor key file format handling: simplify `Password.Set` logic, update binding properties for key formats, clean up TODOs, and enhance backup file deletion logic. * Refactor and modularize SSH key management: introduce new interfaces and services (`IDirectoryCrawler`, `IKeyFileBackupService`, `IKeyFileWriterService`, and `ISshKeyGenerator`), implement `SshKeyFactory` and `KeyFileBackupService`, and update `SshKeyManager` to use dependency injection and improve maintainability. * Simplify "Provide Password" button in SshKeyFileStyle and fix export format in MainWindowViewModel. * Update ReactiveUI and ReactiveUI.SourceGenerators to latest versions in project files. * Add TODO comment to enable scanning of additional user-scoped paths in DirectoryCrawler. * Added AppConfiguration; Added WriteableConfiguration interface * Added writeableconfig to appsettingsviewmodel * Restrict ComboBoxItem binding in SshKeyFileStyle and remove redundant DataType specification. * Refactor DirectoryCrawler to support async disk enumeration and enable scanning of configurable lookup paths. * Add `PathExtensions` utility class for file/directory management and integrate usage into configuration and logging workflows. * Added ComboBox for path selection in AddKeyWindow and font size binding adjustments * Ensure main window is brought to front on open, then clear topmost flag * Refactor configuration system: replaced `IWritableConfiguration` with `IMutableConfiguration`, updated usages across the app, and improved settings UI layout. * Refactor SSH key file format handling: replace `SshKeyFormatExtension` constants with `PathExtensions`, add missing utility functions, and update references across the codebase. * Add lookup path management in ApplicationSettings: enable adding and removing paths with UI integration and validation logic * Refactor ApplicationSettings: enhance lookup path management, implement new bindings for HeaderedItem, throttle reactive commands, and extract `PathDeletableConverter` to a dedicated file. * Refactor application configuration: update font size type to `double`, introduce `ApplyConfiguration` method for dynamic theme and log level application, and optimize reactive bindings in `ApplicationSettingsViewModel`. * Add `CollectionIndexConverter` for 1-based indexing in lookup paths and update `ApplicationSettingsWindow` bindings to include index display * Update `ApplicationSettingsWindow`: localize lookup paths header text and add German translation * Add `TooltippedIcon` control and integrate it into `ApplicationSettingsWindow` for enhanced UI element descriptions * Add hover-based tooltip functionality to `TooltippedIcon` with extended pointer handling and popup interactions * Update dependencies: bump Avalonia packages to 12.0.2, ReactiveUI to 23.2.27, and other minor version upgrades * clean up indentation, adjust formatting across services and views, and streamline property definitions. * Centralize NuGet package version management and refactor project files to improve readability and reduce redundancy. * Fix SSH key format detection: ensure `.EndsWith` is used for extension comparison to handle edge cases
…ackage, and optimize release flow. - **Auto-tag Workflow**: Improved conditional checks, logging, and tag push status messages. - Added **Unit Test Workflow** for .NET projects with caching and restoration steps. - Modularized build process with **Build-and-Package Workflow** to handle multi-platform targets and upload artifacts cleanly. - Refined and streamlined **Release Workflows** with reusable job configurations and reduced redundancy.
…ormat extension handling.
…eparation logic in `staging.yml`.
…ies, and remove redundant nightly release job.
…d refine artifact handling logic
…nce AUR metadata validation
… and improve artifact preparation logic
…te screenshots, and replace outdated information.
…rkflow, and adjust artifact packaging.
# Conflicts: # .github/workflows/build-and-package.yml # Directory.Build.props # openssh-gui-bin/PKGBUILD
… logic in workflow, and streamline artifact preparation.
# Conflicts: # Directory.Build.props # openssh-gui-bin/PKGBUILD
…ase URL, add validation, and log version.
…ctions for .NET setup, AppImage building, and publishing, and enhance release process with concurrency and timeout management.
# Conflicts: # .github/workflows/build-and-package.yml # Directory.Build.props # openssh-gui-bin/PKGBUILD
…tegration, improve release asset resolution, and simplify output handling.
…ns, and refactor workflows for consistency and efficiency.
…et-setup/action.yml`.
…d fix versioning logic.
…ead of `AssemblyInformationalVersionAttribute`
… adjust parameters
# Conflicts: # .github/workflows/build.yml # .github/workflows/deploy-release.yml # Directory.Build.props # OpenSSH_GUI.Core/MVVM/ViewModelBase.cs # OpenSSH_GUI.Core/Resources/Wrapper/WindowBase.cs # OpenSSH_GUI/OpenSSH_GUI.csproj # OpenSSH_GUI/ViewModels/ApplicationSettingsViewModel.cs # OpenSSH_GUI/ViewModels/ExportWindowViewModel.cs # OpenSSH_GUI/ViewModels/FileInfoWindowViewModel.cs # OpenSSH_GUI/ViewModels/MainWindowViewModel.cs
frequency403
added a commit
that referenced
this pull request
Jul 10, 2026
* fix naming error * fix icon name * Fix startup error when files are not readable. (#18) * remove warnings as error in csproj * remove warnings as error in csproj * Fix and Optimize Configuration, SSH Key Handling, and UI (#21) * Fix startup error when files are not readable. * Added Winget Pipeline * Extended FileInfoWindow * Implemented PasswordBox with toggleable password visibility * Update CI * Minor version bump * Added Password in File Info view * Introduced object for BasicSshKeyFileInformation * Reniced SshKeyFileInformation.cs * Fixes some errors in SshKeyFileInformation.cs; Updated file reading logic for ppk files * Removed obsolete comments * Refactoring #1 * fixed reactive chain * 😁 * Optimized Reactive chains * - * Added new icon, changed resolverchain * Refactor icon size handling, improve SSH key collection tracking, and update reactive bindings. * Relocate and optimize asset management: replace SVG icon with ICO format, restructure image paths, and update project references accordingly. * Add light theme assets, theme selection settings, and dynamic icon support. * Refactor theme resources, improve reactive property bindings, update dependencies, and enhance SSH key file handling logic. * Refactor SubmitButtons as reusable control, replace redundant button definitions, and apply dynamic theme resources. * Add SubmitButtons control to EditKnownHostsWindow.axaml * Removed obsolete Interfaces * Minor fixes * Adjust Colors throughout the application * removed logger from SshKeyFilePassword.cs * Changes on FileInfoWindow * Color occurences changed to dynamic resource * Update ReactiveUI * Started to implement password change * Implemented password change ability * Disabled selection of items in SshKeyComboBoxStyle, when they are not initialized * Changed writing and disabled false-positive error in SshKeyItemContainerTheme * Implemented retry abort mechanism * Reformat & Cleanup; Changed to ServerConnection.cs * Changes in ConnectToServerViewModel * Removed redundant interfaces; reformat & cleanup * Implemented headered item * Minor refactoring in server handling * added ideas and refactoring suggestions * Refactoring of SshKeyManager.cs * Cleanup of old Extensions, compute fingerprint by ourselfs - even if key is encrypted * Enabled Logging by SSH.NET * Refactoring progress * Refactoring Progress #2 * SshKeyFileInformation changed to OAPHs * not working sorter * Update package dependencies across all projects to latest stable versions * Remove custom Sorter control, migrate to Avalonia DataGrid for key listing adjustments * Replace ContextMenus with FlyoutButtons, update styling and font sizes, and add Xaml.Behaviors.Avalonia dependency. * Add font size adjustment feature to Application Settings with binding and reset option. * Add dynamic font size management with resource observables, MaterialIcon size adjustments, and NumericUpDown control in Application Settings. * Refactor icon size handling: adjust MaterialIconSize resource, streamline size-related properties, and improve logging logic. * Update DataGrid column properties, add loading spinner, and improve reactive processing state handling. * Update localization bindings for tab headers, improve string resource handling, and streamline German translations. * Refactor SSH key export logic: simplify case handling, improve error messaging, and update dynamic window title formatting. * Refactor reactive properties and commands: streamline syntax, enhance property accessibility, and improve dynamic window title logic. * Refactor ViewModelBase hierarchy: simplify generics, remove redundant logger dependencies, and streamline initialization patterns. * Refactor various components: optimize property and method signatures, streamline placeholders and localization, and remove redundant dependencies. * Refactor KnownHostsFile and related components: optimize initialization, enhance file handling logic, and streamline key export functionality. * Refactor KnownHosts handling: optimize file updates, consolidate constructors, and streamline bindings in KnownHosts GUI rendering. * Optimize AuthorizedKeys handling: add change detection for file updates, prevent unnecessary writes to file and server, and fix BUG comment. * Refactor dependency injection tests: use DryIoc container directly and refine registration logic to improve clarity and accuracy. * Add `Window_OnClosing` handler for dialogs, adjust window properties, and include ReactiveUI references in project. * add todo; * Prevent window closing interruptions: handle `Window_OnClosing` to cancel external close attempts and streamline closing logic. * Refactor ApplicationSettings components: enhance UI alignment properties, add "Open Cache Folder" command, and streamline font size initialization logic. * Refactor SshKeyManager file watcher: integrate Avalonia Dispatcher for UI thread invocation and streamline event handling logic. * Refactor dialog closing logic: introduce `_isInternalClose` flag to prevent external close interruptions and streamline event handling. Optimize reactive properties in `SshKeyFileInformation` for better initialization and UI thread integration. * Refactor `SshKeyFileInformation`: remove reactive properties and disposables to simplify initialization and make properties immutable. * Refactor `FlyoutButton` UI: simplify tooltip and key count display logic, remove spinning icon animation, and streamline related ViewModel properties. * Refactor `ApplicationSettingsWindow`: update UI for cache options, enhance layout alignment, and remove unused reactive properties in ViewModel. * Replace DryIoc with Microsoft.Extensions.DependencyInjection for dependency injection, update related service registrations, and refactor impacted components accordingly. * Adjust DependencyInjectionExtensions * Cleanuip Dialoghost * Fix icon store filling * Reformat & Cleanup * small fixes * Added processing animation * Icon Updates * Added some findings, need more. * Update package dependencies to latest versions and improve DI test robustness * Refactor key file format handling: simplify `Password.Set` logic, update binding properties for key formats, clean up TODOs, and enhance backup file deletion logic. * Refactor and modularize SSH key management: introduce new interfaces and services (`IDirectoryCrawler`, `IKeyFileBackupService`, `IKeyFileWriterService`, and `ISshKeyGenerator`), implement `SshKeyFactory` and `KeyFileBackupService`, and update `SshKeyManager` to use dependency injection and improve maintainability. * Simplify "Provide Password" button in SshKeyFileStyle and fix export format in MainWindowViewModel. * Update ReactiveUI and ReactiveUI.SourceGenerators to latest versions in project files. * Add TODO comment to enable scanning of additional user-scoped paths in DirectoryCrawler. * Added AppConfiguration; Added WriteableConfiguration interface * Added writeableconfig to appsettingsviewmodel * Restrict ComboBoxItem binding in SshKeyFileStyle and remove redundant DataType specification. * Refactor DirectoryCrawler to support async disk enumeration and enable scanning of configurable lookup paths. * Add `PathExtensions` utility class for file/directory management and integrate usage into configuration and logging workflows. * Added ComboBox for path selection in AddKeyWindow and font size binding adjustments * Ensure main window is brought to front on open, then clear topmost flag * Refactor configuration system: replaced `IWritableConfiguration` with `IMutableConfiguration`, updated usages across the app, and improved settings UI layout. * Refactor SSH key file format handling: replace `SshKeyFormatExtension` constants with `PathExtensions`, add missing utility functions, and update references across the codebase. * Add lookup path management in ApplicationSettings: enable adding and removing paths with UI integration and validation logic * Refactor ApplicationSettings: enhance lookup path management, implement new bindings for HeaderedItem, throttle reactive commands, and extract `PathDeletableConverter` to a dedicated file. * Refactor application configuration: update font size type to `double`, introduce `ApplyConfiguration` method for dynamic theme and log level application, and optimize reactive bindings in `ApplicationSettingsViewModel`. * Add `CollectionIndexConverter` for 1-based indexing in lookup paths and update `ApplicationSettingsWindow` bindings to include index display * Update `ApplicationSettingsWindow`: localize lookup paths header text and add German translation * Add `TooltippedIcon` control and integrate it into `ApplicationSettingsWindow` for enhanced UI element descriptions * Add hover-based tooltip functionality to `TooltippedIcon` with extended pointer handling and popup interactions * Update dependencies: bump Avalonia packages to 12.0.2, ReactiveUI to 23.2.27, and other minor version upgrades * clean up indentation, adjust formatting across services and views, and streamline property definitions. * Centralize NuGet package version management and refactor project files to improve readability and reduce redundancy. * Fix SSH key format detection: ensure `.EndsWith` is used for extension comparison to handle edge cases * Introduce new workflows: auto-tag refinement, unit tests, build-and-package, and optimize release flow. - **Auto-tag Workflow**: Improved conditional checks, logging, and tag push status messages. - Added **Unit Test Workflow** for .NET projects with caching and restoration steps. - Modularized build process with **Build-and-Package Workflow** to handle multi-platform targets and upload artifacts cleanly. - Refined and streamlined **Release Workflows** with reusable job configurations and reduced redundancy. * Bump version to 3.1.0, improve PKGBUILD formatting, and fix SSH key format extension handling. * Add `build-and-package.yml` and `test.yml` workflows; refine asset preparation logic in `staging.yml`. * Refactor workflows: streamline asset preparation, reorganize directories, and remove redundant nightly release job. * Update `staging.yml`: adjust dependencies for `deploy-aur-nightly` and refine artifact handling logic * Refactor GitHub Actions workflows: improve artifact handling and enhance AUR metadata validation * Update `staging.yml`: add `build` dependency for `deploy-aur-nightly` and improve artifact preparation logic * Revamp README: overhaul content structure, include new features, update screenshots, and replace outdated information. * Bump version to 3.1.1; update PKGBUILD, normalize version logic in workflow, and adjust artifact packaging. * Bump version to 3.1.2; update PKGBUILD, enhance version normalization logic in workflow, and streamline artifact preparation. * Enhance Komac installation in workflow: dynamically fetch latest release URL, add validation, and log version. * Refactor GitHub Actions: modularize workflows, add custom composite actions for .NET setup, AppImage building, and publishing, and enhance release process with concurrency and timeout management. * Add `actions/checkout@v4` to workflows for consistent repository access. * Refactor `install-komac` action: enhance reliability with `gh` CLI integration, improve release asset resolution, and simplify output handling. * Remove `install-komac` action, update GitHub Actions to latest versions, and refactor workflows for consistency and efficiency. * Remove unused `needs: detect-tfm` property from `.github/actions/dotnet-setup/action.yml`. * Remove nightly GitHub Release action from staging workflow * resolve warning IL3000 * Remove nightly support and update workflows to reflect changes * Update PKGBUILD to include date and commit hash in versioning * Sync auto-tag workflow with development process: - Add pull request write permissions. - Increase timeout for tag creation job. - Implement automatic cherry-picking of release commits into development with conflict handling. - Adjust test workflow triggers for better branch handling. * Simplify test workflow by removing conditional triggers based on event type * Update auto-tag workflow: Remove "Sync Development" from job name * Release v3.1.6 -Update workflows and versioning logic for improved CI/CD (#28) * fix naming error * fix icon name * Fix startup error when files are not readable. (#18) * remove warnings as error in csproj * remove warnings as error in csproj * Fix and Optimize Configuration, SSH Key Handling, and UI (#21) * Fix startup error when files are not readable. * Added Winget Pipeline * Extended FileInfoWindow * Implemented PasswordBox with toggleable password visibility * Update CI * Minor version bump * Added Password in File Info view * Introduced object for BasicSshKeyFileInformation * Reniced SshKeyFileInformation.cs * Fixes some errors in SshKeyFileInformation.cs; Updated file reading logic for ppk files * Removed obsolete comments * Refactoring #1 * fixed reactive chain * 😁 * Optimized Reactive chains * - * Added new icon, changed resolverchain * Refactor icon size handling, improve SSH key collection tracking, and update reactive bindings. * Relocate and optimize asset management: replace SVG icon with ICO format, restructure image paths, and update project references accordingly. * Add light theme assets, theme selection settings, and dynamic icon support. * Refactor theme resources, improve reactive property bindings, update dependencies, and enhance SSH key file handling logic. * Refactor SubmitButtons as reusable control, replace redundant button definitions, and apply dynamic theme resources. * Add SubmitButtons control to EditKnownHostsWindow.axaml * Removed obsolete Interfaces * Minor fixes * Adjust Colors throughout the application * removed logger from SshKeyFilePassword.cs * Changes on FileInfoWindow * Color occurences changed to dynamic resource * Update ReactiveUI * Started to implement password change * Implemented password change ability * Disabled selection of items in SshKeyComboBoxStyle, when they are not initialized * Changed writing and disabled false-positive error in SshKeyItemContainerTheme * Implemented retry abort mechanism * Reformat & Cleanup; Changed to ServerConnection.cs * Changes in ConnectToServerViewModel * Removed redundant interfaces; reformat & cleanup * Implemented headered item * Minor refactoring in server handling * added ideas and refactoring suggestions * Refactoring of SshKeyManager.cs * Cleanup of old Extensions, compute fingerprint by ourselfs - even if key is encrypted * Enabled Logging by SSH.NET * Refactoring progress * Refactoring Progress #2 * SshKeyFileInformation changed to OAPHs * not working sorter * Update package dependencies across all projects to latest stable versions * Remove custom Sorter control, migrate to Avalonia DataGrid for key listing adjustments * Replace ContextMenus with FlyoutButtons, update styling and font sizes, and add Xaml.Behaviors.Avalonia dependency. * Add font size adjustment feature to Application Settings with binding and reset option. * Add dynamic font size management with resource observables, MaterialIcon size adjustments, and NumericUpDown control in Application Settings. * Refactor icon size handling: adjust MaterialIconSize resource, streamline size-related properties, and improve logging logic. * Update DataGrid column properties, add loading spinner, and improve reactive processing state handling. * Update localization bindings for tab headers, improve string resource handling, and streamline German translations. * Refactor SSH key export logic: simplify case handling, improve error messaging, and update dynamic window title formatting. * Refactor reactive properties and commands: streamline syntax, enhance property accessibility, and improve dynamic window title logic. * Refactor ViewModelBase hierarchy: simplify generics, remove redundant logger dependencies, and streamline initialization patterns. * Refactor various components: optimize property and method signatures, streamline placeholders and localization, and remove redundant dependencies. * Refactor KnownHostsFile and related components: optimize initialization, enhance file handling logic, and streamline key export functionality. * Refactor KnownHosts handling: optimize file updates, consolidate constructors, and streamline bindings in KnownHosts GUI rendering. * Optimize AuthorizedKeys handling: add change detection for file updates, prevent unnecessary writes to file and server, and fix BUG comment. * Refactor dependency injection tests: use DryIoc container directly and refine registration logic to improve clarity and accuracy. * Add `Window_OnClosing` handler for dialogs, adjust window properties, and include ReactiveUI references in project. * add todo; * Prevent window closing interruptions: handle `Window_OnClosing` to cancel external close attempts and streamline closing logic. * Refactor ApplicationSettings components: enhance UI alignment properties, add "Open Cache Folder" command, and streamline font size initialization logic. * Refactor SshKeyManager file watcher: integrate Avalonia Dispatcher for UI thread invocation and streamline event handling logic. * Refactor dialog closing logic: introduce `_isInternalClose` flag to prevent external close interruptions and streamline event handling. Optimize reactive properties in `SshKeyFileInformation` for better initialization and UI thread integration. * Refactor `SshKeyFileInformation`: remove reactive properties and disposables to simplify initialization and make properties immutable. * Refactor `FlyoutButton` UI: simplify tooltip and key count display logic, remove spinning icon animation, and streamline related ViewModel properties. * Refactor `ApplicationSettingsWindow`: update UI for cache options, enhance layout alignment, and remove unused reactive properties in ViewModel. * Replace DryIoc with Microsoft.Extensions.DependencyInjection for dependency injection, update related service registrations, and refactor impacted components accordingly. * Adjust DependencyInjectionExtensions * Cleanuip Dialoghost * Fix icon store filling * Reformat & Cleanup * small fixes * Added processing animation * Icon Updates * Added some findings, need more. * Update package dependencies to latest versions and improve DI test robustness * Refactor key file format handling: simplify `Password.Set` logic, update binding properties for key formats, clean up TODOs, and enhance backup file deletion logic. * Refactor and modularize SSH key management: introduce new interfaces and services (`IDirectoryCrawler`, `IKeyFileBackupService`, `IKeyFileWriterService`, and `ISshKeyGenerator`), implement `SshKeyFactory` and `KeyFileBackupService`, and update `SshKeyManager` to use dependency injection and improve maintainability. * Simplify "Provide Password" button in SshKeyFileStyle and fix export format in MainWindowViewModel. * Update ReactiveUI and ReactiveUI.SourceGenerators to latest versions in project files. * Add TODO comment to enable scanning of additional user-scoped paths in DirectoryCrawler. * Added AppConfiguration; Added WriteableConfiguration interface * Added writeableconfig to appsettingsviewmodel * Restrict ComboBoxItem binding in SshKeyFileStyle and remove redundant DataType specification. * Refactor DirectoryCrawler to support async disk enumeration and enable scanning of configurable lookup paths. * Add `PathExtensions` utility class for file/directory management and integrate usage into configuration and logging workflows. * Added ComboBox for path selection in AddKeyWindow and font size binding adjustments * Ensure main window is brought to front on open, then clear topmost flag * Refactor configuration system: replaced `IWritableConfiguration` with `IMutableConfiguration`, updated usages across the app, and improved settings UI layout. * Refactor SSH key file format handling: replace `SshKeyFormatExtension` constants with `PathExtensions`, add missing utility functions, and update references across the codebase. * Add lookup path management in ApplicationSettings: enable adding and removing paths with UI integration and validation logic * Refactor ApplicationSettings: enhance lookup path management, implement new bindings for HeaderedItem, throttle reactive commands, and extract `PathDeletableConverter` to a dedicated file. * Refactor application configuration: update font size type to `double`, introduce `ApplyConfiguration` method for dynamic theme and log level application, and optimize reactive bindings in `ApplicationSettingsViewModel`. * Add `CollectionIndexConverter` for 1-based indexing in lookup paths and update `ApplicationSettingsWindow` bindings to include index display * Update `ApplicationSettingsWindow`: localize lookup paths header text and add German translation * Add `TooltippedIcon` control and integrate it into `ApplicationSettingsWindow` for enhanced UI element descriptions * Add hover-based tooltip functionality to `TooltippedIcon` with extended pointer handling and popup interactions * Update dependencies: bump Avalonia packages to 12.0.2, ReactiveUI to 23.2.27, and other minor version upgrades * clean up indentation, adjust formatting across services and views, and streamline property definitions. * Centralize NuGet package version management and refactor project files to improve readability and reduce redundancy. * Fix SSH key format detection: ensure `.EndsWith` is used for extension comparison to handle edge cases * Introduce new workflows: auto-tag refinement, unit tests, build-and-package, and optimize release flow. - **Auto-tag Workflow**: Improved conditional checks, logging, and tag push status messages. - Added **Unit Test Workflow** for .NET projects with caching and restoration steps. - Modularized build process with **Build-and-Package Workflow** to handle multi-platform targets and upload artifacts cleanly. - Refined and streamlined **Release Workflows** with reusable job configurations and reduced redundancy. * Bump version to 3.1.0, improve PKGBUILD formatting, and fix SSH key format extension handling. * Add `build-and-package.yml` and `test.yml` workflows; refine asset preparation logic in `staging.yml`. * Refactor workflows: streamline asset preparation, reorganize directories, and remove redundant nightly release job. * Update `staging.yml`: adjust dependencies for `deploy-aur-nightly` and refine artifact handling logic * Refactor GitHub Actions workflows: improve artifact handling and enhance AUR metadata validation * Update `staging.yml`: add `build` dependency for `deploy-aur-nightly` and improve artifact preparation logic * Revamp README: overhaul content structure, include new features, update screenshots, and replace outdated information. * Bump version to 3.1.1; update PKGBUILD, normalize version logic in workflow, and adjust artifact packaging. * Bump version to 3.1.2; update PKGBUILD, enhance version normalization logic in workflow, and streamline artifact preparation. * Enhance Komac installation in workflow: dynamically fetch latest release URL, add validation, and log version. * Refactor GitHub Actions: modularize workflows, add custom composite actions for .NET setup, AppImage building, and publishing, and enhance release process with concurrency and timeout management. * Add `actions/checkout@v4` to workflows for consistent repository access. * Refactor `install-komac` action: enhance reliability with `gh` CLI integration, improve release asset resolution, and simplify output handling. * Remove `install-komac` action, update GitHub Actions to latest versions, and refactor workflows for consistency and efficiency. * Remove unused `needs: detect-tfm` property from `.github/actions/dotnet-setup/action.yml`. * Remove nightly GitHub Release action from staging workflow * resolve warning IL3000 * Remove nightly support and update workflows to reflect changes * Update PKGBUILD to include date and commit hash in versioning * Sync auto-tag workflow with development process: - Add pull request write permissions. - Increase timeout for tag creation job. - Implement automatic cherry-picking of release commits into development with conflict handling. - Adjust test workflow triggers for better branch handling. * Simplify test workflow by removing conditional triggers based on event type * Update auto-tag workflow: Remove "Sync Development" from job name * Bump version to 3.1.6 in PKGBUILD and Directory.Build.props (cherry picked from commit ebe69b11013ed295183deeba4440db7e23c9f9cc) * Update workflows and dependencies: - Remove `install-komac` action. - Replace `actions/checkout@v4` with `v6`. - Replace `actions/upload-artifact@v4` with `v7`. - Update various dependencies in GitHub Actions workflows. - Introduce `deploy-release.yml` for release deployment to AUR and Winget. - Simplify `auto-tag.yml` with reusable tag creation action. - Cleanup and modernize PKGBUILD structure. * Enhance `determine-version` action and workflows: - Add configurable inputs for file, property, and ref. - Update workflows to pass ref to `determine-version`. - Simplify workflows by reducing redundant checkout steps. * Add sparse checkout for `determine-version` action in staging workflow * Disable sparse checkout cone mode in `determine-version` action * Remove redundant `ref` input from `actions/checkout` in staging workflow * Remove `fetch-depth` input from checkout step in staging workflow * Simplify staging workflow by reducing inputs and removing sparse checkout * .. * verion bump * Update staging workflow to include post-process step for branch checkout * Update staging workflow: fix branch checkout logic in post-process step * Simplify staging workflow by removing post-process step for branch checkout * Update dependencies in staging workflow: downgrade checkout action and AUR deploy action * fix: correct AUR action parameters (commit_username → author_name, commit_email → author_email) * fix: add force flag and increase fetch-depth for AUR git deployment * fix: add force flag and revert to correct AUR action parameters * fix: correct AUR action to use commit_username and commit_email parameters * fix: explicitly specify master branch for AUR deployment to avoid refspec error * refactor: replace KSXGitHub action with custom git clone and push for AUR deployment * fix: setup SSH key before cloning AUR repository * fix: simplify AUR deployment with correct paths and environment variables * fix: explicitly create and switch to the master branch during AUR deployment * fix: ensure branch tracks origin/master during AUR deployment * fix: include .SRCINFO generation during AUR deployment * fix: run makepkg as non-root user during AUR deployment * fix: update .SRCINFO generation command in AUR deployment * refactor: add reusable deploy-aur action and integrate with workflows * chore: bump BaseVersion to 3.1.7 in Directory.Build.props * Migrate workflows and clean up composite GitHub Actions: - Remove deprecated `.github/actions/*` composite actions. - Refactor workflows to replace removed actions with direct configurations using native GitHub Actions or external tools (e.g., `AppImageCrafters` for AppImage building). - Simplify `.NET` setup, build, and publish steps. - Modernize PKGBUILD and AUR deployment logic. * Update PKGBUILD for version 3.2.0 with new dependencies, build optimizations, and fixes: - Bump version to `3.2.0`. - Add `!strip` to `options`. - Correct `pkgver` function removal and integrate commit hash/date into versioning. - Fix typo in `-p:SelfContained` build argument. - Introduce `-p:InformationalVersion` for improved version metadata. - Streamline icon generation and build scripts. * Add NSIS installer for Windows, update .desktop metadata, and restructure workflows. - Introduced NSIS-based Windows installer script for OpenSSH GUI (`OpenSSH-GUI.nsi`) with dynamic variable substitution. - Enhanced `.desktop` file metadata: added new categories, keywords, and improved descriptions. - Adjusted GitHub Actions workflows to support NSIS installer creation, packaging, and integration with release processes. * - Refactor logging: replace `FileName` with `ClassName` for improved granularity, introduce class name extraction logic, and update log templates. - Enhance README with badges for build status, release version, and package information. - Suppress Avalonia warnings (`AVLN3001`) in project configuration. * Bump BaseVersion to 3.2.1 in Directory.Build.props * Add version comparison workflow to enforce release > master version in PRs * Update build-and-package workflow: add runtime target to `dotnet restore` step * Bump BaseVersion to 3.2.2 in Directory.Build.props * Update output type in project file from `Exe` to `WinExe` to improve Windows app compatibility. * Update workflows: Add repository_dispatch trigger for deployment and refactor tag handling in deploy-release.yml. * #34: fix clipboard error * #34: global.json changes for pipline happiness * Release V3.2.3 (#35) * fix naming error * fix icon name * Fix startup error when files are not readable. (#18) * remove warnings as error in csproj * remove warnings as error in csproj * Fix and Optimize Configuration, SSH Key Handling, and UI (#21) * Fix startup error when files are not readable. * Added Winget Pipeline * Extended FileInfoWindow * Implemented PasswordBox with toggleable password visibility * Update CI * Minor version bump * Added Password in File Info view * Introduced object for BasicSshKeyFileInformation * Reniced SshKeyFileInformation.cs * Fixes some errors in SshKeyFileInformation.cs; Updated file reading logic for ppk files * Removed obsolete comments * Refactoring #1 * fixed reactive chain * 😁 * Optimized Reactive chains * - * Added new icon, changed resolverchain * Refactor icon size handling, improve SSH key collection tracking, and update reactive bindings. * Relocate and optimize asset management: replace SVG icon with ICO format, restructure image paths, and update project references accordingly. * Add light theme assets, theme selection settings, and dynamic icon support. * Refactor theme resources, improve reactive property bindings, update dependencies, and enhance SSH key file handling logic. * Refactor SubmitButtons as reusable control, replace redundant button definitions, and apply dynamic theme resources. * Add SubmitButtons control to EditKnownHostsWindow.axaml * Removed obsolete Interfaces * Minor fixes * Adjust Colors throughout the application * removed logger from SshKeyFilePassword.cs * Changes on FileInfoWindow * Color occurences changed to dynamic resource * Update ReactiveUI * Started to implement password change * Implemented password change ability * Disabled selection of items in SshKeyComboBoxStyle, when they are not initialized * Changed writing and disabled false-positive error in SshKeyItemContainerTheme * Implemented retry abort mechanism * Reformat & Cleanup; Changed to ServerConnection.cs * Changes in ConnectToServerViewModel * Removed redundant interfaces; reformat & cleanup * Implemented headered item * Minor refactoring in server handling * added ideas and refactoring suggestions * Refactoring of SshKeyManager.cs * Cleanup of old Extensions, compute fingerprint by ourselfs - even if key is encrypted * Enabled Logging by SSH.NET * Refactoring progress * Refactoring Progress #2 * SshKeyFileInformation changed to OAPHs * not working sorter * Update package dependencies across all projects to latest stable versions * Remove custom Sorter control, migrate to Avalonia DataGrid for key listing adjustments * Replace ContextMenus with FlyoutButtons, update styling and font sizes, and add Xaml.Behaviors.Avalonia dependency. * Add font size adjustment feature to Application Settings with binding and reset option. * Add dynamic font size management with resource observables, MaterialIcon size adjustments, and NumericUpDown control in Application Settings. * Refactor icon size handling: adjust MaterialIconSize resource, streamline size-related properties, and improve logging logic. * Update DataGrid column properties, add loading spinner, and improve reactive processing state handling. * Update localization bindings for tab headers, improve string resource handling, and streamline German translations. * Refactor SSH key export logic: simplify case handling, improve error messaging, and update dynamic window title formatting. * Refactor reactive properties and commands: streamline syntax, enhance property accessibility, and improve dynamic window title logic. * Refactor ViewModelBase hierarchy: simplify generics, remove redundant logger dependencies, and streamline initialization patterns. * Refactor various components: optimize property and method signatures, streamline placeholders and localization, and remove redundant dependencies. * Refactor KnownHostsFile and related components: optimize initialization, enhance file handling logic, and streamline key export functionality. * Refactor KnownHosts handling: optimize file updates, consolidate constructors, and streamline bindings in KnownHosts GUI rendering. * Optimize AuthorizedKeys handling: add change detection for file updates, prevent unnecessary writes to file and server, and fix BUG comment. * Refactor dependency injection tests: use DryIoc container directly and refine registration logic to improve clarity and accuracy. * Add `Window_OnClosing` handler for dialogs, adjust window properties, and include ReactiveUI references in project. * add todo; * Prevent window closing interruptions: handle `Window_OnClosing` to cancel external close attempts and streamline closing logic. * Refactor ApplicationSettings components: enhance UI alignment properties, add "Open Cache Folder" command, and streamline font size initialization logic. * Refactor SshKeyManager file watcher: integrate Avalonia Dispatcher for UI thread invocation and streamline event handling logic. * Refactor dialog closing logic: introduce `_isInternalClose` flag to prevent external close interruptions and streamline event handling. Optimize reactive properties in `SshKeyFileInformation` for better initialization and UI thread integration. * Refactor `SshKeyFileInformation`: remove reactive properties and disposables to simplify initialization and make properties immutable. * Refactor `FlyoutButton` UI: simplify tooltip and key count display logic, remove spinning icon animation, and streamline related ViewModel properties. * Refactor `ApplicationSettingsWindow`: update UI for cache options, enhance layout alignment, and remove unused reactive properties in ViewModel. * Replace DryIoc with Microsoft.Extensions.DependencyInjection for dependency injection, update related service registrations, and refactor impacted components accordingly. * Adjust DependencyInjectionExtensions * Cleanuip Dialoghost * Fix icon store filling * Reformat & Cleanup * small fixes * Added processing animation * Icon Updates * Added some findings, need more. * Update package dependencies to latest versions and improve DI test robustness * Refactor key file format handling: simplify `Password.Set` logic, update binding properties for key formats, clean up TODOs, and enhance backup file deletion logic. * Refactor and modularize SSH key management: introduce new interfaces and services (`IDirectoryCrawler`, `IKeyFileBackupService`, `IKeyFileWriterService`, and `ISshKeyGenerator`), implement `SshKeyFactory` and `KeyFileBackupService`, and update `SshKeyManager` to use dependency injection and improve maintainability. * Simplify "Provide Password" button in SshKeyFileStyle and fix export format in MainWindowViewModel. * Update ReactiveUI and ReactiveUI.SourceGenerators to latest versions in project files. * Add TODO comment to enable scanning of additional user-scoped paths in DirectoryCrawler. * Added AppConfiguration; Added WriteableConfiguration interface * Added writeableconfig to appsettingsviewmodel * Restrict ComboBoxItem binding in SshKeyFileStyle and remove redundant DataType specification. * Refactor DirectoryCrawler to support async disk enumeration and enable scanning of configurable lookup paths. * Add `PathExtensions` utility class for file/directory management and integrate usage into configuration and logging workflows. * Added ComboBox for path selection in AddKeyWindow and font size binding adjustments * Ensure main window is brought to front on open, then clear topmost flag * Refactor configuration system: replaced `IWritableConfiguration` with `IMutableConfiguration`, updated usages across the app, and improved settings UI layout. * Refactor SSH key file format handling: replace `SshKeyFormatExtension` constants with `PathExtensions`, add missing utility functions, and update references across the codebase. * Add lookup path management in ApplicationSettings: enable adding and removing paths with UI integration and validation logic * Refactor ApplicationSettings: enhance lookup path management, implement new bindings for HeaderedItem, throttle reactive commands, and extract `PathDeletableConverter` to a dedicated file. * Refactor application configuration: update font size type to `double`, introduce `ApplyConfiguration` method for dynamic theme and log level application, and optimize reactive bindings in `ApplicationSettingsViewModel`. * Add `CollectionIndexConverter` for 1-based indexing in lookup paths and update `ApplicationSettingsWindow` bindings to include index display * Update `ApplicationSettingsWindow`: localize lookup paths header text and add German translation * Add `TooltippedIcon` control and integrate it into `ApplicationSettingsWindow` for enhanced UI element descriptions * Add hover-based tooltip functionality to `TooltippedIcon` with extended pointer handling and popup interactions * Update dependencies: bump Avalonia packages to 12.0.2, ReactiveUI to 23.2.27, and other minor version upgrades * clean up indentation, adjust formatting across services and views, and streamline property definitions. * Centralize NuGet package version management and refactor project files to improve readability and reduce redundancy. * Fix SSH key format detection: ensure `.EndsWith` is used for extension comparison to handle edge cases * Introduce new workflows: auto-tag refinement, unit tests, build-and-package, and optimize release flow. - **Auto-tag Workflow**: Improved conditional checks, logging, and tag push status messages. - Added **Unit Test Workflow** for .NET projects with caching and restoration steps. - Modularized build process with **Build-and-Package Workflow** to handle multi-platform targets and upload artifacts cleanly. - Refined and streamlined **Release Workflows** with reusable job configurations and reduced redundancy. * Bump version to 3.1.0, improve PKGBUILD formatting, and fix SSH key format extension handling. * Add `build-and-package.yml` and `test.yml` workflows; refine asset preparation logic in `staging.yml`. * Refactor workflows: streamline asset preparation, reorganize directories, and remove redundant nightly release job. * Update `staging.yml`: adjust dependencies for `deploy-aur-nightly` and refine artifact handling logic * Refactor GitHub Actions workflows: improve artifact handling and enhance AUR metadata validation * Update `staging.yml`: add `build` dependency for `deploy-aur-nightly` and improve artifact preparation logic * Revamp README: overhaul content structure, include new features, update screenshots, and replace outdated information. * Bump version to 3.1.1; update PKGBUILD, normalize version logic in workflow, and adjust artifact packaging. * Bump version to 3.1.2; update PKGBUILD, enhance version normalization logic in workflow, and streamline artifact preparation. * Enhance Komac installation in workflow: dynamically fetch latest release URL, add validation, and log version. * Refactor GitHub Actions: modularize workflows, add custom composite actions for .NET setup, AppImage building, and publishing, and enhance release process with concurrency and timeout management. * Add `actions/checkout@v4` to workflows for consistent repository access. * Refactor `install-komac` action: enhance reliability with `gh` CLI integration, improve release asset resolution, and simplify output handling. * Remove `install-komac` action, update GitHub Actions to latest versions, and refactor workflows for consistency and efficiency. * Remove unused `needs: detect-tfm` property from `.github/actions/dotnet-setup/action.yml`. * Remove nightly GitHub Release action from staging workflow * resolve warning IL3000 * Remove nightly support and update workflows to reflect changes * Update PKGBUILD to include date and commit hash in versioning * Sync auto-tag workflow with development process: - Add pull request write permissions. - Increase timeout for tag creation job. - Implement automatic cherry-picking of release commits into development with conflict handling. - Adjust test workflow triggers for better branch handling. * Simplify test workflow by removing conditional triggers based on event type * Update auto-tag workflow: Remove "Sync Development" from job name * Release v3.1.6 -Update workflows and versioning logic for improved CI/CD (#28) * fix naming error * fix icon name * Fix startup error when files are not readable. (#18) * remove warnings as error in csproj * remove warnings as error in csproj * Fix and Optimize Configuration, SSH Key Handling, and UI (#21) * Fix startup error when files are not readable. * Added Winget Pipeline * Extended FileInfoWindow * Implemented PasswordBox with toggleable password visibility * Update CI * Minor version bump * Added Password in File Info view * Introduced object for BasicSshKeyFileInformation * Reniced SshKeyFileInformation.cs * Fixes some errors in SshKeyFileInformation.cs; Updated file reading logic for ppk files * Removed obsolete comments * Refactoring #1 * fixed reactive chain * 😁 * Optimized Reactive chains * - * Added new icon, changed resolverchain * Refactor icon size handling, improve SSH key collection tracking, and update reactive bindings. * Relocate and optimize asset management: replace SVG icon with ICO format, restructure image paths, and update project references accordingly. * Add light theme assets, theme selection settings, and dynamic icon support. * Refactor theme resources, improve reactive property bindings, update dependencies, and enhance SSH key file handling logic. * Refactor SubmitButtons as reusable control, replace redundant button definitions, and apply dynamic theme resources. * Add SubmitButtons control to EditKnownHostsWindow.axaml * Removed obsolete Interfaces * Minor fixes * Adjust Colors throughout the application * removed logger from SshKeyFilePassword.cs * Changes on FileInfoWindow * Color occurences changed to dynamic resource * Update ReactiveUI * Started to implement password change * Implemented password change ability * Disabled selection of items in SshKeyComboBoxStyle, when they are not initialized * Changed writing and disabled false-positive error in SshKeyItemContainerTheme * Implemented retry abort mechanism * Reformat & Cleanup; Changed to ServerConnection.cs * Changes in ConnectToServerViewModel * Removed redundant interfaces; reformat & cleanup * Implemented headered item * Minor refactoring in server handling * added ideas and refactoring suggestions * Refactoring of SshKeyManager.cs * Cleanup of old Extensions, compute fingerprint by ourselfs - even if key is encrypted * Enabled Logging by SSH.NET * Refactoring progress * Refactoring Progress #2 * SshKeyFileInformation changed to OAPHs * not working sorter * Update package dependencies across all projects to latest stable versions * Remove custom Sorter control, migrate to Avalonia DataGrid for key listing adjustments * Replace ContextMenus with FlyoutButtons, update styling and font sizes, and add Xaml.Behaviors.Avalonia dependency. * Add font size adjustment feature to Application Settings with binding and reset option. * Add dynamic font size management with resource observables, MaterialIcon size adjustments, and NumericUpDown control in Application Settings. * Refactor icon size handling: adjust MaterialIconSize resource, streamline size-related properties, and improve logging logic. * Update DataGrid column properties, add loading spinner, and improve reactive processing state handling. * Update localization bindings for tab headers, improve string resource handling, and streamline German translations. * Refactor SSH key export logic: simplify case handling, improve error messaging, and update dynamic window title formatting. * Refactor reactive properties and commands: streamline syntax, enhance property accessibility, and improve dynamic window title logic. * Refactor ViewModelBase hierarchy: simplify generics, remove redundant logger dependencies, and streamline initialization patterns. * Refactor various components: optimize property and method signatures, streamline placeholders and localization, and remove redundant dependencies. * Refactor KnownHostsFile and related components: optimize initialization, enhance file handling logic, and streamline key export functionality. * Refactor KnownHosts handling: optimize file updates, consolidate constructors, and streamline bindings in KnownHosts GUI rendering. * Optimize AuthorizedKeys handling: add change detection for file updates, prevent unnecessary writes to file and server, and fix BUG comment. * Refactor dependency injection tests: use DryIoc container directly and refine registration logic to improve clarity and accuracy. * Add `Window_OnClosing` handler for dialogs, adjust window properties, and include ReactiveUI references in project. * add todo; * Prevent window closing interruptions: handle `Window_OnClosing` to cancel external close attempts and streamline closing logic. * Refactor ApplicationSettings components: enhance UI alignment properties, add "Open Cache Folder" command, and streamline font size initialization logic. * Refactor SshKeyManager file watcher: integrate Avalonia Dispatcher for UI thread invocation and streamline event handling logic. * Refactor dialog closing logic: introduce `_isInternalClose` flag to prevent external close interruptions and streamline event handling. Optimize reactive properties in `SshKeyFileInformation` for better initialization and UI thread integration. * Refactor `SshKeyFileInformation`: remove reactive properties and disposables to simplify initialization and make properties immutable. * Refactor `FlyoutButton` UI: simplify tooltip and key count display logic, remove spinning icon animation, and streamline related ViewModel properties. * Refactor `ApplicationSettingsWindow`: update UI for cache options, enhance layout alignment, and remove unused reactive properties in ViewModel. * Replace DryIoc with Microsoft.Extensions.DependencyInjection for dependency injection, update related service registrations, and refactor impacted components accordingly. * Adjust DependencyInjectionExtensions * Cleanuip Dialoghost * Fix icon store filling * Reformat & Cleanup * small fixes * Added processing animation * Icon Updates * Added some findings, need more. * Update package dependencies to latest versions and improve DI test robustness * Refactor key file format handling: simplify `Password.Set` logic, update binding properties for key formats, clean up TODOs, and enhance backup file deletion logic. * Refactor and modularize SSH key management: introduce new interfaces and services (`IDirectoryCrawler`, `IKeyFileBackupService`, `IKeyFileWriterService`, and `ISshKeyGenerator`), implement `SshKeyFactory` and `KeyFileBackupService`, and update `SshKeyManager` to use dependency injection and improve maintainability. * Simplify "Provide Password" button in SshKeyFileStyle and fix export format in MainWindowViewModel. * Update ReactiveUI and ReactiveUI.SourceGenerators to latest versions in project files. * Add TODO comment to enable scanning of additional user-scoped paths in DirectoryCrawler. * Added AppConfiguration; Added WriteableConfiguration interface * Added writeableconfig to appsettingsviewmodel * Restrict ComboBoxItem binding in SshKeyFileStyle and remove redundant DataType specification. * Refactor DirectoryCrawler to support async disk enumeration and enable scanning of configurable lookup paths. * Add `PathExtensions` utility class for file/directory management and integrate usage into configuration and logging workflows. * Added ComboBox for path selection in AddKeyWindow and font size binding adjustments * Ensure main window is brought to front on open, then clear topmost flag * Refactor configuration system: replaced `IWritableConfiguration` with `IMutableConfiguration`, updated usages across the app, and improved settings UI layout. * Refactor SSH key file format handling: replace `SshKeyFormatExtension` constants with `PathExtensions`, add missing utility functions, and update references across the codebase. * Add lookup path management in ApplicationSettings: enable adding and removing paths with UI integration and validation logic * Refactor ApplicationSettings: enhance lookup path management, implement new bindings for HeaderedItem, throttle reactive commands, and extract `PathDeletableConverter` to a dedicated file. * Refactor application configuration: update font size type to `double`, introduce `ApplyConfiguration` method for dynamic theme and log level application, and optimize reactive bindings in `ApplicationSettingsViewModel`. * Add `CollectionIndexConverter` for 1-based indexing in lookup paths and update `ApplicationSettingsWindow` bindings to include index display * Update `ApplicationSettingsWindow`: localize lookup paths header text and add German translation * Add `TooltippedIcon` control and integrate it into `ApplicationSettingsWindow` for enhanced UI element descriptions * Add hover-based tooltip functionality to `TooltippedIcon` with extended pointer handling and popup interactions * Update dependencies: bump Avalonia packages to 12.0.2, ReactiveUI to 23.2.27, and other minor version upgrades * clean up indentation, adjust formatting across services and views, and streamline property definitions. * Centralize NuGet package version management and refactor project files to improve readability and reduce redundancy. * Fix SSH key format detection: ensure `.EndsWith` is used for extension comparison to handle edge cases * Introduce new workflows: auto-tag refinement, unit tests, build-and-package, and optimize release flow. - **Auto-tag Workflow**: Improved conditional checks, logging, and tag push status messages. - Added **Unit Test Workflow** for .NET projects with caching and restoration steps. - Modularized build process with **Build-and-Package Workflow** to handle multi-platform targets and upload artifacts cleanly. - Refined and streamlined **Release Workflows** with reusable job configurations and reduced redundancy. * Bump version to 3.1.0, improve PKGBUILD formatting, and fix SSH key format extension handling. * Add `build-and-package.yml` and `test.yml` workflows; refine asset preparation logic in `staging.yml`. * Refactor workflows: streamline asset preparation, reorganize directories, and remove redundant nightly release job. * Update `staging.yml`: adjust dependencies for `deploy-aur-nightly` and refine artifact handling logic * Refactor GitHub Actions workflows: improve artifact handling and enhance AUR metadata validation * Update `staging.yml`: add `build` dependency for `deploy-aur-nightly` and improve artifact preparation logic * Revamp README: overhaul content structure, include new features, update screenshots, and replace outdated information. * Bump version to 3.1.1; update PKGBUILD, normalize version logic in workflow, and adjust artifact packaging. * Bump version to 3.1.2; update PKGBUILD, enhance version normalization logic in workflow, and streamline artifact preparation. * Enhance Komac installation in workflow: dynamically fetch latest release URL, add validation, and log version. * Refactor GitHub Actions: modularize workflows, add custom composite actions for .NET setup, AppImage building, and publishing, and enhance release process with concurrency and timeout management. * Add `actions/checkout@v4` to workflows for consistent repository access. * Refactor `install-komac` action: enhance reliability with `gh` CLI integration, improve release asset resolution, and simplify output handling. * Remove `install-komac` action, update GitHub Actions to latest versions, and refactor workflows for consistency and efficiency. * Remove unused `needs: detect-tfm` property from `.github/actions/dotnet-setup/action.yml`. * Remove nightly GitHub Release action from staging workflow * resolve warning IL3000 * Remove nightly support and update workflows to reflect changes * Update PKGBUILD to include date and commit hash in versioning * Sync auto-tag workflow with development process: - Add pull request write permissions. - Increase timeout for tag creation job. - Implement automatic cherry-picking of release commits into development with conflict handling. - Adjust test workflow triggers for better branch handling. * Simplify test workflow by removing conditional triggers based on event type * Update auto-tag workflow: Remove "Sync Development" from job name * Bump version to 3.1.6 in PKGBUILD and Directory.Build.props (cherry picked from commit ebe69b11013ed295183deeba4440db7e23c9f9cc) * Update workflows and dependencies: - Remove `install-komac` action. - Replace `actions/checkout@v4` with `v6`. - Replace `actions/upload-artifact@v4` with `v7`. - Update various dependencies in GitHub Actions workflows. - Introduce `deploy-release.yml` for release deployment to AUR and Winget. - Simplify `auto-tag.yml` with reusable tag creation action. - Cleanup and modernize PKGBUILD structure. * Enhance `determine-version` action and workflows: - Add configurable inputs for file, property, and ref. - Update workflows to pass ref to `determine-version`. - Simplify workflows by reducing redundant checkout steps. * Add sparse checkout for `determine-version` action in staging workflow * Disable sparse checkout cone mode in `determine-version` action * Remove redundant `ref` input from `actions/checkout` in staging workflow * Remove `fetch-depth` input from checkout step in staging workflow * Simplify staging workflow by reducing inputs and removing sparse checkout * .. * verion bump * Update staging workflow to include post-process step for branch checkout * Update staging workflow: fix branch checkout logic in post-process step * Simplify staging workflow by removing post-process step for branch checkout * Update dependencies in staging workflow: downgrade checkout action and AUR deploy action * fix: correct AUR action parameters (commit_username → author_name, commit_email → author_email) * fix: add force flag and increase fetch-depth for AUR git deployment * fix: add force flag and revert to correct AUR action parameters * fix: correct AUR action to use commit_username and commit_email parameters * fix: explicitly specify master branch for AUR deployment to avoid refspec error * refactor: replace KSXGitHub action with custom git clone and push for AUR deployment * fix: setup SSH key before cloning AUR repository * fix: simplify AUR deployment with correct paths and environment variables * fix: explicitly create and switch to the master branch during AUR deployment * fix: ensure branch tracks origin/master during AUR deployment * fix: include .SRCINFO generation during AUR deployment * fix: run makepkg as non-root user during AUR deployment * fix: update .SRCINFO generation command in AUR deployment * refactor: add reusable deploy-aur action and integrate with workflows * chore: bump BaseVersion to 3.1.7 in Directory.Build.props * Migrate workflows and clean up composite GitHub Actions: - Remove deprecated `.github/actions/*` composite actions. - Refactor workflows to replace removed actions with direct configurations using native GitHub Actions or external tools (e.g., `AppImageCrafters` for AppImage building). - Simplify `.NET` setup, build, and publish steps. - Modernize PKGBUILD and AUR deployment logic. * Update PKGBUILD for version 3.2.0 with new dependencies, build optimizations, and fixes: - Bump version to `3.2.0`. - Add `!strip` to `options`. - Correct `pkgver` function removal and integrate commit hash/date into versioning. - Fix typo in `-p:SelfContained` build argument. - Introduce `-p:InformationalVersion` for improved version metadata. - Streamline icon generation and build scripts. * Add NSIS installer for Windows, update .desktop metadata, and restructure workflows. - Introduced NSIS-based Windows installer script for OpenSSH GUI (`OpenSSH-GUI.nsi`) with dynamic variable substitution. - Enhanced `.desktop` file metadata: added new categories, keywords, and improved descriptions. - Adjusted GitHub Actions workflows to support NSIS installer creation, packaging, and integration with release processes. * - Refactor logging: replace `FileName` with `ClassName` for improved granularity, introduce class name extraction logic, and update log templates. - Enhance README with badges for build status, release version, and package information. - Suppress Avalonia warnings (`AVLN3001`) in project configuration. * Bump BaseVersion to 3.2.1 in Directory.Build.props * Add version comparison workflow to enforce release > master version in PRs * Update build-and-package workflow: add runtime target to `dotnet restore` step * Bump BaseVersion to 3.2.2 in Directory.Build.props * Update output type in project file from `Exe` to `WinExe` to improve Windows app compatibility. * Update workflows: Add repository_dispatch trigger for deployment and refactor tag handling in deploy-release.yml. * #34: fix clipboard error * #34: global.json changes for pipline happiness * version bump (cherry picked from commit dc69d8c67cbfdd4549f163893ad8328e8af8a65a) * Refactor window model to replace `OwnerTopLevel` with `GetTopLevel` delegate and freeze icon store for immutability. * workflow updates * update path * fix assignment * fix assignments#2 * Remove unused AppImageBuilder configuration, streamline workflows, and fix versioning logic. * Automate pkgver * Remove staging workflow and its references * Update version retrieval logic to use `AssemblyVersionAttribute` instead of `AssemblyInformationalVersionAttribute` * Add staging workflow to automate AUR deployments and update PKGBUILD * Add steps section to staging workflow * Rename job and update configuration in staging workflow * Add checkout step to staging workflow * Fix indentation in staging workflow deployment step * Comment out checkout step in staging workflow * Remove commented-out checkout step from staging workflow * Refactor PKGBUILD to use _pkgdirname variable for project paths * Update staging workflow path for PKGBUILD and adjust formatting in PKGBUILD file * Update deployment step in staging workflow to use external action and adjust parameters * Fix formatting in PKGBUILD options array * Add sparse checkout to staging workflow and adjust PKGBUILD formatting * Update sparse-checkout syntax and remove extra space in PKGBUILD options * Fix syntax in staging workflow and remove redundant space in PKGBUILD options * update slnx * Packagebuild changes * PKGBuild changes * Extended tests * "Bug"fixes in tests * Version bump to 3.2.4 * Made assembly a parameter for future testing * Remove RID from test assembly * Removed redundant buildstep in version-guard.yml (cherry picked from commit 817e0792f4f96f5f6a36a6eb3d3e6118573fe76e)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hotfix for Issue #34 & Improvements on tests