Activities of "jfistelmann"

Something from CmsKit is overriding the MVC error handling - resulting in redirects of doom.

  • ABP Framework version: v7.1.1
  • UI type: MVC
  • DB provider: MongoDB
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
[15:36:44 INF] Request starting HTTP/2 GET https://localhost:44360/pupsi - -
[15:36:44 INF] Executing endpoint '/Public/CmsKit/Pages/Index'
[15:36:44 INF] Route matched with {page = "/Public/CmsKit/Pages/Index", action = "", controller = "", area = ""}. Executing page /Public/CmsKit/Pages/Index
[15:36:44 INF] Skipping the execution of current filter as its not the most effective filter implementing the policy Microsoft.AspNetCore.Mvc.ViewFeatures.IAntiforgeryPolicy
[15:36:44 INF] Executing handler method Volo.CmsKit.Public.Web.Pages.Public.CmsKit.Pages.IndexModel.OnGetAsync - ModelState is Valid
[15:36:44 WRN] Could not find IdentityClientConfiguration for CmsKitPublic. Either define a configuration for CmsKitPublic or set a default configuration.
[15:36:44 INF] Start processing HTTP request GET https://localhost:44322/api/cms-kit-public/pages/pupsi?api-version=1.0
[15:36:44 INF] Sending HTTP request GET https://localhost:44322/api/cms-kit-public/pages/pupsi?api-version=1.0
[15:36:44 INF] Received HTTP response headers after 18.9676ms - 204
[15:36:44 INF] End processing HTTP request after 19.065ms - 204
[15:36:44 INF] Executed handler method OnGetAsync, returned result Microsoft.AspNetCore.Mvc.NotFoundResult.
[15:36:44 INF] Executing StatusCodeResult, setting HTTP status code 404
[15:36:44 INF] Executed page /Public/CmsKit/Pages/Index in 19.9671ms
[15:36:44 INF] Executed endpoint '/Public/CmsKit/Pages/Index'
[15:36:44 INF] Request finished HTTP/2 GET https://localhost:44360/pupsi - - - 302 - - 21.5203ms
[15:36:44 INF] Request starting HTTP/2 GET https://localhost:44360/Error?httpStatusCode=404 - -
[15:36:44 INF] Executing endpoint '/Public/CmsKit/Pages/Index'
[15:36:44 INF] Route matched with {page = "/Public/CmsKit/Pages/Index", action = "", controller = "", area = ""}. Executing page /Public/CmsKit/Pages/Index
[15:36:44 INF] Skipping the execution of current filter as its not the most effective filter implementing the policy Microsoft.AspNetCore.Mvc.ViewFeatures.IAntiforgeryPolicy
[15:36:44 INF] Executing handler method Volo.CmsKit.Public.Web.Pages.Public.CmsKit.Pages.IndexModel.OnGetAsync - ModelState is Valid
[15:36:44 WRN] Could not find IdentityClientConfiguration for CmsKitPublic. Either define a configuration for CmsKitPublic or set a default configuration.
[15:36:44 INF] Start processing HTTP request GET https://localhost:44322/api/cms-kit-public/pages/Error?api-version=1.0
[15:36:44 INF] Sending HTTP request GET https://localhost:44322/api/cms-kit-public/pages/Error?api-version=1.0
[15:36:44 INF] Received HTTP response headers after 18.3062ms - 204
[15:36:44 INF] End processing HTTP request after 18.401ms - 204
[15:36:44 INF] Executed handler method OnGetAsync, returned result Microsoft.AspNetCore.Mvc.NotFoundResult.
[15:36:44 INF] Executing StatusCodeResult, setting HTTP status code 404
[15:36:44 INF] Executed page /Public/CmsKit/Pages/Index in 19.2325ms
[15:36:44 INF] Executed endpoint '/Public/CmsKit/Pages/Index'
[15:36:44 INF] Request finished HTTP/2 GET https://localhost:44360/Error?httpStatusCode=404 - - - 302 - - 20.6696ms
[15:36:44 INF] Request starting HTTP/2 GET https://localhost:44360/Error?httpStatusCode=404 - -
[15:36:44 INF] Executing endpoint '/Public/CmsKit/Pages/Index'
[15:36:44 INF] Route matched with {page = "/Public/CmsKit/Pages/Index", action = "", controller = "", area = ""}. Executing page /Public/CmsKit/Pages/Index
[15:36:44 INF] Skipping the execution of current filter as its not the most effective filter implementing the policy Microsoft.AspNetCore.Mvc.ViewFeatures.IAntiforgeryPolicy
[15:36:44 INF] Executing handler method Volo.CmsKit.Public.Web.Pages.Public.CmsKit.Pages.IndexModel.OnGetAsync - ModelState is Valid
[15:36:44 WRN] Could not find IdentityClientConfiguration for CmsKitPublic. Either define a configuration for CmsKitPublic or set a default configuration.
[15:36:44 INF] Start processing HTTP request GET https://localhost:44322/api/cms-kit-public/pages/Error?api-version=1.0
[15:36:44 INF] Sending HTTP request GET https://localhost:44322/api/cms-kit-public/pages/Error?api-version=1.0
[15:36:44 INF] Received HTTP response headers after 18.1934ms - 204
[15:36:44 INF] End processing HTTP request after 18.2671ms - 204
[15:36:44 INF] Executed handler method OnGetAsync, returned result Microsoft.AspNetCore.Mvc.NotFoundResult.
[15:36:44 INF] Executing StatusCodeResult, setting HTTP status code 404
[15:36:44 INF] Executed page /Public/CmsKit/Pages/Index in 18.8792ms
[15:36:44 INF] Executed endpoint '/Public/CmsKit/Pages/Index'
[15:36:44 INF] Request finished HTTP/2 GET https://localhost:44360/Error?httpStatusCode=404 - - - 302 - - 20.2102ms
[15:36:44 INF] Request starting HTTP/2 GET https://localhost:44360/Error?httpStatusCode=404 - -
[15:36:44 INF] Executing endpoint '/Public/CmsKit/Pages/Index'
[15:36:44 INF] Route matched with {page = "/Public/CmsKit/Pages/Index", action = "", controller = "", area = ""}. Executing page /Public/CmsKit/Pages/Index
[15:36:44 INF] Skipping the execution of current filter as its not the most effective filter implementing the policy Microsoft.AspNetCore.Mvc.ViewFeatures.IAntiforgeryPolicy
[15:36:44 INF] Executing handler method Volo.CmsKit.Public.Web.Pages.Public.CmsKit.Pages.IndexModel.OnGetAsync - ModelState is Valid
[15:36:44 WRN] Could not find IdentityClientConfiguration for CmsKitPublic. Either define a configuration for CmsKitPublic or set a default configuration.
[15:36:44 INF] Start processing HTTP request GET https://localhost:44322/api/cms-kit-public/pages/Error?api-version=1.0
And so on... this now repeats.
  • Steps to reproduce the issue:"
  1. Run abp get-source Volo.Abp.LeptonXTheme.Pro
  2. Do the usual stuff to get that up and running
  3. Inside LeptonXDemoAppWebModule move app.UseErrorPage() outside of the development clause
  4. Start LeptonXDemoApp.HttpApi & LeptonXDemoApp.Web
  5. Go to web project and navigate to /pupsi or something else that obviously does not exist

