Activities of "auxo-devsu"

@alper I have been a customer for years, and I'm sure if anything, I'm cooperating with the framework by sharing my challenge here. There are multiple ways of getting around that, and bringing this to attention is the right call. If you have read my message and the response I provided, you would see nothing but cooperation.

@mailiming Thanks for the acknowledgement and for having a closer look at the problem I described. That fix should resolve the issue for me and any other ABP users looking to do that in the future. Much appreciated!

This makes me feel that you either didn't understand what I said or that you don't want to try by yourself. For most of your customers, we have real IP in our projects, and a lot of them would be large enough not to be shared here.It's a job in itself to create a new project just to share it here.

public async Task<IActionResult> GetSomethingByDateAsync([FromQuery] DateOnly? date)
{
    yourAppService.GetSomethingByDateAsync(date); // Before it reaches the AppService the ABP Validations will throw an exception when date is null despite being a nullable DateOnly
}

If you look at your code, there's no App Service dependency accepting the DateOnly. Instead of having a Redirect create an AppService that accepts DateOnly? and you will see what I described above.

I provided an example on my request, but if you have any API projects on ABP, as I assume you do, please do the following:

public async Task<IActionResult> GetSomethingByDateAsync([FromQuery] DateOnly? date)
{
    yourAppService.GetSomethingByDateAsync(date); // Before it reaches the AppService the ABP Validations will throw an exception when date is null despite being a nullable DateOnly
}

There's no [Required] attribute or custom logic enforcing it.

  • Exception message and full stack trace: 2025-08-05T23:50:36.430962367Z [23:50:36 WRN] ---------- RemoteServiceErrorInfo ---------- 2025-08-05T23:50:36.431125991Z { 2025-08-05T23:50:36.431141350Z "code": null, 2025-08-05T23:50:36.431151119Z "message": "Your request is not valid!", 2025-08-05T23:50:36.431182437Z "details": "The following errors were detected during validation.\n - inspectionDate is null!\n", 2025-08-05T23:50:36.431201413Z "data": null, 2025-08-05T23:50:36.431208807Z "validationErrors": [ 2025-08-05T23:50:36.431215269Z { 2025-08-05T23:50:36.431221992Z "message": "inspectionDate is null!", 2025-08-05T23:50:36.431228564Z "members": [ 2025-08-05T23:50:36.431235157Z "inspectionDate" 2025-08-05T23:50:36.431241849Z ] 2025-08-05T23:50:36.431267207Z } 2025-08-05T23:50:36.431274380Z ] 2025-08-05T23:50:36.431281424Z } 2025-08-05T23:50:36.431287555Z 2025-08-05T23:50:36.432740667Z [23:50:36 WRN] Method arguments are not valid! See ValidationErrors for details. 2025-08-05T23:50:36.432766135Z Volo.Abp.Validation.AbpValidationException: Method arguments are not valid! See ValidationErrors for details. 2025-08-05T23:50:36.432775894Z at Volo.Abp.Validation.MethodInvocationValidator.ThrowValidationError(MethodInvocationValidationContext context) 2025-08-05T23:50:36.432782175Z at Volo.Abp.Validation.MethodInvocationValidator.ValidateAsync(MethodInvocationValidationContext context) 2025-08-05T23:50:36.432821569Z at Volo.Abp.Validation.ValidationInterceptor.ValidateAsync(IAbpMethodInvocation invocation) 2025-08-05T23:50:36.432829143Z at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) 2025-08-05T23:50:36.432836738Z at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) 2025-08-05T23:50:36.432843781Z at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) 2025-08-05T23:50:36.432850464Z at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() 2025-08-05T23:50:36.432857146Z at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope) 2025-08-05T23:50:36.432863588Z at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation) 2025-08-05T23:50:36.432869710Z at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) 2025-08-05T23:50:36.432875882Z at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) 2025-08-05T23:50:36.432882364Z at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() 2025-08-05T23:50:36.432895719Z at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) 2025-08-05T23:50:36.432901710Z at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) 2025-08-05T23:50:36.432908002Z at PartnerHub.Vic.VehicleController.GetAsync(String plateId, Nullable1 inspectionDate, String vin, String chassisNumber) in /home/runner/work/Simon-BE/Simon-BE/src/partner-hub/PartnerHub.HttpApi/Controllers/Vic/VehicleController.cs:line 26 2025-08-05T23:50:36.432914845Z at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) 2025-08-05T23:50:36.432920806Z at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask) 2025-08-05T23:50:36.432927038Z at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) 2025-08-05T23:50:36.432941685Z at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) 2025-08-05T23:50:36.432947957Z at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) 2025-08-05T23:50:36.432954118Z at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() 2025-08-05T23:50:36.432960510Z --- End of stack trace from previous location --- 2025-08-05T23:50:36.432966712Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) 2025-08-05T23:50:36.439023233Z [23:50:36 WRN] There are 1 validation errors: 2025-08-05T23:50:36.439112948Z inspectionDate is null! (inspectionDate)

  • Steps to reproduce the issue:

  • Use DateOnly? (nullable) as part of a GET request

  • Keep that value as null or empty

  • ABP validates that expecting it to have a value

  • Exception message and full stack trace: Exception of type 'Volo.Abp.BusinessException' was thrown at Volo.Saas.Tenants.TenantManager.ValidateNameAsync(String normalizeName, Nullable1 expectedId) at Volo.Saas.Tenants.TenantManager.CreateAsync(String name, Nullable1 editionId)

