Activities of "Sturla"

I have these two tables, Conversations and ConversationMessages with one-to-many relationship (Conversations table holds onto 1 conversation topic and ConversationMessages is the recording of many back and fourth communication)

If I only have these timestamp columns in my Conversation table I need to create some dummy column to be used for a display property. Now I created this NeededToGenerate column that I´m never going to use and I hate it.

Is this a shortcoming of Suite or should I do this in some other manner?

  • ABP Framework version: v7.2.2
  • UI type: Blazor
  • DB provider: EF Core / Postgress
  • Tiered (MVC) or Identity Server Separated (Angular): no

I´m just reporting an issue that I have (see step 3) worked around and expect to get refunded.

Issue The Docker-compose.yml file is not created correctly and doesn´t work out of the box for a solution created with Suite like this

If you create a new solution with suite as above image you will

1 get this error in the docker-compose.yml file.

Incorrect type. Expected "array | docker-compose.yml" in docker-compose.yml

The depends_on: is missing - postgres

2 I picked Postgres but the docker-compose.yml contains sql-server but should be "postgres"

3 This is what I ended up creating. I´m no docker expert and got the help from my GPT friend. It would be great if this would just work out of the box!

version: '3.8'

services:
  searchportal-blazor:
    image: lf/searchportal-blazor:latest
    container_name: searchportal-blazor
    build:
      context: ../../
      dockerfile: src/LF.SearchPortal.Blazor/Dockerfile.local
    environment:
      - ASPNETCORE_URLS=https://+:443;http://+:80;
      - Kestrel__Certificates__Default__Path=/root/certificate/localhost.pfx
      - Kestrel__Certificates__Default__Password=91f91912-5ab0-49df-8166-23377efaf3cc
      - App__SelfUrl=https://localhost:44314
      - AuthServer__RequireHttpsMetadata=false      
      - AuthServer__Authority=http://searchportal-blazor
      - ConnectionStrings__Default=Host=postgres;Database=SearchPortal;Username=postgres;Password=myPassw0rd;
    ports:
      - "44314:443"
    restart: on-failure
    volumes:
      - ./certs:/root/certificate
    networks:
      - abp-network
    depends_on:
      - postgres

  db-migrator:
    image: lf/searchportal-db-migrator:latest
    container_name: db-migrator
    build:
      context: ../../
      dockerfile: src/SearchPortal.DbMigrator/Dockerfile.local
    environment:
      - OpenIddict__Applications__SearchPortal_BlazorServerTiered__RootUrl=https://localhost:44314
      - ConnectionStrings__Default=Host=postgres;Database=SearchPortal;Username=postgres;Password=myPassw0rd;
    depends_on:
      postgres:
        condition: service_healthy
    networks:
      - abp-network
  
  postgres:
    image: postgres:latest
    container_name: postgres
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: "postgres"
      POSTGRES_PASSWORD: "myPassw0rd"
      POSTGRES_DB: "SearchPortal"
    volumes:
      - pgdata:/var/lib/postgresql/data
    networks:
      - abp-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 10s
      timeout: 10s
      retries: 5
  
  # Added a UI to be able to view the database
  pgadmin:
    image: dpage/pgadmin4
    container_name: pgadmin
    environment:
      PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org"
      PGADMIN_DEFAULT_PASSWORD: "admin"
    ports:
      - "5050:80"
    volumes:
      - pgadmin-data:/var/lib/pgadmin
    networks:
      - abp-network
    depends_on:
      - postgres
    healthcheck:
      test: ["CMD-SHELL", "wget","-O","-","http://localhost:80/misc/ping"]
      interval: 10s
      timeout: 10s
      retries: 5

volumes:
  pgdata:
    name: searchportal_pgdata
  pgadmin-data:
    name: pgadmin-data

