Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Registry Settings: enhancements and new settings implementation #2643

Merged
Kvarkas merged 7 commits into
mRemoteNG:v1.77.3-devmRemoteNG/mRemoteNG:v1.77.3-devfrom
xRushG:asyncRegSettingCopy head branch name to clipboard
Oct 1, 2024
Merged

Registry Settings: enhancements and new settings implementation #2643
Kvarkas merged 7 commits into
mRemoteNG:v1.77.3-devmRemoteNG/mRemoteNG:v1.77.3-devfrom
xRushG:asyncRegSettingCopy head branch name to clipboard

Conversation

@xRushG

@xRushG xRushG commented Oct 1, 2024

Copy link
Copy Markdown
Contributor

Description

This pull request introduces enhancements to the registry management system, emphasizing asynchronous loading and the incorporation of new features. The following changes have been implemented:

  • RegistryLoader Class:
    A new class has been introduced to manage registry settings with asynchronous loading capabilities.

  • Update and Credential page settings:
    Updated code to use new loading routines.

  • Notification, Startup and Exit, SQL Server and Appearance pages settings:
    Added registry settings.

  • Security page settings:
    Added registry settings and an encryption key generator for securely storing passwords in the registry.

  • Key Generator
    Generates encrypted passwords and copies them to the clipboard for 30 seconds.

  • Code Cleanup:
    Removed the obsolete SaveConnectionsOnExit option and commented some settings that may no longer be needed, marking them for future deletion.

  • Documentation Update:
    Updated documentation to reflect the new features and changes in registry settings.

Motivation and Context

I am motivated to contribute to the advancement of mRem by enhancing its functionality and performance. My goal is to support the development team in delivering a more efficient and user-friendly experience.

How Has This Been Tested?

  • All registry settings have been thoroughly tested through setting and modifying them. They have been in use in our production environment for several weeks, and we have not encountered any bugs.
  • The key generator has been tested by adding the generated string to the registry on more than four clients. All clients are able to use the password correctly.

Tested for/on:

  • Windows 10
  • Windows 11
  • Windows Server 2019
  • Windows Server 2022

Screenshots (if appropriate):

Secure Key Gen:

image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Changed feature (non-breaking change which changes functionality)
  • Changed feature (breaking change which changes functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Updated translation

Checklist:

  • I have read the CONTRIBUTING document.
  • My code follows the code style of this project.
  • All Tests within VisualStudio are passing
  • This pull request does not target the master branch.
  • I have updated the changelog file accordingly, if necessary.
  • I have updated the documentation accordingly, if necessary.

xRushG added 7 commits October 1, 2024 12:08
…settings loading

- Added the RegistryLoader class to handle loading of registry settings.
- Implemented Lazy<T> for singleton pattern to ensure only one instance of RegistryLoader is created.
- Added support for asynchronous loading of registry settings to improve performance in async workflows.
- Designed the class with thread safety in mind, leveraging ConcurrentDictionary for storage.
- Included logging of debug messages to track the load process and timing.
…settings, remove obsolete code

- Moved async registry loading logic to OptRegistryCredentialsPage and OptRegistryUpdatesPage to improve structure and maintainability.
- Removed obsolete logic and redundant code that is no longer needed due to the new asynchronous architecture.
- Enhanced settings management to take advantage of the just-in-time loading mechanism.
- Improved performance by ensuring registry settings are loaded asynchronously right before they are needed by the UI or application logic, minimizing unnecessary loads.
- Update documents
…nd Startup and Exit Page with async logic

- Added registry settings for the Notification Page.
- Added registry settings for the Appearance Page.
- Added registry settings for the Startup and Exit Page.
- All settings implemented with async registry logic
- Added registry settings for the Tabs and Panel Page.
- All settings implemented with async registry logic
- Comment unused settings
- Update documents
- Added registry settings for the Connection Page.
- Added registry settings for the SQL Serverl Page.
- All settings implemented with async registry logic
- Comment unused settings for Connection Page
- Update documents
…rator

- Added new registry settings for managing security-related configurations on the Security Page.
- Implemented an encryption key generator to securely generate a password for store in the registry.
- Passwords are placed encrypted on the clipboard for 30 seconds.
- Update documents and finalize comments
@xRushG xRushG changed the title Async reg setting Registry Settings: Enhancements and New Features Implementation Oct 1, 2024
@xRushG xRushG changed the title Registry Settings: Enhancements and New Features Implementation Registry Settings: enhancements and new settings implementation Oct 1, 2024
@Kvarkas
Kvarkas merged commit 7d1b9d8 into mRemoteNG:v1.77.3-dev Oct 1, 2024
@xRushG
xRushG deleted the asyncRegSetting branch October 2, 2024 05:17
@xRushG xRushG removed their assignment Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.