How do I know what validations are in place for TenantManager (part of ABP Commercial)? I'm particularly interested in what's happening within ValidateNameAsync.

Thanks

I have started from scratch, trying to perform the same actions that our runners would do, and I didn't have any major slowness. I will follow up with GitHub to see what might be going wrong. If anything requires adjusting ptIf any further actions are required, I will reopen this ticket..

  • ABP Framework version: v9
  • UI Type: MVC
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

Since yesterday, out of nowhere, our pipelines have started running really slow. No changes in dependencies/packages or GitHub runners that could have affected how our packages get resolved. We are running ABP Commercial v9.

I'm attaching the logs from our runner with verbosity enabled so you can see what's happening. Also, I'm attaching the *.csproj file with our dependencies so you know.

Did you make changes to the Nuget feed by any chance? Are there any networking restrictions for US requests, as that's the location for most of the GitHub runners?

Logs & *.csproj file: https://drive.google.com/drive/folders/17ftiyLS-gd5ETV5sZAZ1AhDEh684NpM5?usp=sharing

My case is exactly the same as the above but I instead of changing only AllowChangingEmailSettings I wanted to ensure that the group name was consistent with new features being added. In that case, I'm trying to create a structure similar to namespaces (i.e. GroupName + "Products.MyProductName instead of only GroupName + "MyProductName

Any thoughts?

  • ABP Framework version: v9,0.0
  • UI Type: MVC
  • Database System: EF Core
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes

Hi,

I'm changing one of our Product features and giving it another internal name. I'm changing it from Platform.OnlineBooking to PlatformName.Products.OnlineBooking. When I did that, I've got an issue and my Admin Web doesn't initialize anymore due to the Admin API failing. Logs are below.

Question:

  • If a feature was being used before, how do you recommend that we remove it from a given system to introduce a new one?
  • What are the implications of renaming features like we are doing? I'd like to ensure that we have consistent internal names so it's important for me to update our namings so we can scale that with multiple products.

Thank you!

Logs