To "fix" the behavior, go to LeptonXDemoAppGlobalFeatureConfigurator and Change cmsKit.EnableAll() to cmsKit.DisableAll() and repeat above steps.

  • ABP Framework version: v7.1.1
  • 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:"

create a new commercial abp solution

Blazor, EF Core, PostgresDb (but should not matter), Public Site with CmsKit

Issue 1 - package.json on new projects error An unexpected error occurred: "C:\\Repos\\jf\\cmskit-repro\\src\\CmsKitIssue.Web.Public\\package.json: Unexpected token } in JSON at position 196". This is due to the comma. needed to remove that and run abp install-libs again

After that, run migrations and all that stuff. If you now try to start the blazor app

Issue 2 - flag-icon-css not getting copied you get an error because flag-icon-css is missing in wwwroot/libs. Funny thing is: the folder exists in node_modules. I just copied that one over and now it works - but that should get fixed.

Issue 3 - CmsKit - cannot upload images

Before we start, apply workaround from https://support.abp.io/QA/Questions/4884 By adding a MyDynamicWidgetMarkdown.razor file somewhere in the blazor project with following content:

@using Blazorise.Markdown
@using Volo.Abp.DependencyInjection
@using Volo.CmsKit.Pro.Admin.Blazor.Pages.CmsKit
@inherits Volo.CmsKit.Pro.Admin.Blazor.Pages.CmsKit.DynamicWidgetMarkdown
@attribute [ExposeServices(typeof(DynamicWidgetMarkdown))]
@attribute [Dependency(ReplaceServices = true)]

@* WORKAROUND FOR ISSUE https://support.abp.io/QA/Questions/4884*@

