Activities of "scott7106"

  • ABP Framework version: v8.0.4
  • UI Type: Angular
  • Database System: EF Core
  • Tiered (for MVC) or Auth Server Separated (for Angular): no

Is there a blueprint for how to deploy the Angular SPA as a fallback within the API. I want to deploy the API and the SPA as a single application using 1 URL instead of 2 URLs. We had this working in an earlier version of ABP using IdentityServer, but so far we have not been able to get it working with OpenIddict.

  • ABP Framework version: v7.3.0
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Auth Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Attempting to update my project from 7.2.3 to 7.3.0 using the ABP CLI update command gives an error.

$ abp update ABP CLI 7.3.0 Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at Volo.Abp.Cli.ProjectModification.VoloNugetPackagesVersionUpdater.GetLatestVersionFromMyGet(String packageId) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo. Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\VoloNugetPackagesVersionUpdater.cs:line 281 at Volo.Abp.Cli.ProjectModification.VoloNugetPackagesVersionUpdater.UpdateSolutionAsync(String solutionPath, Boolean includePreviews, Boolean includeReleaseCandidates, Boolean swi tchToStable, Boolean checkAll, String version) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectModification\VoloNugetPackagesVersi onUpdater.cs:line 42 at Volo.Abp.Cli.Commands.UpdateCommand.UpdateNugetPackages(CommandLineArgs commandLineArgs, String directory, String version) in D:\ci\Jenkins\workspace\abp-volo-release\abp\frame work\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\Commands\UpdateCommand.cs:line 80 at Volo.Abp.Cli.Commands.UpdateCommand.ExecuteAsync(CommandLineArgs commandLineArgs) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\C ommands\UpdateCommand.cs:line 44 at Volo.Abp.Cli.CliService.RunInternalAsync(CommandLineArgs commandLineArgs) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\CliServic e.cs:line 169 at Volo.Abp.Cli.CliService.RunAsync(String[] args) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\CliService.cs:line 77

Question

Is there any place we can see the list of changes for LeptonX versions? I can see a new version "2.0.3" was pushed to the NuGet repository earlier today, but I cannot find any information on the fixes or enhancements in that version.

  • ABP Framework version: v7.0.1
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

Trying to generate the proxies for angular gave the following message. Cannot read properties of null (reading 'replace')

Is there any way to get debug information when generating the proxies?

I tracked the problem down to the following issue. The {id} paramater in the route, was not in the parameters for the method. This worked in version 6, but it does not work in version 7. The solution was to remove the {id} parameter for the route since it was not being used. However, it took me 2+ hours to isolate this issue. Knowing which API endpoint caused the error could have saved me so much time.

 [HttpGet] 
 [Route("{id}/available-models")] 
 public Task<PagedResultDto<LookupDt<int?>>> GetAvailableModelsAsync(LookupRequestDto input) 
 { 
     return _dictionaryAppService.GetAvailableModelsAsync(input); 
 }

reference #4278 -- this ticket is SQLLite, but I am running into this with SQL Server (Developer Edition)

  • ABP Framework version: v7.0.1
  • UI type: Angular
  • DB provider: EF Core (SQL Server)
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Trying to create a new tenant.

The process is running MigrateAndSeedForTenantAsync from the ZiplineTenantDatabaseMigrationHandler (default code, we have not changed this). I am getting a deadlock here with the query to get the newly created tenant record deadlocking the insert and the query times out. Once the query trying to get the tenant record times out, the insert completes. The tenant record gets created, but none of the other data seeding for the tenant occurs. I changed the database timeout for the DbContext to 120 seconds which gives me plenty of time to diagnose and see the deadlock, but I am not seeing how to resolve the issue.