networks:
  abp-network:
    name: searchportal-network
    driver: bridge
  • ABP Framework version: v7.2.2

  • UI type: Blazor Server

  • DB provider: EF Core / Postgress

  • Tiered (MVC) or Identity Server Separated (Angular): no

  • Exception message and stack trace: Severity Code Description Project File Line Suppression State Error (active) 0 Incorrect type. Expected "array | docker-compose.yml C:...aspnet-core\etc\docker\docker-compose.yml 20

  • Steps to reproduce the issue:"

Hi

We are having problems connecting SignalR to the public MVC page and are getting the following error

We have successfully been using SignalR for our Blazor WASM backend (hosted as static website in Azure) so we know all about how SignalR should work (or we thought at least).

We have been trying all kinds versions of CORS settings in HttpApi.Host without luck

This didn´t do anything (now we are just using app.UseCors())

  app.UseCors(x => x
           .AllowAnyMethod()
           .AllowAnyHeader()
           .SetIsOriginAllowed(origin => true)
           .AllowCredentials());

Is there a documentation or some other steps that we might be missing for for connecting with signalR in MVC public web app?

  • ABP Framework version: 7.0.2
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated: yes

Before I begin I would like to have some validation on my approach.

I need to upload big files (+3GB) to Azure blob storage from Blazor WASM.

I did set this up so that the files are streamed through an API to the service where they are then moved from there to a blob storage. This is an extra step from just going directly to blob and takes space and resources from the server.

So my question is: can't I just us https://docs.abp.io/en/abp/7.0/Blob-Storing and go directly to blob? Are there any issues? Can I use this directly from Blazor WASM?

The reason I ask would be because of the Azure.Storage.Account.ConnectionString I would need to fetch somehow (API?) encrypted and decrypt when using.

And then I need to enable CORS to the blob (having trouble finding information on that)

Access to fetch at 'https://mystuff.blob.core.windows.net/0-event-poster-images?restype=container' from origin 'https://localhost:44307' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

  • ABP Framework version: v7.0.1
  • UI type: Blazor WASM
  • DB provider: EF Core
  • Identity Server Separated: yes

Sorry for the title but I´m unsure what to call this

But if I navigate to and from the user management dropdown (to some other page) I get the following exception with a error message and UI popup.