<Markdown @Value="@Value"
          ValueChanged="@OnValueChanged"
          ImageUploadChanged="@OnImageUploadChangedAsync"
          ImageUploadEnded="@OnImageUploadEndedAsync"
          AutoDownloadFontAwesome="false"
          CustomButtonClicked="@OnCustomButtonClicked"
          @ref="@MarkdownRef">
    <Toolbar>
        @{
            foreach (var markdownToolbarButton in MarkdownToolbarButtons)
            {
                <MarkdownToolbarButton Action="@markdownToolbarButton" />
            }
            <MarkdownToolbarButton Separator Name="W" Icon="@("none")" Title="Add Widget" Text="W"></MarkdownToolbarButton>
        }
    </Toolbar>
</Markdown>


<Modal @ref="@AddWidgetModalRef" Closing="@ClosingAddWidgetModal" RenderMode="ModalRenderMode.LazyReload">
    <ModalContent Size="ModalSize.Large" Centered="true">
        <Form>
            <ModalHeader>
                <ModalTitle>@L["AddWidget"]</ModalTitle>
                <CloseButton Clicked="CloseAddWidgetModalAsync" />
            </ModalHeader>
            <ModalBody>
                @if (Widgets.Any())
                {
                    <Field>
                        <FieldLabel>@L["Widget"]</FieldLabel>
                        <FieldBody>
                            <Select @bind-SelectedValue="@ViewModel.Widget">
                                <SelectItem></SelectItem>
                                @foreach (var item in Widgets)
                                {
                                    <SelectItem Value="@item.Key">@item.Value</SelectItem>
                                }
                            </Select>
                        </FieldBody>
                    </Field>

                    foreach (var item in ViewModel.Details)
                    {
                        if (item.EditorComponentName is not null)
                        {
                            if (ViewModel.Widget == item.Name)
                            {
                                <div id="editor-@item.Name">
                                    <form data-check-form-on-close="false">
                                        <DynamicComponent Type="Options.Value.FindParameterComponentType(item.EditorComponentName)"></DynamicComponent>
                                    </form>
                                </div>
                            }
                        }
                    }
                }
                else
                {
                    <p>@L["PleaseConfigureWidgets"].Value</p>
                }
            </ModalBody>
            <ModalFooter>
                @if (Widgets.Any())
                {
                    <Button Color="Color.Primary" Clicked="AddWidgetAsync">@L["Add"]</Button>
                }
            </ModalFooter>
        </Form>
    </ModalContent>
</Modal>

From within your started blazor app, go to CMS->Pages and create a new page Now upload an image You now see that something is uploading stuff

That's about it. Nothing will happen. You can wait some time to experience fancy timeouts

[13:25:21 ERR] Unhandled exception in circuit 'qztupJFivEN9fZn8P9cfI-UIOzmzZKUIR94UO2VEM_Y'.
System.TimeoutException: Did not receive any data in the allotted time.
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at System.IO.Pipelines.PipeReaderStream.ReadAsyncInternal(Memory`1 buffer, CancellationToken cancellationToken)

This issue also applies to creating a blog post with an image, same stuff happens. And when you try to edit a blog post to add an image after creation.

Issue 4 - CmsKit getting images Funny things also happen when you create a blog post without an image and view it on your public site:

  1. Create a blog
  2. Crete blog post and publish
  3. on your public site, navigate to /blogs/default/foo

EDIT: Issue 5 is due to misconfiguration ~~Issue 5 - Url forwarding in a tiered app And the last one - url forwarding:

this seems to be only an issue when you have a tiered solution. Non-tiered works Add this:

Then go to your public site /blog. you should get redirected to /blogs/default - but that somehow does not work.~~

  • ABP Framework version: v7.1.1
  • UI type: Blazor package.json:
{
  "version": "1.0.0",
  "name": "my-app",
  "private": true,
  "dependencies": {
    "@volo/abp.aspnetcore.mvc.ui.theme.leptonx": "~2.1.0",
    "@volo/aspnetcore.components.server.leptonxtheme": "~2.1.0",
    "@volo/cms-kit-pro.admin": "~7.1.1",
    "@volo/account": "~7.1.1",
    "@volo/language-management": "~7.1.1"
  }
}
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace:
Unable to set property 'text' on object of type 'Blazorise.Markdown.MarkdownToolbarButton'. The error was: Unable to cast object of type 'System.Boolean' to type 'System.String'.

Message: Unable to set property 'text' on object of type 'Blazorise.Markdown.MarkdownToolbarButton'. The error was: Unable to cast object of type 'System.Boolean' to type 'System.String'.
Type: InvalidOperationException

Stack Trace
System.InvalidOperationException: Unable to set property 'text' on object of type 'Blazorise.Markdown.MarkdownToolbarButton'. The error was: Unable to cast object of type 'System.Boolean' to type 'System.String'.
 ---&gt; System.InvalidCastException: Unable to cast object of type 'System.Boolean' to type 'System.String'.
   at Microsoft.AspNetCore.Components.Reflection.PropertySetter.CallPropertySetter[TTarget,TValue](Action`2 setter, Object target, Object value)
   at Microsoft.AspNetCore.Components.Reflection.ComponentProperties.&lt;SetProperties&gt;g__SetProperty|3_0(Object target, PropertySetter writer, String parameterName, Object value)
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.Components.Reflection.ComponentProperties.&lt;SetProperties&gt;g__SetProperty|3_0(Object target, PropertySetter writer, String parameterName, Object value)
   at Microsoft.AspNetCore.Components.Reflection.ComponentProperties.SetProperties(ParameterView& parameters, Object target)
   at Blazorise.BaseComponent.SetParametersAsync(ParameterView parameters)
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.SupplyCombinedParameters(ParameterView directAndCascadingParameters)
  • Steps to reproduce the issue:"

