fix: expose rejected incoming payment requests - #721
Open
ovitrif wants to merge 7 commits into
Open
Conversation
Greptile SummaryThe PR adds privacy-safe diagnostics and terminal feedback for incoming payment-request failures while retaining automatic retries.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains; current code distinguishes requested expiration from retry exhaustion, records the expiration before clearing presentation state, and maps it to the localized expired feedback.
|
| Filename | Overview |
|---|---|
| Bitkit/Services/PaykitPaymentRequestService.swift | Adds stable parse diagnostics and explicit presentation-deferral outcomes, including queued expiration handling that resolves the previously reported expiry misclassification. |
| Bitkit/AppScene.swift | Maps presentation outcomes to redacted diagnostics and localized terminal feedback, consuming requested expirations separately from retry exhaustion. |
| Bitkit/Services/PrivatePaykitService+Payments.swift | Classifies private payment-request resolution failures without exposing request contents or raw errors. |
| Bitkit/Services/PublicPaykitService.swift | Adds stable failure reasons for endpoint-resolution and payment-target failures. |
| BitkitTests/PaykitPaymentRequestServiceTests.swift | Covers retry exhaustion and expiration during suspended resolution and retry backoff. |
| BitkitTests/PublicPaykitServiceTests.swift | Verifies failure-reason and presentation-feedback mappings. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Incoming payment request] --> B{Request valid and unexpired?}
B -->|No: expired explicit request| C[Record expiration]
C --> D[Show expired toast once]
B -->|Yes| E[Resolve payment target]
E -->|Success| F[Open send flow]
E -->|Failure| G{Explicit retry limit reached?}
G -->|No| H[Schedule retry]
H --> E
G -->|Yes| I[Show unavailable toast]
I --> J[Keep request actionable]
Reviews (3): Last reviewed commit: "fix: preserve requested expiry feedback ..." | Re-trigger Greptile
ovitrif
marked this pull request as draft
September 2, 2026 09:49
ovitrif
marked this pull request as ready for review
September 2, 2026 10:06
ovitrif
force-pushed
the
codex/714-payment-request-errors
branch
from
September 2, 2026 12:05
70cd263 to
ac81ad1
Compare
Collaborator
Author
10 tasks
ovitrif
commented
Sep 2, 2026
ovitrif
left a comment
Collaborator
Author
There was a problem hiding this comment.
The rewritten head preserves the earlier expiry fix. I found two non-blocking coverage and journey-documentation gaps.
ben-kaufman
reviewed
Sep 2, 2026
ovitrif
force-pushed
the
codex/714-payment-request-errors
branch
from
September 2, 2026 21:43
ac81ad1 to
8172d6d
Compare
ben-kaufman
reviewed
Sep 2, 2026
ovitrif
force-pushed
the
codex/714-payment-request-errors
branch
from
September 3, 2026 21:50
8172d6d to
1f75bfd
Compare
ben-kaufman
approved these changes
Sep 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #714
Expose rejected incoming payment requests through privacy-safe diagnostics and terminal user feedback while preserving automatic recovery.
Description
Linked Issues/Tasks
Preview
pr721-payment-request-unavailable-2x.mp4
QA Notes
Manual Tests
category=resolution reason=no_supported_endpointand redact the counterparty.PaymentRequestUnavailableToastshowsPayment RequestandThe payment request is no longer available.PaymentRequestRow-7abfa801-a3bd-4d74-b75a-18be91d2ddbf:PaymentRequestPay-7abfa801-a3bd-4d74-b75a-18be91d2ddbfremains enabled for another attempt.Automated Checks
PaykitPaymentRequestServiceTestsandPublicPaykitServiceTests.