blazor.webassembly.js:1 
       
 crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Cannot access a disposed object.
      Object name: 'BSR.Beinni.Blazor.Pages.BsrUserManagement'.
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'BSR.Beinni.Blazor.Pages.BsrUserManagement'.
   at Microsoft.AspNetCore.Components.OwningComponentBase.get_ScopedServices()
   at Volo.Abp.AspNetCore.Components.AbpComponentBase.LazyGetRequiredService[IObjectMapper](Type serviceType, IObjectMapper& reference)
   at Volo.Abp.AspNetCore.Components.AbpComponentBase.get_ObjectMapper()
   at Volo.Abp.Identity.Pro.Blazor.Pages.Identity.UserManagement.GetOrganizationUnitsAsync(ICollection`1 selectedOuIds)
   at Volo.Abp.Identity.Pro.Blazor.Pages.Identity.UserManagement.OnInitializedAsync()
   at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

Here is the code

namespace BSR.Beinni.Blazor.Pages
{
    [ExposeServices(typeof(UserManagement))]
    [Dependency(ReplaceServices = true)]
    public class BsrUserManagement : UserManagement
    {
        protected override async ValueTask SetEntityActionsAsync()
        {
            await base.SetEntityActionsAsync();

            var indexClaim = EntityActions.Get<UserManagement>().FindIndex(x => x.Text == "Claims");
            EntityActions.Get<UserManagement>().RemoveAt(indexClaim);
        }
    }
}

I thought this might be related to Use Default ComponentActivator for Blazorise

so I added this

context.Services.Replace(ServiceDescriptor.Scoped<IComponentActivator, ComponentActivator>());`
in my `BeinniBlazorModule.ConfigureServices()

but that doesn´t solve it

What should I do here?

  • ABP Framework version: v7.0.1
  • UI type: Blazor WASM
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes

When logging into Blazor WASM the first time we don´t see the side menus until we do a second F5 refresh of the page Here is a video demonstrating this.

Have you encountered this and do you have a fix for us? This started after updating to 6.0.0

  • ABP Framework version: v6.0.1
  • UI type: Blazor WASM
  • DB provider: EF Core
  • Separate (Opendict) Identity Server: yes

Trying to download the GDPR information doesn´t work

  • ABP Framework version: v6.0.1
  • UI type: Blazor WASM
  • DB provider: EF Core
  • Identity Server Separated: yes

Hi

We have been trying to update to version 6.0 from 5.3.4 and are having issues getting the login to work for Blazor WASM.

As stated here our CMS is in the IdentiyServer project.

We get a unhandled 400 error like this (only in Azure.. works locally)

We have a ExceptionSubscriber in the IdentiyServer project but we don´t get anything there.

We can log into our MVC public page, no problem.

I just saw the following error message in the console while the Blazor was loading up that could be the cause.

Refused to display in a frame because it se 'X-Frame-Option' to 'sameorigin' What do you think and how should we fix it?

  • ABP Framework version: v6.0.0
  • UI type: Blazor
  • DB provider: EF Core
  • Identity Server Separated: yes

Hi

I have the problem that loading up my Blazor WASM back end is super slow (20-50 sec). I thought that it might be because there is an issue trimming some abp.io dll´s but that is just to get rid of unused dll´s and not the compression I was looking for.

When logging into my app it takes around 40-50 seconds if its done for the first time but maybe half that the second time when dll´s are cached.

It also seems to be fetching the dll´s 2x for some reason.

If you look at Steves Sanderson's example you can for example see that he has dotnet.wasm.br file that is 358kb but mine is 1.4 Mb and seems to be served 2x

So I thought that abp wasn´t compressing anything but it is creating the .br files but not serving them it seems.

So after looking at compression we saw this documentation where it says

When hosting a Blazor WebAssembly standalone app, additional work might be required to ensure that statically-compressed files are served

So you need to add <script src="_framework/blazor.webassembly.js" autostart="false"></script> to wwwroot/index.html and add the brotli script module code.

<script type="module">
  import { BrotliDecode } from './decode.min.js';
  Blazor.start({
    loadBootResource: function (type, name, defaultUri, integrity) {
      if (type !== 'dotnetjs' && location.hostname !== 'localhost') {
        return (async function () {
          const response = await fetch(defaultUri + '.br', { cache: 'no-cache' });
          if (!response.ok) {
            throw new Error(response.statusText);
          }
          const originalResponseBuffer = await response.arrayBuffer();
          const originalResponseArray = new Int8Array(originalResponseBuffer);
          const decompressedResponseArray = BrotliDecode(originalResponseArray);
          const contentType = type === 
            'dotnetwasm' ? 'application/wasm' : 'application/octet-stream';
          return new Response(decompressedResponseArray, 
            { headers: { 'content-type': contentType } });
        })();
      }
    }
  });
</script>

But how do you do that?

If I try to add the code I get all kinds of errors because you are already adding it here in the BundlingService.cs. The brotli script isn´t run except having autostart="false"

So how can I get the brotli compression served to my browser?

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

I´m trying to remove (just) the Account part from my Settings in Blazor for newly created tenant/users

If I filter it out by "AbpAccount.SettingManagement" and try to remove it with the PermissionDataSeeder the whole Settings menu gets removed. For ordinary user removing Settings could be fine but I have more stuff than just Account for my tenants.

I tried these two https://support.abp.io/QA/Questions/1690/HOW-TO-remove--Two-factor-item and https://support.abp.io/QA/Questions/2926/Remove-two-auth-and-Profile-picture-tab-from-manage-profile-page but I just get this error if I try to remove an individual component "Volo-Abp-Account-TwoFactor"

  • ABP Framework version: 5.3.1
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
Showing 11 to 20 of 36 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 19, 2024, 10:13