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?
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?
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.
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?
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
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?
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>
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?
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"