Activities of "balessi75"

Excellent, thank you. Will do.

Hi @liangshiwei

I just realized that we had an outdated override to the feature management page. Once we merged our changes into the ABP changes from 7.4.2 to 9.1.0, everything worked fine.

Thank you.

I tried creating a new blank solution using...

abp new FM.ABP -t app-pro -u blazor-server -d ef --theme lepton --mobile none -v 9.1.0

...but could not reproduce the problem. The problem only exists in our enterprise app that's been upgraded over the years from version 4 to version 9.

I see this from @maliming https://github.com/abpframework/abp/commit/376f57d6e9f6fd8308baee4dbb2d167f04d6c610

is this something he already fixed that is not available in 9.1.0? If so, please confirm what version of ABP we would need to be on to get the fix.

this is the exception logging...

2025-04-11 21:50:04.289 -04:00 [DBG] Found in the cache: pn:U,pk:790ed007-d184-51bf-db29-3a0aaf86bf76,n:FeatureManagement.ManageHostFeatures
2025-04-11 21:50:04.289 -04:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:FeatureManagement.ManageHostFeatures
2025-04-11 21:50:04.289 -04:00 [DBG] Found in the cache: pn:R,pk:admin,n:FeatureManagement.ManageHostFeatures
2025-04-11 21:50:04.467 -04:00 [WRN] Unhandled exception rendering component: Unable to evaluate index expressions of type 'PropertyExpression'.
System.InvalidOperationException: Unable to evaluate index expressions of type 'PropertyExpression'.
   at Blazorise.Utilities.ExpressionFormatter.FormatIndexArgument(Expression indexExpression, ReverseStringBuilder& builder)
   at Blazorise.Utilities.ExpressionFormatter.FormatLambda(LambdaExpression expression, String prefix)
   at Blazorise.Utilities.ExpressionFormatter.FormatLambda(LambdaExpression expression)
   at Blazorise.Select`1.GetFormatedValueExpression()
   at Blazorise.BaseInputComponent`1.get_NameAttributeValue()
   at Blazorise.Select`1.<BuildRenderTree>b__56_0(RenderTreeBuilder __builder2)
   at Microsoft.AspNetCore.Components.CascadingValue`1.Render(RenderTreeBuilder builder)
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
2025-04-11 21:50:04.478 -04:00 [ERR] Unhandled exception in circuit 'ybKLRIpo6a39Sak0WTkrGdv-47xAMmq1QYTKZ9zB_zw'.
System.InvalidOperationException: Unable to evaluate index expressions of type 'PropertyExpression'.
   at Blazorise.Utilities.ExpressionFormatter.FormatIndexArgument(Expression indexExpression, ReverseStringBuilder& builder)
   at Blazorise.Utilities.ExpressionFormatter.FormatLambda(LambdaExpression expression, String prefix)
   at Blazorise.Utilities.ExpressionFormatter.FormatLambda(LambdaExpression expression)
   at Blazorise.Select`1.GetFormatedValueExpression()
   at Blazorise.BaseInputComponent`1.get_NameAttributeValue()
   at Blazorise.Select`1.<BuildRenderTree>b__56_0(RenderTreeBuilder __builder2)
   at Microsoft.AspNetCore.Components.CascadingValue`1.Render(RenderTreeBuilder builder)
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)

Thanks.

Hi @liangshiwei

Our solution is using Blazorise version 1.6.2 with ABP 9.1.0.

Thanks.

We were using -t app instead of -t app-pro. Only -t app-pro allows for the Lepton theme to be specified.

Additionally, it looks like the ability to create a new solution from abp suite has been removed. Only the option to open an existing solution exists in abp suite version 9.1.

is there no way to create a solution with the lepton theme anymore? abp suite used to have the option to create a solution and chose the lepton theme (not leptonx or leptonxlite).

Thank you for your help maliming.

Once I cleared my cookies everything worked as expected.

Hi,

I was able to get the template solution to work and found that I could not replicate the two factor issue. So it is unclear to me why we are seeing the issue in our solution.

To debug, I overrode GetTwoFactorEnabledAsync in the IdentityProUserStore and found that when it runs, it correctly returns true because the tenant's 2fa setting is set to forced.

Our override to the login process relative to 2fa is not changed from the original ABP implementation...

        var result = await SignInManager.PasswordSignInAsync(
            LoginInput.UserNameOrEmailAddress,
            LoginInput.Password,
            LoginInput.RememberMe,
            true
        );

        await IdentitySecurityLogManager.SaveAsync(new IdentitySecurityLogContext
        {
            Identity = IdentitySecurityLogIdentityConsts.Identity,
            Action = result.ToIdentitySecurityLogAction(),
            UserName = LoginInput.UserNameOrEmailAddress
        });

        if (result.RequiresTwoFactor)
        {
            return RedirectToPage("./SendSecurityCode", new {
                returnUrl = ReturnUrl,
                returnUrlHash = ReturnUrlHash,
                rememberMe = LoginInput.RememberMe,
                linkUserId = LinkUserId,
                linkTenantId = LinkTenantId,
                linkToken = LinkToken
            });
        }

result.RequiresTwoFactor returned from await SignInManager.PasswordSignInAsync returns false.

Hi

I emailed you a link to the project solution.

I used abp suite to create the application it is using Lepton theme at version 7.2.1. I ran install-libs from the ProjectName.Blazor folder.

{
  "version": "1.0.0",
  "name": "my-app",
  "private": true,
  "dependencies": {
    "@volo/abp.aspnetcore.components.server.leptontheme": "7.2.1",
    "@volo/abp.aspnetcore.mvc.ui.theme.lepton": "7.2.1",
    "@volo/account": "~7.2.1",
    "@volo/cms-kit-pro.admin": "~7.2.1",
    "@volo/language-management": "~7.2.1"
  }
}

Showing 1 to 10 of 165 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 16, 2025, 10:35