mirror of
https://github.com/aljazceru/BTCPayServerPlugins.git
synced 2025-12-17 07:34:24 +01:00
Tweaking invoice listening logic for disconnections
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
<PropertyGroup>
|
||||
<Product>Blink</Product>
|
||||
<Description>Blink Lightning support</Description>
|
||||
<Version>1.0.10</Version>
|
||||
<Version>1.0.11</Version>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<RootNamespace>BTCPayServer.Plugins.Blink</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -408,12 +408,13 @@ expiresIn = (int)createInvoiceRequest.Expiry.TotalMinutes
|
||||
private readonly BlinkLightningClient _lightningClient;
|
||||
private readonly Channel<LightningInvoice> _invoices = Channel.CreateUnbounded<LightningInvoice>();
|
||||
private readonly IDisposable _subscription;
|
||||
private readonly ILogger _logger;
|
||||
|
||||
public BlinkListener(GraphQLHttpClient httpClient, BlinkLightningClient lightningClient, ILogger logger)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
_logger = logger;
|
||||
_lightningClient = lightningClient;
|
||||
var stream = httpClient.CreateSubscriptionStream<JObject>(new GraphQLRequest()
|
||||
{
|
||||
@@ -455,7 +456,7 @@ expiresIn = (int)createInvoiceRequest.Expiry.TotalMinutes
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
logger.LogError(e, "Error while processing detecting lightning invoice payment");
|
||||
_logger.LogError(e, "Error while processing detecting lightning invoice payment");
|
||||
}
|
||||
|
||||
});
|
||||
@@ -492,7 +493,8 @@ expiresIn = (int)createInvoiceRequest.Expiry.TotalMinutes
|
||||
return await res;
|
||||
}
|
||||
|
||||
throw new Exception("Stream disconnected, cannot await invoice");
|
||||
_logger.LogInformation("Stream disconnected, cannot await invoice. resultsz: "+ resultz);
|
||||
return new LightningInvoice { Id = Guid.NewGuid().ToString() }; // Return a dummy invoice so calling listening logic exits
|
||||
}
|
||||
}
|
||||
public async Task<(Network Network, string DefaultWalletId, string DefaultWalletCurrency)> GetNetworkAndDefaultWallet(CancellationToken cancellation =default)
|
||||
|
||||
Reference in New Issue
Block a user