diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/AppInitializer.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/AppInitializer.cs index c22f834ac3..3becead072 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/AppInitializer.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/AppInitializer.cs @@ -102,7 +102,7 @@ private async Task ConnectSignalR() hubConnection = new HubConnectionBuilder() .WithAutomaticReconnect() - .WithUrl($"{Configuration.GetServerAddress()}/app-hub?access_token={access_token}", options => + .WithUrl($"{HttpClient.BaseAddress}app-hub?access_token={access_token}", options => { options.Transports = Microsoft.AspNetCore.Http.Connections.HttpTransportType.WebSockets; // Avoid enabling long polling or Server-Sent Events. Focus on resolving the issue with WebSockets instead. diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20240729183448_InitialMigration.Designer.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20240729183448_InitialMigration.Designer.cs deleted file mode 100644 index 5738ce8a4f..0000000000 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20240729183448_InitialMigration.Designer.cs +++ /dev/null @@ -1,76 +0,0 @@ -// -using System; -using Boilerplate.Client.Core.Data; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -#nullable disable - -namespace Boilerplate.Client.Core.Data.Migrations -{ - [DbContext(typeof(OfflineDbContext))] - [Migration("20240729183448_InitialMigration")] - partial class InitialMigration - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "8.0.7"); - - modelBuilder.Entity("Boilerplate.Shared.Dtos.Identity.UserDto", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("TEXT"); - - b.Property("BirthDate") - .HasColumnType("INTEGER"); - - b.Property("Email") - .HasColumnType("TEXT"); - - b.Property("FullName") - .IsRequired() - .HasColumnType("TEXT"); - - b.Property("Gender") - .HasColumnType("INTEGER"); - - b.Property("Password") - .IsRequired() - .HasColumnType("TEXT"); - - b.Property("PhoneNumber") - .HasColumnType("TEXT"); - - b.Property("ProfileImageName") - .HasColumnType("TEXT"); - - b.Property("UserName") - .IsRequired() - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.ToTable("Users"); - - b.HasData( - new - { - Id = new Guid("8ff71671-a1d6-4f97-abb9-d87d7b47d6e7"), - BirthDate = 1306790461440000000L, - Email = "test@bitplatform.dev", - FullName = "Boilerplate test account", - Gender = 2, - Password = "123456", - PhoneNumber = "+31684207362", - UserName = "test" - }); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20241030140343_InitialMigration.Designer.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20241030140343_InitialMigration.Designer.cs new file mode 100644 index 0000000000..27ff3c7e8a --- /dev/null +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20241030140343_InitialMigration.Designer.cs @@ -0,0 +1,72 @@ +// +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Boilerplate.Client.Core.Data.Migrations; + +[DbContext(typeof(OfflineDbContext))] +[Migration("20241030140343_InitialMigration")] +partial class InitialMigration +{ + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "9.0.0"); + + modelBuilder.Entity("Boilerplate.Shared.Dtos.Identity.UserDto", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("BirthDate") + .HasColumnType("INTEGER"); + + b.Property("Email") + .HasColumnType("TEXT"); + + b.Property("FullName") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Gender") + .HasColumnType("INTEGER"); + + b.Property("Password") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("PhoneNumber") + .HasColumnType("TEXT"); + + b.Property("ProfileImageName") + .HasColumnType("TEXT"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Users"); + + b.HasData( + new + { + Id = new Guid("8ff71671-a1d6-4f97-abb9-d87d7b47d6e7"), + BirthDate = 1306790461440000000L, + Email = "test@bitplatform.dev", + FullName = "Boilerplate test account", + Gender = 0, + Password = "123456", + PhoneNumber = "+31684207362", + UserName = "test" + }); + }); +#pragma warning restore 612, 618 + } +} diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20240729183448_InitialMigration.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20241030140343_InitialMigration.cs similarity index 96% rename from src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20240729183448_InitialMigration.cs rename to src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20241030140343_InitialMigration.cs index a62a7b6db8..d859fcd8ef 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20240729183448_InitialMigration.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/20241030140343_InitialMigration.cs @@ -33,7 +33,7 @@ protected override void Up(MigrationBuilder migrationBuilder) migrationBuilder.InsertData( table: "Users", columns: new[] { "Id", "BirthDate", "Email", "FullName", "Gender", "Password", "PhoneNumber", "ProfileImageName", "UserName" }, - values: new object[] { new Guid("8ff71671-a1d6-4f97-abb9-d87d7b47d6e7"), 1306790461440000000L, "test@bitplatform.dev", "Boilerplate test account", 2, "123456", "+31684207362", null, "test" }); + values: new object[] { new Guid("8ff71671-a1d6-4f97-abb9-d87d7b47d6e7"), 1306790461440000000L, "test@bitplatform.dev", "Boilerplate test account", 0, "123456", "+31684207362", null, "test" }); } /// diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/OfflineDbContextModelSnapshot.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/OfflineDbContextModelSnapshot.cs index 23b5541582..f277e593fa 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/OfflineDbContextModelSnapshot.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Data/Migrations/OfflineDbContextModelSnapshot.cs @@ -12,7 +12,7 @@ partial class OfflineDbContextModelSnapshot : ModelSnapshot protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "8.0.7"); + modelBuilder.HasAnnotation("ProductVersion", "9.0.0"); modelBuilder.Entity("Boilerplate.Shared.Dtos.Identity.UserDto", b => { @@ -58,7 +58,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) BirthDate = 1306790461440000000L, Email = "test@bitplatform.dev", FullName = "Boilerplate test account", - Gender = 2, + Gender = 0, Password = "123456", PhoneNumber = "+31684207362", UserName = "test" diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/ExceptionHandlerBase.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/ExceptionHandlerBase.cs index 41d0fedab9..ce80ffe334 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/ExceptionHandlerBase.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/ExceptionHandlerBase.cs @@ -50,19 +50,28 @@ protected virtual void Handle(Exception exception, Dictionary pa { var isDevEnv = AppEnvironment.IsDev(); - string exceptionMessage = (exception as KnownException)?.Message ?? + using (var scope = Logger.BeginScope(parameters.ToDictionary(i => i.Key, i => i.Value ?? string.Empty))) + { + var exceptionMessage = exception.Message; + var innerException = exception.InnerException; + + while (innerException is not null) + { + exceptionMessage += $"{Environment.NewLine}{innerException.Message}"; + innerException = innerException.InnerException; + } + + Logger.LogError(exception, exceptionMessage); + } + + string displayableExceptionMessage = (exception as KnownException)?.Message ?? (isDevEnv ? exception.ToString() : Localizer[nameof(AppStrings.UnknownException)]); + MessageBoxService.Show(displayableExceptionMessage, Localizer[nameof(AppStrings.Error)]); + if (isDevEnv) { Debugger.Break(); } - - using (var scope = Logger.BeginScope(parameters.ToDictionary(i => i.Key, i => i.Value ?? string.Empty))) - { - Logger.LogError(exception, exceptionMessage); - } - - MessageBoxService.Show(exceptionMessage, Localizer[nameof(AppStrings.Error)]); } } diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Boilerplate.Client.Maui.csproj b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Boilerplate.Client.Maui.csproj index 6ef81971ce..d123ca41ea 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Boilerplate.Client.Maui.csproj +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Boilerplate.Client.Maui.csproj @@ -30,7 +30,6 @@ BeforeBuildTasks; $(ResolveStaticWebAssetsInputsDependsOn) - false diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/appsettings.json b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/appsettings.json index 5ce72aad16..5fe62e7f93 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/appsettings.json +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/appsettings.json @@ -2,7 +2,7 @@ "WebAppRender": { "PrerenderEnabled": false, "BlazorMode": "BlazorServer", - "BlazorMode_Comment": "Default value of Client.Core/appsettings.Production.json is BlazorAuto" + "BlazorMode_Comment": "BlazorServer, BlazorWebAssembly and BlazorAuto. Default value of Client.Core/appsettings.Production.json is BlazorAuto" }, //#if (notification == true) "AdsPushVapid_Comment": "https://github.com/adessoTurkey-dotNET/AdsPush",