Error messages
[10:59:10 INF] Executing endpoint '/signalr-hubs/messaging'
[10:59:11 ERR] Error when dispatching 'OnConnectedAsync' on hub.
Autofac.Core.DependencyResolutionException: An exception was thrown while activating Castle.Proxies.MessagingHubProxy -> Eduverse.WebRtc.CommunicationService.
---> Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor(Microsoft.Extensions.Logging.ILogger`1[Eduverse.WebRtc.CommunicationService], Eduverse.WebRtc.IWebRtcDispatcher, Eduverse.SpeechToText.ISpeechToText, Microsoft.Extensions.Options.IOptions`1[Eduverse.WebRtc.WebRtcOptions], Eduverse.DialogueManagers.IDialogueManagersAppService)' on type 'CommunicationService'.
---> System.InvalidOperationException: Method may only be called on a Type for which Type.IsGenericParameter is true.
at System.RuntimeType.get_DeclaringMethod()
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at Autofac.Core.Activators.Reflection.BoundConstructor.Instantiate()
at Autofac.Core.Activators.Reflection.ReflectionActivator.<>c__DisplayClass14_0.<UseSingleConstructorActivation>b__0(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Resolving.Middleware.DisposalTrackingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
at Autofac.Builder.RegistrationBuilder`3.<>c__DisplayClass41_0.<PropertiesAutowired>b__0(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context,
Action`1 next)
--- End of inner exception stack trace ---
at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context,
Action`1 next)
at Autofac.Builder.RegistrationBuilder`3.<>c__DisplayClass35_0.<OnPreparing>b__0(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Resolving.Middleware.CoreEventMiddleware.Execute(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Lifetime.LifetimeScope.CreateSharedInstance(Guid id, Func`1 creator)
at Autofac.Core.Lifetime.LifetimeScope.CreateSharedInstance(Guid primaryId, Nullable`1 qualifyingId, Func`1 creator)
at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest& request)
at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation(ResolveRequest& request)
at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
at Autofac.ResolutionExtensions.ResolveOptionalService(IComponentContext context, Service service, IEnumerable`1 parameters)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
at Microsoft.AspNetCore.SignalR.Internal.DefaultHubActivator`1.Create()
at Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1.OnConnectedAsync(HubConnectionContext connection)
at Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1.OnConnectedAsync(HubConnectionContext connection)
at Microsoft.AspNetCore.SignalR.HubConnectionHandler`1.RunHubAsync(HubConnectionContext connection)
[10:59:11 INF] Executed endpoint '/signalr-hubs/messaging'
Code snippets: Communication Service injected into MessagingHub
[Authorize(Roles = DefaultRoleConsts.Learner)]
[DisableConventionalRegistration]
public class MessagingHub : AbpHub
{
private readonly ILogger<MessagingHub> _logger;
private readonly ICommunicationService _communicationService;
public MessagingHub(
ILogger<MessagingHub> logger,
ICommunicationService communicationService,
IUnitOfWorkManager unitOfWorkManager
)
{
_logger = logger;
_communicationService = communicationService;
}
CommunicationService snippet
public class CommunicationService : ICommunicationService
{
private readonly ILogger<CommunicationService> _logger;
private readonly ISpeechToText _stt;
private readonly IWebRtcDispatcher _dispatcher;
private readonly IDialogueManagersAppService _dialogueManagersAppService;
public CommunicationService(ILogger<CommunicationService> logger,
IWebRtcDispatcher dispatcher,
ISpeechToText stt,
IOptions<WebRtcOptions> options,
IDialogueManagersAppService dialogueManagersAppService)
{
_logger = logger;
_dispatcher = dispatcher;
_stt = stt;
_dialogueManagersAppService = dialogueManagersAppService;
// SetupHandler();
_dialogueManagersAppService.OnChatResponseChunkReceived += (sender, evt) => {
_dispatcher.GetWebRtcPeerConnectionFromConversationId(evt.ConversationId, out var peerConnection);
if(peerConnection == null){
_logger.LogError("PeerConnection not found for conversationId: {conversationId}", evt.ConversationId);
return;
}
var message = new { type = "chatChunk", data = evt.Text };
var jsonString = JsonSerializer.Serialize(message);
peerConnection.SendData(jsonString);
};
DialogueManager Snippet
[RemoteService(IsEnabled = false)]
public class DialogueManagersAppService : EduverseAppService, IDialogueManagersAppService
{
protected IConversationLogRepository _conversationLogRepository;
protected ConversationLogManager _conversationLogManager;
protected IConversationRepository _conversationRepository;
protected ConversationManager _conversationManager;
protected IFeedbackLogRepository _feedbackLogRepository;
protected FeedbackLogManager _feedbackLogManager;
protected IScenarioRepository _scenarioRepository;
private readonly IUnitOfWorkManager _unitOfWorkManager;
protected ILlmService _llmService;
public event EventHandler<ChatResponseChunkEventArgs>? OnChatResponseChunkReceived;
public event EventHandler<ChatResponseEndedEventArgs>? OnChatResponseEnded;
I understand that we can change certain settings in the appsetings.json
. This applies the default settings to the host and tenant level.
"Settings": {
"Abp.Identity.User.IsUserNameUpdateEnabled": false,
"Abp.Identity.User.IsEmailUpdateEnabled": false,
"Abp.Account.IsSelfRegistrationEnabled": false
},
When testing locally using dotnet run
or using a docker container, these settings work fine. I can see that the values in the settings page are updated correctly
However they are not applied when we deploy this to ECS (ABP backend is running in an ECS Task)
I've even tried to update using environment variables. But it doesn't work either
Could you outline any possible reason for this? I've checked that those settings are not overwritten in the DB
Hi Team, I want to edit New Tenant Modal to add extraProperties for creation of tenant. I understand i need to copy this source code -> https://github.com/abpframework/abp/tree/dev/modules/tenant-management
However how should the folder structure look like?
How can i customize the GDPR cookie consent bar?
I am referencing these docs: https://abp.io/docs/latest/framework/data/entity-framework-core#controlling-the-multi-tenancy
I would like to ensure that some entities always uses the host connection string, even if I am in a tenant context.
Based on the documentation, this can be done on the DbContext level, where all DbSet<Entity> defined in that context will be only using the host connection string.
Question is if there is a way to define this [IgnoreMultiTenancy] flag on the Entity level. I saw that there is a check here:
however i tried adding [IgnoreMultiTenancy] to the Entity but it doens't seem to work e.g.
Is there something I am missing? Thanks
Hi Team,
I am using Angular but customizing the login pages on MVC.
How can i customize these components:
Hi Team,
I followed instructions here to replace the login page (https://abp.io/docs/latest/framework/ui/mvc-razor-pages/customization-user-interface?_redirected=B8ABF606AA1BDF5C629883DF1061649A)
copied the source code from here as instructed by abp support -> https://github.com/abpframework/abp/blob/dev/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml#L61C11-L61C141
but am faced with these few errors:
Please help.
Hi all,
My company is on the "Teams" plan, where can i download the full source code for Angular project.
When using abp studio to create the modules I only get a few pages, where are the login and register pages?
Hi all,
I would like to have some entities (e.g. Book, AbpUsers) be stored in the tenant's database, while other entities (e.g. SaasTenant, other Abp* tables ) be stored in the host's database. Is this something that ABP supports natively? Would storing AbpUsers in a tenant database cause issues if SaasTenants is in the host database?
Does anyone have guides or documentation for implementing such functionality?
Thank you Bryan
Hi all,
As there is no Figma for Lepton X theme, our team is trying to use StoryBook to import components into Figma for our UI designer.
Has anyone successfully tried to do this?
Also, is there a any source code / repo with ALL components so that we can make this process faster (https://x.leptontheme.com/side-menu/index.html)?
When we installed angular via ABP studio, there's only a couple of components inside them. it will be a hassle to import all the components.
Any help will be greatly appreciated.
Thank you.