Activities of "BassaSolutions"

So there is no way to make it work?

Often localization JSONs in projects are made to be changeable during runtime, so I thought maybe ABP has something like this.

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

We want to update localization Files (e.g. en.json) during runtime (e.g. when application is restarted).

Documentation (https://docs.abp.io/en/abp/latest/Localization) says

"JSON files are embedded into the assembly using AbpVirtualFileSystemOptions (see virtual file system)."

Configure<AbpLocalizationOptions>(options =>
        {
            //Define a new localization resource (MyProjectName)
            options.Resources
                .Add<MyProjectName>("en")
                .AddVirtualJson("/Localization/MyProjectName");
        });

And on https://docs.abp.io/en/abp/latest/Virtual-File-System:

"Physical files always override the virtual files. That means if you put a file under the /wwwroot/my-folder/my-file.css, it will override the file in the same location of the virtual file system. So, you need to know the file paths defined in the modules to override them."

Now when I put a file there, e.g. /wwwroot/Localization/MyProjectName/en.json, it does not overwrite the localization text. I also tried /Localization/MyProjectName/en.json, which also does not work.

So my question is, how is it possible to update whole localization JSON files during runtime?

Updating single texts via UI Administration->Language Management does not solve the issue, as we have hundreds of texts

Thank you in advance!

On backend the exception is Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. which is okay because this can happen. It can be reproduced by just throwing an exception in the audit log controller.

Our issue is that the UI audit log crashes (v5.1.4) because of this.

Because the payload is too small, as you just checked health-status. With 50k entries that include an exception with a message it will be different.

It may also work to just add a delay of 1 minute the audit controller GET, as the UI crash happens because of a timeout exception.

Can be reproduced with just your starter template (blazor server).

1:

abp new Acme.BookStore --theme basic

2: Add test controller to create exceptions:

using System;
using Microsoft.AspNetCore.Authorization;

namespace Acme.BookStore;

/* Inherit your application services from this class.
 */
[AllowAnonymous]
public class TestAppService : BookStoreAppService
{
    public string setError(string errorMessage = "")
    {
        throw new Exception("TEST error !!!!!!!!!!!!!");
    }
}

3: Use Postman Runner to call

POST   https://localhost:44332/api/app/test/set-error?errorMessage=asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf

I tested with inserting 50k entries

The audit log UI will throw an error starting from 3000.

  • ABP Framework version: v5.1.4
  • UI type: Blazor (Server)
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"
  • Download starter template
  • Put a lot of data into audit logs (100.000+)
  • Open Audit log UI -> UI loads & crashes after timeout.

Audit log UI can only handle little data. When using blazor, UI crashes when too much data exists & call runs into timeout.

Please provide an option to disable pagination. Allowing to search for everything looks nice, but does not work. We need audit logs that do not crash when many logs exist in a short amout of time.

  • ABP Framework version: v5.1.2
  • UI type: Blazor Server
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"
  1. Get Startup Template. Enable Email Module. Add random invalid text into appsettings.json "Abp.Mailing.Smtp.Password"
  2. Start app. Go to Administration->Settings. "unkown Error" will be shown. Emailing view will be completly blank.

Expected behaviour: PW should be displayed empty when it cannot be decrypted, so that it is still possible to change it via UI.

This fixed it, thank you!

introduced options.EnableRazorRuntimeCompilationOnDevelopment = false; to fix

hi

You just need to configure it and no other is needed.

Yes, we already configured it. That fixed all redirections beeing broken in 5.0.

Now with 5.1.2, we still have 1 problem: redirecting not working AFTER login.

Sorry, this was a wrong copy paste, as I copied the redirect part from the template application. On our application, everything is configured with port 5000. The redirect URL also shows port 5000. http://localhost:5000/account/login?returnUrl=http%3A%2F%2Flocalhost%3A5000%2Fidentity%2Froles

With the new 5.1.2 startup template it works. In our application it fails (redirects to root).

The difference is that we migrated our application from 4.3 to 5.1.2, so we might still have some 4.3 startup code in that does not work with 5.1.2

The difference in the LOG when redirecting is (This log occurs after successful authentication):

Microsoft.AspNetCore.Hosting.Diagnostics: 08:54:06,250 INFO  Microsoft.AspNetCore.Hosting.Diagnostics - Request finished HTTP/1.1 POST http://localhost:5000/account/login?returnUrl=http%3A%2F%2Flocalhost%3A5000%2Fidentity%2Froles application/x-www-form-urlencoded 318 - 302 - - 605.3844ms
Microsoft.AspNetCore.Hosting.Diagnostics: 08:54:06,253 INFO  Microsoft.AspNetCore.Hosting.Diagnostics - Request starting HTTP/1.1 GET http://localhost:5000/ - -
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: 08:54:06,257 DEBUG Microsoft.AspNetCore.Routing.Matching.DfaMatcher - 2 candidate(s) found for the request path '/'
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: 08:54:06,259 DEBUG Microsoft.AspNetCore.Routing.Matching.DfaMatcher - Endpoint '/_Host' with route pattern '' is valid for the request path '/'
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: 08:54:06,261 DEBUG Microsoft.AspNetCore.Routing.Matching.DfaMatcher - Endpoint 'Fallback {*path:nonfile}' with route pattern '{*path:nonfile}' is valid for the request path '/'
Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware: 08:54:06,263 DEBUG Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware - Request matched endpoint '/_Host'
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler: 08:54:06,267 DEBUG Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler - AuthenticationScheme: Identity.Application was successfully authenticated.
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler: 08:54:06,270 DEBUG Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler - AuthenticationScheme: Identity.Application was successfully authenticated.
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler: 08:54:06,272 DEBUG Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler - AuthenticationScheme: Identity.Application was successfully authenticated.
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: 08:54:06,275 DEBUG Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware - Static files was skipped as the request already matched an endpoint.
Microsoft.AspNetCore.Routing.EndpointMiddleware: 08:54:06,277 INFO  Microsoft.AspNetCore.Routing.EndpointMiddleware - Executing endpoint '/_Host'

It seems to find 2 routes when executing the redirect? This seems similar to the first bug that 5.0 had, where all sub-paths did not work with blazor, and 5.1 introduced options.EnableRazorRuntimeCompilationOnDevelopment = false; to fix it. Is there something additional that has to be done for the login redirects?

Showing 1 to 10 of 49 entries
Made with ❤️ on ABP v9.1.0-rc.1. Updated on January 17, 2025, 14:13