navigate to Cms/BlogPosts/Create

or

Cms/Pages/Create

hi

Please update the src/Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX/Themes/LeptonX/Components/SideMenu/MobileNavbar/Default.cshtml with below code

Hey, did that on my side. Works now as expected.

As for the Theme-Bug. Took a look into that and that just can not work as expected.

src\Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX\Themes\LeptonX\Components\Common\MobileGeneralSettings\Default.cshtml

In the first loop, you add every style. then, you add the system menu - no matter what and style it as selected.

I removed lines 36 to 44 and live with the fact that on page load - the currently selected theme is not highlighted. The logic would need to be adjusted so that the loop considers the current style setting

Thanks. Can you share the LeptonxDemoApp project? liming.ma@volosoft.com

Uhm. As described this is your demo project without a single change.

You can get it by executing abp get-source Volo.Abp.LeptonXTheme.Pro --version 2.1.0 But if it helps you, I'll send it to you

I just started the demo app from the leptonx project. Same issue applies.

please share the steps I will try to reproduce it. Thanks

Sure,

First get source of LeptonXTheme.Pro

abp get-source Volo.Abp.LeptonXTheme.Pro --version 2.1.0

Replace $(abpVersion) with 7.1.0 in all csproj files. Have no process for that, so I just open vs code and do some good old find and replace magic.

Next step is to start docker.

After that, run tye with .\demo\run-app.ps1 -setup

Little note here: You have

try {
        dotnet tool install -g Microsoft.Tye --prerelease
    }
    catch {
        { 1:dotnet tool update -g Microsoft.Tye --prerelease }
    }

You only need dotnet tool update - it will automatically install a package if it is not there.

Alternatively, you may start things directly from within visual studio (I had to, because tye has thrown some weird issues which I have to look into)

Now wait until stuff has started.

Now go to https://localhost:44360/

Change to mobile view thing and tadaaa

I just started the demo app from the leptonx project. Same issue applies.

See Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX.Themes.LeptonX.Components.SideMenu.MobileNavbar.MobileNavbarViewComponent

when you navigate to the URL, what happens?

well, as expected a 404. Because the link is not built to end and displaying it is wrong in the first place.

This opens when I click on the image:

The real question is: Why does it think that I am authorized when I'm not? Because that is leading to this behavior.

Updated to 7.1.0 and LeptonX 2.1.0 today. Issues still apply

  • ABP Framework version: v7.0.3
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Steps to reproduce the issue: Should be reproducable by boilerplating a new project
  • Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX version: 2.0.4

Account Image points to nothing when unauthorized

There seems to be an issue here https://github.com/abpframework/abp/issues/13297 which may be related.

Whats strange is that the mobile view shows the <authorized> thing instead of <notauthorized>

System Theme shows up twice

My ...WebPublicModule doesn't have anything special in it.

private void ConfigureTheme()
    {
        Configure<LeptonXThemeOptions>(options =>
        {
            options.DefaultStyle = LeptonXStyleNames.System;
        });

        Configure<LeptonXThemeMvcOptions>(options =>
        {
            options.ApplicationLayout = LeptonXMvcLayouts.TopMenu;
        });
    }

The default top menu (same site, just scrolled back to trigger different view) is fine.

Showing 121 to 130 of 155 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 19, 2024, 10:13