[13:15:09 ERR] An exception occurred while iterating over the results of a query for context type 'OtisEd.Zipline.EntityFrameworkCore.ZiplineDbContext'. Microsoft.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (258): The wait operation timed out. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__209_0(Task1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellat ionToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.MoveNextAsync() ClientConnectionId:180b7a1a-bb77-45ad-a20c-1683ba85021a Error Number:-2,State:0,Class:11 Microsoft.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (258): The wait operation timed out. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__209_0(Task1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellat ionToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.MoveNextAsync() ClientConnectionId:180b7a1a-bb77-45ad-a20c-1683ba85021a Error Number:-2,State:0,Class:11 [13:15:09 DBG] 'ZiplineDbContext' disposed. [13:15:09 DBG] Disposing connection to database 'Zipline7' on server 'localhost'. [13:15:09 DBG] Disposed connection to database '' on server '' (0ms). [13:15:09 ERR] Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Microsoft.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (258): The wait operation timed out. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__209_0(Task1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellat ionToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.MoveNextAsync() at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable1 asyncEnumerable, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable1 asyncEnumerable, CancellationToken cancellationToken) at Volo.Abp.Domain.Repositories.EntityFrameworkCore.EfCoreRepository3.FindAsync(TKey id, Boolean includeDetails, CancellationToken cancellationToken) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.Saas.Tenants.TenantStore.GetCacheItemAsync(Nullable`1 id, String name) at Volo.Saas.Tenants.TenantStore.FindAsync(Guid id) at OtisEd.Zipline.Data.ZiplineTenantDatabaseMigrationHandler.MigrateAndSeedForTenantAsync(Guid tenantId, String adminEmail, String adminPassword) in C:\AppDev\otised\Miscellaneous\OtisEd.Zipline\aspn et-core\src\OtisEd.Zipline.Domain\Data\ZiplineTenantDatabaseMigrationHandler.cs:line 99 ClientConnectionId:180b7a1a-bb77-45ad-a20c-1683ba85021a Error Number:-2,State:0,Class:11 [13:15:09 ERR] ---------- Exception Data ---------- HelpLink.ProdName = Microsoft SQL Server HelpLink.ProdVer = 15.00.2101 HelpLink.EvtSrc = MSSQLServer HelpLink.EvtID = -2 HelpLink.BaseHelpUrl = https://go.microsoft.com/fwlink HelpLink.LinkId = 20476

  • ABP Framework version: v7.0.1
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Steps to reproduce the issue:"
  1. Generate a new project Acme.Bookstore using ABP Suite (selected Angular, EF Core and Lepton-X)
  2. Build the project
  3. Run the unit tests -- no code changes made to the project of any kind

The 3 example unit tests given do not run reliably. Sometimes they all error, sometimes they all pass, and sometimes a random test passes. Just keep running to get different results. The error (when it fails) is always the same and show below.

  • Exception message and stack trace: see below

Volo.Abp.AbpInitializationException: An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor...

Volo.Abp.AbpInitializationException An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module Acme.Bookstore.BookstoreTestBaseModule, Acme.Bookstore.TestBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: Object reference not set to an instance of an object.. See the inner exception for details. at Volo.Abp.Modularity.ModuleManager.InitializeModules(ApplicationInitializationContext context) at Volo.Abp.AbpApplicationBase.InitializeModules() at Volo.Abp.AbpApplicationWithExternalServiceProvider.Initialize(IServiceProvider serviceProvider) at Volo.Abp.Testing.AbpIntegratedTest1..ctor() at Acme.Bookstore.BookstoreTestBase1..ctor() at Acme.Bookstore.EntityFrameworkCore.BookstoreEntityFrameworkCoreTestBase..ctor() at Acme.Bookstore.EntityFrameworkCore.Samples.SampleRepositoryTests..ctor() in C:\Users\scott\source\repos\Acme.Bookstore\aspnet-core\test\Acme.Bookstore.EntityFrameworkCore.Tests\EntityFrameworkCore\Samples\SampleRepositoryTests.cs:line 18 at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)

System.NullReferenceException Object reference not set to an instance of an object. at Microsoft.Data.Sqlite.SqliteConnection.RemoveCommand(SqliteCommand command) at Microsoft.Data.Sqlite.SqliteCommand.Dispose(Boolean disposing) at System.ComponentModel.Component.Dispose() at System.Data.Common.DbCommand.DisposeAsync() at Microsoft.EntityFrameworkCore.Storage.RelationalDataReader.DisposeAsync() at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable1 source, CancellationToken cancellationToken) at Volo.Abp.SettingManagement.EntityFrameworkCore.EfCoreSettingRepository.GetListAsync(String providerName, String providerKey, CancellationToken cancellationToken) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.Abp.SettingManagement.SettingManagementStore.SetCacheItemsAsync(String providerName, String providerKey, String currentName, SettingCacheItem currentCacheItem) at Volo.Abp.SettingManagement.SettingManagementStore.GetCacheItemAsync(String name, String providerName, String providerKey) at Volo.Abp.SettingManagement.SettingManagementStore.GetOrNullAsync(String name, String providerName, String providerKey) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.Abp.Settings.UserSettingValueProvider.GetOrNullAsync(SettingDefinition setting) at Volo.Abp.Settings.SettingProvider.GetOrNullValueFromProvidersAsync(IEnumerable1 providers, SettingDefinition setting) at Volo.Abp.Settings.SettingProvider.GetOrNullAsync(String name) at Volo.Abp.Settings.SettingProviderExtensions.GetAsync[T](ISettingProvider settingProvider, String name, T defaultValue) at Volo.Abp.Identity.AbpIdentityOptionsManager.OverrideOptionsAsync(String name, IdentityOptions options) at Volo.Abp.Identity.IdentityDataSeeder.SeedAsync(String adminEmail, String adminPassword, Nullable1 tenantId) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.Abp.Data.DataSeeder.SeedAsync(DataSeedContext context) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Acme.Bookstore.BookstoreTestBaseModule.<>c__DisplayClass2_0.<<SeedTestData>b__0>d.MoveNext() in C:\Users\scott\source\repos\Acme.Bookstore\aspnet-core\test\Acme.Bookstore.TestBase\BookstoreTestBaseModule.cs:line 41 --- End of stack trace from previous location --- at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task) at Nito.AsyncEx.AsyncContext.<>c__DisplayClass15_0.<Run>b__0(Task t) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task) at Nito.AsyncEx.AsyncContext.Run(Func1 action) at Volo.Abp.Threading.AsyncHelper.RunSync(Func1 action) at Acme.Bookstore.BookstoreTestBaseModule.SeedTestData(ApplicationInitializationContext context) in C:\Users\scott\source\repos\Acme.Bookstore\aspnet-core\test\Acme.Bookstore.TestBase\BookstoreTestBaseModule.cs:line 37 at Acme.Bookstore.BookstoreTestBaseModule.OnApplicationInitialization(ApplicationInitializationContext context) in C:\Users\scott\source\repos\Acme.Bookstore\aspnet-core\test\Acme.Bookstore.TestBase\BookstoreTestBaseModule.cs:line 32 at Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor.Initialize(ApplicationInitializationContext context, IAbpModule module) at Volo.Abp.Modularity.ModuleManager.InitializeModules(ApplicationInitializationContext context)

If you're creating a bug/problem report, please include followings:

  • ABP Framework version: v6.0.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

We are running into an issue after upgrading from ABP v5.3.3 to v6.0.3 with our SignalR implementation. After the upgrade, the CurrentUser property of the messaging hub is not populated with the user context of the authenticated user. CurrentUser.Id is always null. In our case, we only establish the connection to the MessagingHub once the user is authenticated. Prior to the upgrade, this was working as shown.

Any help we can get on this would be appreciated.

[HubRoute("/messaging-hub")]
public class MessagingHub : AbpHub
{
    public readonly static ConnectionMapping _connections = new();
    private readonly IHubContext<MessagingHub> _hubContext;

    public MessagingHub(IHubContext<MessagingHub> hubContext)
    {
        _hubContext = hubContext;
    }
    public override Task OnConnectedAsync()
    {
        if (CurrentUser.Id is not null)
        {
            _connections.Add(
                (Guid)CurrentUser.Id,
                Context.ConnectionId,
                CurrentTenant.Id);
        }

        return base.OnConnectedAsync();
    }

    public override Task OnDisconnectedAsync(Exception exception)
    {
        if (CurrentUser.Id is not null)
        {
            _connections.RemoveConnectionsByUserId((Guid)CurrentUser.Id);
        }

        return base.OnDisconnectedAsync(exception);
    }

    public async Task SendNotificationToUser(Guid userId, AlertMessage message)
    {
        var connections = _connections.GetConnectionsByUserId(userId);
        foreach (var connection in connections)
        {
            await _hubContext.Clients.Client(connection.ConnectionId).SendAsync("NotificationReceived", message);
        }
    }
}
  • ABP Framework version: v6.0.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

We have a project which was created using ABP Suite 6.0.0. I was updating this project today to v6.0.2 using the ABP CLI. After the upgrade, I noticed that the package.json file in the aspnet-core/src/{my-project}.HttpApi.Host folder is referencing the 1.0.0-rc.7 version of the @volo/abp.aspnetcore.mvc.ui.theme.leptonx package. There is a 1.0.0 and a 2.0.0 version of this package on NPM. Why is the rc version still referenced? Should I be using the 1.0.0 or the 2.0.0 version of this library?

{
  "version": "1.0.0",
  "name": "my-app",
  "private": true,
  "dependencies": {
    "@volo/abp.aspnetcore.mvc.ui.theme.leptonx": "~1.0.0-rc.7",
    "@volo/account": "^6.0.2"
  }
}

If you're creating a bug/problem report, please include followings:

  • ABP Framework version: v6.0.0
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

The save button on a new tenant is disabled until all inputs pass validation. This creates a scenario where the user enters data into all the fields but the save button is still disabled because the password does not meet length and complexity requirements. There is no feedback to the user about what is wrong with the form data.

The UI experience should direct the user when the password does not meet the required length and complexity requirements. In my opinion, this should be trigged after the client types something in the password field.

  • ABP Framework version: v5.3.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

We were getting an error when trying to update the users profile information. The error was due to a missing RequestVerificationToken header when trying to send the update to the API. We tracked the issue down to an entry for AbpAccountPublic in our environment.config file for Angular under the apis section.

  apis: {
    default: {
      url: '',
      rootNamespace: 'OtisEd.Synergyz',
    },
    AbpAccountPublic: {
      url: oAuthConfig.issuer,
      rootNamespace: 'AbpAccountPublic',
    },
  },

Why would this setting cause the RequestVerificationToken to be missing? There is something here we do not understand. The application works by simply removing that section from the config, but we would like to understand how that setting caused the issue.

Thanks!

Showing 1 to 10 of 31 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11