diff --git a/.editorconfig b/.editorconfig index 76dc34418..40d2781d1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -25,11 +25,6 @@ csharp_style_expression_bodied_indexers = true:silent csharp_style_expression_bodied_accessors = true:silent csharp_style_expression_bodied_lambdas = true:silent csharp_style_expression_bodied_local_functions = false:silent -dotnet_diagnostic.SA1011.severity = none -dotnet_diagnostic.SA1101.severity = none -dotnet_diagnostic.SA1309.severity = none -dotnet_diagnostic.SA1310.severity = warning -dotnet_diagnostic.SX1309.severity = none # Razor files [*.razor] @@ -65,59 +60,3 @@ indent_size = 4 [*.xml] indent_style = space indent_size = 4 - -[*.{cs,vb}] -#### Naming styles #### - -# Naming rules - -dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion -dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface -dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i - -dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion -dotnet_naming_rule.types_should_be_pascal_case.symbols = types -dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case - -dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion -dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members -dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case - -# Symbol specifications - -dotnet_naming_symbols.interface.applicable_kinds = interface -dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.interface.required_modifiers = - -dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum -dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.types.required_modifiers = - -dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method -dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.non_field_members.required_modifiers = - -# Naming styles - -dotnet_naming_style.begins_with_i.required_prefix = I -dotnet_naming_style.begins_with_i.required_suffix = -dotnet_naming_style.begins_with_i.word_separator = -dotnet_naming_style.begins_with_i.capitalization = pascal_case - -dotnet_naming_style.pascal_case.required_prefix = -dotnet_naming_style.pascal_case.required_suffix = -dotnet_naming_style.pascal_case.word_separator = -dotnet_naming_style.pascal_case.capitalization = pascal_case - -dotnet_naming_style.pascal_case.required_prefix = -dotnet_naming_style.pascal_case.required_suffix = -dotnet_naming_style.pascal_case.word_separator = -dotnet_naming_style.pascal_case.capitalization = pascal_case -dotnet_style_operator_placement_when_wrapping = beginning_of_line -tab_width = 4 -end_of_line = crlf -dotnet_style_coalesce_expression = false:suggestion -dotnet_style_null_propagation = false:suggestion - -# IDE0046: Convert to conditional expression -dotnet_diagnostic.IDE0046.severity = silent diff --git a/.globalconfig b/.globalconfig new file mode 100644 index 000000000..5b82cc794 --- /dev/null +++ b/.globalconfig @@ -0,0 +1,57 @@ +dotnet_diagnostic.SA1011.severity = none +dotnet_diagnostic.SA1101.severity = none +dotnet_diagnostic.SA1309.severity = none +dotnet_diagnostic.SA1310.severity = warning +dotnet_diagnostic.SX1309.severity = none + +# Naming rules + +dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion +dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface +dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i + +dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.types_should_be_pascal_case.symbols = types +dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case + +dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members +dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case + +# Symbol specifications + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.required_modifiers = + +dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method +dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.required_modifiers = + +# Naming styles + +dotnet_naming_style.begins_with_i.required_prefix = I +dotnet_naming_style.begins_with_i.required_suffix = +dotnet_naming_style.begins_with_i.word_separator = +dotnet_naming_style.begins_with_i.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case +dotnet_style_operator_placement_when_wrapping = beginning_of_line + +dotnet_style_coalesce_expression = false:suggestion +dotnet_style_null_propagation = false:suggestion + +# IDE0046: Convert to conditional expression +dotnet_diagnostic.IDE0046.severity = silent diff --git a/src/AliasGenerators/AliasGenerators.csproj b/src/AliasGenerators/AliasGenerators.csproj index 23b2caeb1..35d83fef2 100644 --- a/src/AliasGenerators/AliasGenerators.csproj +++ b/src/AliasGenerators/AliasGenerators.csproj @@ -12,7 +12,7 @@ - true + true diff --git a/src/AliasVault.Api/AliasVault.Api.csproj b/src/AliasVault.Api/AliasVault.Api.csproj index fcbb05fb4..fa7d2b653 100644 --- a/src/AliasVault.Api/AliasVault.Api.csproj +++ b/src/AliasVault.Api/AliasVault.Api.csproj @@ -10,7 +10,7 @@ - false + true diff --git a/src/AliasVault.Shared/AliasVault.Shared.csproj b/src/AliasVault.Shared/AliasVault.Shared.csproj index ec688bbed..d56a6ba10 100644 --- a/src/AliasVault.Shared/AliasVault.Shared.csproj +++ b/src/AliasVault.Shared/AliasVault.Shared.csproj @@ -8,7 +8,7 @@ bin\Debug\net8.0\AliasVault.Shared.xml - false + true diff --git a/src/AliasVault.WebApp/AliasVault.WebApp.csproj b/src/AliasVault.WebApp/AliasVault.WebApp.csproj index aeada7dec..3f87ca5bc 100644 --- a/src/AliasVault.WebApp/AliasVault.WebApp.csproj +++ b/src/AliasVault.WebApp/AliasVault.WebApp.csproj @@ -8,28 +8,43 @@ $([System.DateTime]::UtcNow.ToString("yyyy-MM-dd HH:mm:ss")) + + bin\Debug\net8.0\AliasVault.WebApp.xml + true + dev + + + + true + bin\Release\net8.0\AliasVault.WebApp.xml + true + True + $([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) + + + + + + + + + + + + + + + + - + - - - - - - bin\Debug\net8.0\AliasVault.WebApp.xml - false - dev - - - - true - bin\Release\net8.0\AliasVault.WebApp.xml - false - True - $([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - - diff --git a/src/AliasVault.WebApp/Auth/Pages/Login.razor b/src/AliasVault.WebApp/Auth/Pages/Login.razor index 4957fa586..010c3f1a7 100644 --- a/src/AliasVault.WebApp/Auth/Pages/Login.razor +++ b/src/AliasVault.WebApp/Auth/Pages/Login.razor @@ -129,15 +129,19 @@ GlobalNotificationService.ClearMessages(); NavigationManager.NavigateTo("/"); } +#if DEBUG catch (Exception ex) { - // If in debug mode, throw the exception. - #if DEBUG + // If in debug mode show the actual exception. _serverValidationErrors.AddError(ex.ToString()); - #else - _serverValidationErrors.AddError("An error occurred while processing the login request. Try again (later)."); - #endif } +#else + catch + { + // If in release mode show a generic error. + _serverValidationErrors.AddError("An error occurred while processing the login request. Try again (later)."); + } +#endif finally { _loadingIndicator.Hide(); diff --git a/src/Utilities/Cryptography/Cryptography.csproj b/src/Utilities/Cryptography/Cryptography.csproj index 8907b6efd..0aad782ff 100644 --- a/src/Utilities/Cryptography/Cryptography.csproj +++ b/src/Utilities/Cryptography/Cryptography.csproj @@ -7,7 +7,7 @@ - false + true bin\Debug\net8.0\Cryptography.xml diff --git a/src/Utilities/GenericHelpers/Class1.cs b/src/Utilities/GenericHelpers/Class1.cs deleted file mode 100644 index e95cd9efb..000000000 --- a/src/Utilities/GenericHelpers/Class1.cs +++ /dev/null @@ -1,61 +0,0 @@ -namespace GenericHelpers; - -using System; -using System.Net.Http; -using System.Threading.Tasks; -using HtmlAgilityPack; - -public class FaviconService -{ - public static async Task GetFaviconAsync(string url) - { - try - { - using (HttpClient client = new HttpClient()) - { - HttpResponseMessage response = await client.GetAsync(url); - if (!response.IsSuccessStatusCode) - { - return null; - } - - string htmlContent = await response.Content.ReadAsStringAsync(); - HtmlDocument htmlDoc = new HtmlDocument(); - htmlDoc.LoadHtml(htmlContent); - - // Try to find the favicon link in the HTML - var faviconNode = htmlDoc.DocumentNode.SelectSingleNode("//link[@rel='icon' or @rel='shortcut icon']"); - if (faviconNode == null) - { - return null; - } - - var faviconUrl = faviconNode.GetAttributeValue("href", null); - if (string.IsNullOrEmpty(faviconUrl)) - { - return null; - } - - // If the favicon URL is relative, convert it to an absolute URL - if (!Uri.IsWellFormedUriString(faviconUrl, UriKind.Absolute)) - { - var baseUri = new Uri(url); - faviconUrl = new Uri(baseUri, faviconUrl).ToString(); - } - - HttpResponseMessage faviconResponse = await client.GetAsync(faviconUrl); - if (!faviconResponse.IsSuccessStatusCode) - { - return null; - } - - byte[] faviconBytes = await faviconResponse.Content.ReadAsByteArrayAsync(); - return faviconBytes; - } - } - catch - { - return null; - } - } -} diff --git a/src/Utilities/GenericHelpers/GenericHelpers.csproj b/src/Utilities/GenericHelpers/GenericHelpers.csproj deleted file mode 100644 index 3a6353295..000000000 --- a/src/Utilities/GenericHelpers/GenericHelpers.csproj +++ /dev/null @@ -1,9 +0,0 @@ - - - - net8.0 - enable - enable - - -