2025-01-06T22:00:07 [22:00:07 INF] Request starting HTTP/1.1 GET https://localhost:5002/api/abp/application-configuration?IncludeLocalizationResources=False&api-version=1.0 - null null
2025-01-06T22:00:07 [22:00:07 INF] Executing endpoint 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc)'
2025-01-06T22:00:07 [22:00:07 INF] Route matched with {area = "abp", action = "Get", controller = "AbpApplicationConfiguration", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto] GetAsync(Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationRequestOptions) on controller Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController (Volo.Abp.AspNetCore.Mvc).
2025-01-06T22:00:07 [22:00:07 INF] Executing action method Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc) - Validation state: Valid
2025-01-06T22:00:07 [22:00:07 DBG] Executing AbpApplicationConfigurationAppService.GetAsync()...
2025-01-06T22:00:07 [22:00:07 ERR] ---------- RemoteServiceErrorInfo ----------
2025-01-06T22:00:07 {
2025-01-06T22:00:07   "code": null,
2025-01-06T22:00:07   "message": "An internal error occurred during your request!",
2025-01-06T22:00:07   "details": null,
2025-01-06T22:00:07   "data": null,
2025-01-06T22:00:07   "validationErrors": null
2025-01-06T22:00:07 }
2025-01-06T22:00:07 
2025-01-06T22:00:07 [22:00:07 ERR] Undefined feature: Platform.OnlineBooking
2025-01-06T22:00:07 Volo.Abp.AbpException: Undefined feature: Platform.OnlineBooking
2025-01-06T22:00:07    at Volo.Abp.Features.FeatureDefinitionManager.GetAsync(String name)
2025-01-06T22:00:07    at Volo.Abp.Features.FeatureChecker.GetOrNullAsync(String name)
2025-01-06T22:00:07    at Volo.Abp.Features.FeatureCheckerBase.IsEnabledAsync(String name)
2025-01-06T22:00:07    at Volo.Abp.Features.FeatureCheckerExtensions.IsEnabledAsync(IFeatureChecker featureChecker, Boolean requiresAll, String[] featureNames)
2025-01-06T22:00:07    at Volo.Abp.Features.RequireFeaturesSimpleStateChecker`1.IsEnabledAsync(SimpleStateCheckerContext`1 context)
2025-01-06T22:00:07    at Volo.Abp.SimpleStateChecking.SimpleStateCheckerManager`1.InternalIsEnabledAsync(TState state, Boolean useBatchChecker)
2025-01-06T22:00:07    at Volo.Abp.SimpleStateChecking.SimpleStateCheckerManager`1.IsEnabledAsync(TState state)
2025-01-06T22:00:07    at Volo.Abp.Authorization.Permissions.PermissionChecker.IsGrantedAsync(ClaimsPrincipal claimsPrincipal, String[] names)
2025-01-06T22:00:07    at Volo.Abp.Authorization.Permissions.PermissionChecker.IsGrantedAsync(String[] names)
2025-01-06T22:00:07    at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAuthConfigAsync()
2025-01-06T22:00:07    at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAsync(ApplicationConfigurationRequestOptions options)
2025-01-06T22:00:07    at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
2025-01-06T22:00:07    at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
2025-01-06T22:00:07    at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
2025-01-06T22:00:07    at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
2025-01-06T22:00:07    at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
2025-01-06T22:00:07    at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
2025-01-06T22:00:07    at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)
2025-01-06T22:00:07    at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
2025-01-06T22:00:07    at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
2025-01-06T22:00:07    at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
2025-01-06T22:00:07    at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
2025-01-06T22:00:07    at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
2025-01-06T22:00:07    at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
2025-01-06T22:00:07    at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
2025-01-06T22:00:07    at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
2025-01-06T22:00:07    at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
2025-01-06T22:00:07    at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
2025-01-06T22:00:07    at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync(ApplicationConfigurationRequestOptions options)
2025-01-06T22:00:07    at lambda_method2801(Closure, Object)
2025-01-06T22:00:07    at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
2025-01-06T22:00:07    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.&lt;InvokeActionMethodAsync&gt;g__Logged|12_1(ControllerActionInvoker invoker)
2025-01-06T22:00:07    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.&lt;InvokeNextActionFilterAsync&gt;g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2025-01-06T22:00:07    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
2025-01-06T22:00:07    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
2025-01-06T22:00:07    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.&lt;InvokeInnerFilterAsync&gt;g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2025-01-06T22:00:07    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.&lt;InvokeNextExceptionFilterAsync&gt;g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2025-01-06T22:00:07 [22:00:07 INF] Executing ObjectResult, writing value of type 'Volo.Abp.Http.RemoteServiceErrorResponse'.
Showing 1 to 10 of 43 entries
Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on September 18, 2025, 07:10