Activities of "lizhaofeng"

Hi,gterdem

I've tried to use instead of , but unfortunately with the same result.

Serve your authserver under HTTP (without HTTPS redirection).

Confirm you have HTTP issuer under .well-known/openid-configuration endpoint.

Update your application's appsettings AuthServer section and set RequireHttpsMetadata to false.

Hi gterdem

Following the above practices was not successful, the following are error messages

error:invalid_request error_description:This server only accepts HTTPS requests. error_uri:https://documentation.openiddict.com/errors/ID2083

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

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

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

At present, it is used in the internal environment, enable https for some system modifications is too large, how to disable https

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

ShowPager is no center vertically in the commercial version.

By the way, can pagesizechanged created from ABP suite?

<br>

Answer

Thank you albert. It seems to be working.

Answer

abp suite install -v 5.3.4

Hi yekalkan

This doesn't work

lizhaofeng@lizhaofengdeMacBook-Air ~ % Shutting down... abp suite remove
[21:51:48 INF] ABP CLI (https://abp.io) [21:51:49 INF] Version 5.3.4 (Stable) [21:51:50 INF] Removing ABP Suite... 已成功卸载工具“volo.abp.suite”(版本“5.3.4”). lizhaofeng@lizhaofengdeMacBook-Air ~ % abp suite install -v 5.3.4 [21:51:54 INF] ABP CLI (https://abp.io) [21:51:54 INF] Version 5.3.4 (Stable) [21:51:55 INF] Installing ABP Suite v5.3.4... 可使用以下命令调用工具: abp-suite 已成功安装工具“volo.abp.suite”(版本“5.3.4”)。 [21:51:58 INF] ABP Suite has been successfully installed. [21:51:58 INF] You can run it with the CLI command "abp suite" lizhaofeng@lizhaofengdeMacBook-Air ~ % abp suite [21:52:07 INF] ABP CLI (https://abp.io) [21:52:08 INF] Version 5.3.4 (Stable) Starting Suite v5.3.4 ... Opening http://localhost:3000 Press Ctrl+C to shut down. [21:52:12 ERR] Connection id "0HMK51QN23UIR", Request id "0HMK51QN23UIR:00000002": An unhandled exception was thrown by the application. Volo.Abp.AbpException: Could not find the bundle file '/libs/abp/core/abp.css' for the bundle 'Lepton.Global'! at Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers.AbpTagHelperResourceService.ProcessAsync(ViewContext viewContext, TagHelper tagHelper, TagHelperContext context, TagHelperOutput output, List1 bundleItems, String bundleName) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo\Abp\AspNetCore\Mvc\UI\Bundling\TagHelpers\AbpTagHelperResourceService.cs:line 71 at Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers.AbpBundleTagHelperService2.ProcessAsync(TagHelperContext context, TagHelperOutput output) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo\Abp\AspNetCore\Mvc\UI\Bundling\TagHelpers\AbpBundleTagHelperService.cs:line 21 at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner.<RunAsync>g__Awaited|0_0(Task task, TagHelperExecutionContext executionContext, Int32 i, Int32 count) at AspNetCoreGeneratedDocument.Themes_Lepton_Layouts_Application_Default.<>c__DisplayClass28_0.<<ExecuteAsync>b__0>d.MoveNext() in D:\ci\Jenkins\workspace\abp-commercial-release\volo\abp\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Themes\Lepton\Layouts\Application\Default.cshtml:line 75 --- End of stack trace from previous location --- at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext.SetOutputContentAsync() at AspNetCoreGeneratedDocument.Themes_Lepton_Layouts_Application_Default.ExecuteAsync() in D:\ci\Jenkins\workspace\abp-commercial-release\volo\abp\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Themes\Lepton\Layouts\Application\Default.cshtml:line 57 at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, Boolean invokeViewStarts) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderLayoutAsync(ViewContext context, ViewBufferTextWriter bodyWriter) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable1 statusCode) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable1 statusCode) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.AspNetCore\Microsoft\AspNetCore\RequestLocalization\AbpRequestLocalizationMiddleware.cs:line 51 at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

Question

After I upgraded from v5.3.3 to 5.3.4, the following errors occur when running suite. Could you please tell me how to handle this problem? The os used is macos monterey

abp suite [19:41:18 INF] ABP CLI (https://abp.io) [19:41:18 INF] Version 5.3.4 (Stable) Starting Suite v5.3.4 ... Opening http://localhost:3000 Press Ctrl+C to shut down. [19:41:21 ERR] Connection id "0HMK4VHJ6QSHJ", Request id "0HMK4VHJ6QSHJ:00000002": An unhandled exception was thrown by the application. Volo.Abp.AbpException: Could not find the bundle file '/libs/abp/core/abp.css' for the bundle 'Lepton.Global'! at Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers.AbpTagHelperResourceService.ProcessAsync(ViewContext viewContext, TagHelper tagHelper, TagHelperContext context, TagHelperOutput output, List1 bundleItems, String bundleName) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo\Abp\AspNetCore\Mvc\UI\Bundling\TagHelpers\AbpTagHelperResourceService.cs:line 71 at Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers.AbpBundleTagHelperService2.ProcessAsync(TagHelperContext context, TagHelperOutput output) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo\Abp\AspNetCore\Mvc\UI\Bundling\TagHelpers\AbpBundleTagHelperService.cs:line 21 at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner.<RunAsync>g__Awaited|0_0(Task task, TagHelperExecutionContext executionContext, Int32 i, Int32 count) at AspNetCoreGeneratedDocument.Themes_Lepton_Layouts_Application_Default.<>c__DisplayClass28_0.<<ExecuteAsync>b__0>d.MoveNext() in D:\ci\Jenkins\workspace\abp-commercial-release\volo\abp\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Themes\Lepton\Layouts\Application\Default.cshtml:line 75 --- End of stack trace from previous location --- at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext.SetOutputContentAsync() at AspNetCoreGeneratedDocument.Themes_Lepton_Layouts_Application_Default.ExecuteAsync() in D:\ci\Jenkins\workspace\abp-commercial-release\volo\abp\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Themes\Lepton\Layouts\Application\Default.cshtml:line 57 at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, Boolean invokeViewStarts) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderLayoutAsync(ViewContext context, ViewBufferTextWriter bodyWriter) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable1 statusCode) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable1 statusCode) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.AspNetCore\Microsoft\AspNetCore\RequestLocalization\AbpRequestLocalizationMiddleware.cs:line 51 at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

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

There is an exception when downloading attachments with Chinese characters using File Management. The exception still exists when debugging with Swagger. The following is the error message:

2022-08-13 18:23:56.657 +08:00 [INF] Request starting HTTP/1.1 GET http://192.168.235.128:44378/api/file-management/file-descriptor/download/884f5de3-c63f-8092-f51f-3a05a8e817fb/token?api-version=1.0 - - 2022-08-13 18:23:56.661 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:7fb2f2f3-b8f9-9ebc-0192-3a05169b039b,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.663 +08:00 [DBG] Found in the cache: pn:U,pk:7fb2f2f3-b8f9-9ebc-0192-3a05169b039b,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.663 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.664 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.664 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:C,pk:BookStore_BlazorServerTiered,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.666 +08:00 [DBG] Found in the cache: pn:C,pk:BookStore_BlazorServerTiered,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.667 +08:00 [INF] Executing endpoint 'Volo.FileManagement.Files.FileDescriptorController.GetDownloadTokenAsync (Volo.FileManagement.HttpApi)' 2022-08-13 18:23:56.673 +08:00 [INF] Route matched with {controller = "FileDescriptors", area = "fileManagement", action = "GetDownloadToken", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[Volo.FileManagement.Files.DownloadTokenResultDto] GetDownloadTokenAsync(System.Guid) on controller Volo.FileManagement.Files.FileDescriptorController (Volo.FileManagement.HttpApi). 2022-08-13 18:23:56.689 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:7fb2f2f3-b8f9-9ebc-0192-3a05169b039b,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.691 +08:00 [DBG] Found in the cache: pn:U,pk:7fb2f2f3-b8f9-9ebc-0192-3a05169b039b,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.691 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.693 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.693 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:C,pk:BookStore_BlazorServerTiered,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.694 +08:00 [DBG] Found in the cache: pn:C,pk:BookStore_BlazorServerTiered,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.717 +08:00 [INF] Executing ObjectResult, writing value of type 'Volo.FileManagement.Files.DownloadTokenResultDto'. 2022-08-13 18:23:56.718 +08:00 [INF] Executed action Volo.FileManagement.Files.FileDescriptorController.GetDownloadTokenAsync (Volo.FileManagement.HttpApi) in 45.7411ms 2022-08-13 18:23:56.718 +08:00 [INF] Executed endpoint 'Volo.FileManagement.Files.FileDescriptorController.GetDownloadTokenAsync (Volo.FileManagement.HttpApi)' 2022-08-13 18:23:56.719 +08:00 [INF] Request finished HTTP/1.1 GET http://192.168.235.128:44378/api/file-management/file-descriptor/download/884f5de3-c63f-8092-f51f-3a05a8e817fb/token?api-version=1.0 - - - 200 - application/json;+charset=utf-8 61.9902ms 2022-08-13 18:23:56.764 +08:00 [INF] Request starting HTTP/1.1 GET http://192.168.235.128:44378/api/file-management/file-descriptor/download/884f5de3-c63f-8092-f51f-3a05a8e817fb?token=9f3a8d32-ae2a-4193-8102-408280b92a57&api-version=1.0 - - 2022-08-13 18:23:56.768 +08:00 [INF] Executing endpoint 'Volo.FileManagement.Files.FileDescriptorController.DownloadAsync (Volo.FileManagement.HttpApi)' 2022-08-13 18:23:56.773 +08:00 [INF] Route matched with {controller = "FileDescriptors", area = "fileManagement", action = "Download", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[Volo.Abp.Content.IRemoteStreamContent] DownloadAsync(System.Guid, System.String) on controller Volo.FileManagement.Files.FileDescriptorController (Volo.FileManagement.HttpApi). 2022-08-13 18:23:56.835 +08:00 [ERR] ---------- RemoteServiceErrorInfo ---------- { "code": null, "message": "对不起,在处理你的请求期间,产生了一个服务器内部错误!", "details": null, "data": {}, "validationErrors": null }

2022-08-13 18:23:56.836 +08:00 [ERR] Invalid non-ASCII or control character in header: 0x6570 System.InvalidOperationException: Invalid non-ASCII or control character in header: 0x6570 at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpHeaders.ThrowInvalidHeaderCharacter(Char ch) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpHeaders.ValidateHeaderValueCharacters(String headerName, StringValues headerValues, Func2 encodingSelector) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponseHeaders.AddValueFast(String key, StringValues value) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpHeaders.System.Collections.Generic.IDictionary<System.String,Microsoft.Extensions.Primitives.StringValues>.Add(String key, StringValues value) at Volo.FileManagement.Files.FileDescriptorController.DownloadAsync(Guid id, String token) at lambda_method3210(Closure , Object ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) 2022-08-13 18:23:56.848 +08:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.Http.RemoteServiceErrorResponse'. 2022-08-13 18:23:56.850 +08:00 [INF] Executed action Volo.FileManagement.Files.FileDescriptorController.DownloadAsync (Volo.FileManagement.HttpApi) in 76.1619ms 2022-08-13 18:23:56.850 +08:00 [INF] Executed endpoint 'Volo.FileManagement.Files.FileDescriptorController.DownloadAsync (Volo.FileManagement.HttpApi)'

Hi,

This is a style problem, we will try fix it.

Please delete the previous code try this:

.b-is-autocomplete.b-is-autocomplete-multipleselection 
{ 
    background: #f2f2f2 !important; 
} 
 
.b-is-autocomplete.b-is-autocomplete-multipleselection > input.form-control:focus, .b-is-autocomplete.b-is-autocomplete-multipleselection > input.form-control:active{ 
    background: #f2f2f2 !important; 
    border: 0 !important; 
    box-shadow: 0 0 0 0 !important; 
} 

Thank you so much.

it's normal without entering any content. but there is still a problem with control display when content were selected.

Showing 51 to 60 of 63 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11