Merge pull request #5356 from mempool/simon/fix-payment-waiting-retry

fix btc payment waiting reply
This commit is contained in:
wiz 2024-07-22 21:16:00 +09:00 committed by GitHub
commit 6bc52dcc82
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3,7 +3,7 @@ import { FormBuilder, FormGroup } from '@angular/forms';
import { DomSanitizer, SafeUrl } from '@angular/platform-browser'; import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { Subscription, of, timer } from 'rxjs'; import { Subscription, of, timer } from 'rxjs';
import { retry, switchMap, tap } from 'rxjs/operators'; import { filter, repeat, retry, switchMap, take, tap } from 'rxjs/operators';
import { ServicesApiServices } from '../../services/services-api.service'; import { ServicesApiServices } from '../../services/services-api.service';
@Component({ @Component({
@ -73,11 +73,11 @@ export class BitcoinInvoiceComponent implements OnInit, OnChanges, OnDestroy {
this.paymentStatus = 4; this.paymentStatus = 4;
} }
this.paymentStatusSubscription = this.apiService.getPaymentStatus$(this.invoice.btcpayInvoiceId).pipe( this.paymentStatusSubscription = this.apiService.getPaymentStatus$(this.invoice.btcpayInvoiceId).pipe(
retry({ delay: () => timer(2000)}) retry({ delay: () => timer(2000)}),
).subscribe((response) => { repeat({delay: 2000}),
if (response.status === 204 || response.status === 404) { filter((response) => response.status !== 204 && response.status !== 404),
return; take(1),
} ).subscribe(() => {
this.paymentStatus = 3; this.paymentStatus = 3;
this.completed.emit(); this.completed.emit();
}); });