Activities of "enisn"

Hi,

Nuget servers seem operational right now. Does the problem still exist?

Normally, when you downloaded a package once, it'll be stored {currentuser}\.nuget\packages\ folder locally and won't send request to server, packages will be used from cache.

Does this mean every time we update projects to new version we also have to update Nuget.Config with new nuget urls from abp ?

If your apikey isn't changed, you shouldn't update NuGet.Config again and again. Can you restore packages when you create a new project properly?

Answer

Can you try UserFriendlyException instead of Exception?

[Authorize(TappPermissions.TappOrganizations.Delete)]
public override async Task DeleteAsync(Guid id)
{
    var users = await _tappOrganizationUsersAppService.GetListAsync(new GetTappOrganizationUsersInput()
    {
        TappOrganization = id,
        MaxResultCount = 1
    });

    if (users.Items.Any())
        throw new UserFriendlyException("This organization can't be deleted because it has users associated with it.");

    await _tappOrganizationRepository.DeleteAsync(id);
}

As far as I understand, login operation is not your problem right know, you want to initialize blazor wasm as far as soon, right?

I can suggest you try PWA configuration for your app, pre-configured service-worker caches all the .dll files and makes blazor wasm initialization at second visit to website so much faster. You may try this approach and even it won't satisfy, then you can try implement your own login page as my suggestion for now

Hi @maria_ruiz

In the current Volo.Account and Volo.Account.Pro modules does not implement blazor login pages. It uses Code Flow with OpenID Connect.

Only Angular application has an implementation for Resource Owner Password Flow but it's not enabled by default, developers should implement a related pacakage that brings those login/register account pages. Since it's not secure and not a recommended way, all of applications are pre-configured to use OpenID Connect Code Flow approach. If you need, you can implement blazor components for login and use an existing OpenId Client C# library such as IdentityModel.OidcClient to connect to the auth server.

As far as I understand, login operation is not your problem right know, you want to initialize blazor wasm as far as soon, right?

Answer

Nuget servers seem online right now. Can you check if problem still exist?


By the way; Did you make any changes in your NuGet.Config file? You may check your NuGet.Config file for custom package resolution options, it's configured to use a custom mapping by default for better performance. It may cause som issues, if you can't solve the problem, you can try removing the following section:

As I understand you'll implement it by using angular client right?

If yes, your backend code, in your case it's HttpApi.Host, that project should use Volo.Payment.Web package. After using that package /Payment/GatewaySelection page will be provided by your backend application and redirect your angular client to that endpoint, this endpoint automatically redirect if only stripe configured in your system, if not, it lists all the payment providers to choose.

You already returned it, this will be used to send user to stripe payment page and handle callbacks:

Thanks for your detailed explaination. I've reproduced the problem and creating an internal issue to our ABP Suite team for it. We'll fix it soon.

Also your ticker is refunded.

Hi,

Do you use BundleMode as BundleAndMinify in the release mode?

Can you check if bootstrap-light.css file is included in the bundle?

If not you can add your custom file into LeptonXbundle, which is pre-configured in your ...Module.cs file by default, you can inlcude custom files by using StyleBundles.Add():

Configure<AbpBundlingOptions>(options =>
{
    options.StyleBundles.Configure(
        LeptonXThemeBundles.Styles.Global,
        bundle =>
        {
            bundle.AddFiles("/global-scripts.js");
            bundle.AddFiles("/global-styles.css");

            // 👇 Add your own customizations here for bundling & minifying
            bundle.AddFiles("/custom/bootstrap-light.css");
        }
    );
});

https://abp.io/docs/latest/framework/ui/mvc-razor-pages/bundling-minification#bundle-inheritance

Hi,

It can be managed by different sending logics. Here an example about how you can achieve it.

Using ABP's IEmailSender with Customization

ABP's IEmailSender interface and its default implementation are a good starting point. You can customize the MailMessage before it's sent. This is suitable if you primarily need to change the "From" address or add custom headers while still relying on ABP's configured SMTP settings.


// 2 interfaces for 2 different requirements:
public interface I2FAEmailSender
{
    Task Send2FAEmailAsync(string emailAddress, string code);
}

public interface IReportingEmailSender
{
    Task SendReportEmailAsync(string emailAddress, string reportData);
}
public class TwoFAEmailSender : ITransientDependency, I2FAEmailSender // Mark as transient for DI
{
    private readonly IEmailSender _emailSender;

    public TwoFAEmailSender(IEmailSender emailSender)
    {
        _emailSender = emailSender;
    }

    public async Task Send2FAEmailAsync(string emailAddress, string code)
    {
        await _emailSender.SendAsync(
            "2fa@yourdomain.com", // Override the from address here
            emailAddress,
            "Your 2FA Code",
            $"Your 2FA code is: {code}",
            isBodyHtml: true,
            // You can also add custom headers here if needed
            // mailMessage => { mailMessage.Headers.Add("X-Custom-Header", "value"); }
        );
    }
}

public class ReportingEmailSender : ITransientDependency, IReportingEmailSender
{
    private readonly IEmailSender _emailSender;

    public ReportingEmailSender(IEmailSender emailSender)
    {
        _emailSender = emailSender;
    }

    public async Task SendReportEmailAsync(string emailAddress, string reportData)
    {
        await _emailSender.SendAsync(
            "reports@yourdomain.com", // Override from address
            emailAddress,
            "Your Report",
            $"Here is your Report: {reportData}",
            isBodyHtml: true
        );
    }
}

And use them in your service separately:

public class MyService
{
  private readonly I2FAEmailSender _2faEmailSender;
  private readonly IReportingEmailSender _reportingEmailSender;

  public MyService(
      I2FAEmailSender _2faEmailSender,
      IReportingEmailSender _reportingEmailSender)
  {
      this._2faEmailSender = _2faEmailSender;
      this._reportingEmailSender = _reportingEmailSender;
  }
  // ...

  public async Task DoSomethingAsync()
  {
      // Send 2FA code
      await _2faEmailSender.Send2FAEmailAsync(/*...*/);
  }

  public async Task SendReportAsync()
  {
      // Send report
      await _reportingEmailSender.SendReportEmailAsync(/*...*/);
  }
}

You can even more customize those 2 sending logic by adding additional logics to their own services independently.

Hi,

I assume you're asking for ABP Suite, right?

Can you provide us an example to reproduce the issue? It might be a bug as you say, we'll check the same scenario

Showing 231 to 240 of 780 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on November 04, 2025, 06:41