Skip to content

Conversation

@LordOfXen
Copy link
Contributor

Additional bug fixes and config profiles support for making configs a standard for all algorithms.

Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Added validation for name and description length in DefineHashConfigProfileAttribute.

Signed-off-by: Xen <lordofxen@deskasoft.com>
Updated maximum name length from 255 to 64 characters.

Signed-off-by: Xen <lordofxen@deskasoft.com>
Updated validation rules for Name and Description properties to include minimum length requirements.

Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
@LordOfXen LordOfXen requested a review from Copilot September 11, 2025 00:03
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces comprehensive support for configuration profiles, providing a standard way to create and manage configurations for all hash algorithms. It refactors the configuration system by replacing hardcoded static configurations with discoverable profile classes and adds new reflection helper methods for dynamic instance creation.

  • Introduces a config profile system with new attributes and interfaces for declarative configuration management
  • Refactors the HashFactory to support strongly typed reflection helpers and config profile discovery
  • Replaces static hardcoded configurations with individual profile classes across CRC, FNV, Pearson, BuzHash, and Argon2id algorithms

Reviewed Changes

Copilot reviewed 108 out of 108 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
ReflectionHelper.cs Adds generic reflection helper methods for strongly typed instance creation
HashFactory.cs Updates factory to support config profiles with improved type safety and reflection
HashFactory.Extensions.cs Adds GetConfigProfiles method and updates reflection signatures
Config profile interfaces/classes Introduces IHashConfigProfile interface and HashConfigProfile implementation
Attribute classes Adds DefineHashConfigProfileAttribute and DeclareHashConfigProfileAttribute for profile declarations
Algorithm config files Refactors configurations from static properties to individual profile classes
Comments suppressed due to low confidence (1)

HashifyNet/Core/Utilities/ReflectionHelper.cs:1

  • The variable configProfileCtor is assigned from configType.GetConstructor() but should be assigned from configProfileType.GetConstructor() since we're trying to get the constructor for the config profile type, not the config type.
// *

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

…s.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
@LordOfXen LordOfXen requested a review from Copilot September 11, 2025 00:05
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 108 out of 108 changed files in this pull request and generated 2 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
@github-actions github-actions bot added documentation Improvements or additions to documentation Core Config Algorithms labels Sep 11, 2025
@LordOfXen LordOfXen requested a review from Copilot September 11, 2025 00:25
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 108 out of 108 changed files in this pull request and generated 5 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@LordOfXen LordOfXen requested a review from Copilot September 11, 2025 00:57
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 108 out of 108 changed files in this pull request and generated 4 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
@LordOfXen LordOfXen requested a review from Copilot September 11, 2025 01:02
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 108 out of 108 changed files in this pull request and generated 5 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

LordOfXen and others added 2 commits September 10, 2025 18:04
Signed-off-by: Xen <lordofxen@deskasoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
@LordOfXen LordOfXen self-assigned this Sep 11, 2025
Updated IHashConfigProfile interface to include ProfileType property.

Signed-off-by: Xen <lordofxen@deskasoft.com>
Added ProfileType property and updated constructor to include it. Enhanced validation for profileType parameter.

Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
@LordOfXen LordOfXen added bug Something isn't working enhancement New feature or request labels Sep 11, 2025
@LordOfXen LordOfXen merged commit 90d1f44 into Deskasoft:main Sep 11, 2025
5 checks passed
@LordOfXen LordOfXen deleted the config-profiles-support branch September 11, 2025 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Algorithms bug Something isn't working Config Core documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants