Starts in:
2 DAYS
17 HRS
44 MIN
20 SEC
Starts in:
2 D
17 H
44 M
20 S

Activities of "BassaSolutions"

  1. Load startup template
  2. Call any authorized endpoint with postman (without authorization). Add header: X-Requested-With :XMLHttpRequest
  3. Response content is HTML (target: JSON)
  • ABP Framework version: v6.0.3
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

When sending X-Requested-With :XMLHttpRequest in the header, the correct status is responded when unauthorized: 401 instead of 200.

But the content is still the HTML page:

...
<div class="col">
					<div class="status-content">
						<h1>401</h1>
						<h2 class="text-danger mb-0">
							Unauthorized<small class="text-muted">An internal error occurred during your request!</small>
						</h2>
						<p class="mt-3 mb-4"></p>
						<a href="/" class="btn btn-primary">Go to the homepage</a>
						<a href="javascript:history.back()"
							class="mt-4 mb-1 d-block"><i class="fa fa-long-arrow-left"></i> Go back</a>
					</div>
				</div>
...

How can I get a the default error JSON response content?

{
  "error": {
    "message": "Some error message"
  }
}

I tried to send additional headers: Content-Type: application/json Accept: application/json

But the content is always HTML.

Thank you for your help!

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

How is it possible to have multiple languages link to 1 localization file? e.g. "de", "de-de", "de-at" should all show the translations of 1 translation file.

This is required when the client sends the language (e.g. as cookie or query param). Currently with only 1 language "de-de", when the client sends "de-at", it will show the default language english.

As a workaround we duplicate the jsons, which is a overhead on every text change.

Thank you in advance!

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.

Showing 1 to 10 of 52 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 20, 2024, 13:06