Skip to content

fix: surface payment request details in sheet - #791

Merged
jvsena42 merged 7 commits into
masterfrom
fix/789-payment-request-details
Sep 25, 2026
Merged

jvsena42 merged 7 commits into
masterfrom
fix/789-payment-request-details

Conversation

@ovitrif

@ovitrif ovitrif commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #789
Twin: synonymdev/bitkit-android#1337

This PR shows who a Payment Request is from and what it is for on the Payment Request sheet, and keeps the request note in its details.

Description

  • Adds a From / For row under the amount on the incoming Payment Request sheet, so the payer sees the requester and the request note without opening the details.
  • Leaves the For column out when the request has no note; From keeps its half width.
  • Shows the request note as an Invoice Note in the details and labels the requester as Contact, so the note stays visible once the details are open.
  • Keeps the invoice's own description as Note in the details when it differs from the request note, so the payer still sees what the invoice says before confirming.
  • Uses the design's spacing under the amount on the Payment Request sheet.
  • Ports the request-summary.xml journey from Android and adds its identifiers to the Payment Request journeys.

Out of Scope

Design

Send (Pay Payment Request) on the Bitkit - Refactor v63 page, added on 2026-09-24. It supersedes the Payment Request frames on Bitkit - Handoff v62:

Preview

Captured on an iOS simulator receiving requests from an Android emulator on regtest.

With note Without note Details

QA Notes

Journeys

  • new request-summary.xml — the collapsed Payment Request sheet shows From and For, the details show the note as Invoice Note under a Contact recipient, and For is left out without a note

Manual Tests

  • Open a request whose Lightning invoice description differs from the request note → the details show the invoice description as Note and the request note as Invoice Note — a Lightning endpoint with its own invoice description is not in Capabilities

Automated Checks

N/A

@greptile-apps

greptile-apps Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 3/5

The PR should not merge until supported LNURL requests show the summary and request notes remain accessible when details are open.

Findings

  1. P1 LNURL requests miss the summary ▶
  2. P1 Details can hide the note ▶

Summary

This PR adds a requester-and-note row to collapsed one-off Payment Request confirmations, an English label, and a payment-request journey. The summary is missing from the supported LNURL confirmation path, and opening details can hide the request note without showing it elsewhere.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[Incoming one-off Payment Request] --> B{Resolved payment endpoint}
  B -->|Invoice or on-chain| C[SendConfirmationView]
  B -->|LNURL| D[LnurlPayConfirm]
  C --> E{Details open?}
  E -->|No| F[New From / For summary]
  E -->|Yes| G[Payment details; request note not guaranteed]
  D --> H[No From / For summary]
Loading

Reviews (1) · Last reviewed commit: "test: cover a payment request without a ..."

Comment thread Bitkit/Views/Wallets/Send/SendConfirmationView.swift Outdated
Comment thread Bitkit/Views/Wallets/Send/SendConfirmationView.swift Outdated
@ovitrif ovitrif added this to the 2.6.0 milestone Sep 24, 2026
Comment thread Bitkit/Views/Wallets/Send/SendConfirmationView.swift Outdated
@ovitrif

ovitrif commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator Author

Pushed c4bdb4d: keeps the decoded invoice description in the Payment Request details when it differs from the request note, answering @pwltr's review comment. The Note row is hidden only when the two match, so Bitkit-to-Bitkit requests (empty invoice description) look unchanged.

Checks: simulator build and SwiftFormat lint pass.

@ovitrif
ovitrif requested a review from pwltr September 24, 2026 21:07
piotr-iohk
piotr-iohk previously approved these changes Sep 25, 2026

@piotr-iohk piotr-iohk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA approve — Payment Request From/For sheet

Pinned: c4bdb4d. Twin: synonymdev/bitkit-android#1337 @ 2f74260aa613.

Code: no actionable findings on the From/For row, details Invoice Note / Contact labeling, or empty-note layout.

Device: Requester send succeeded (PaymentRequestSent, note Lunch last week); payer confirm + two payments completed on the Android twin. First automated wait was blocked by delivery lag on the payer side, not by this sheet UI.

LGTM.

pwltr

This comment was marked as resolved.

@ovitrif

ovitrif commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator Author

@pwltr, sorry for the confusion and for the review time it cost you. The mistake was in this PR's description: it first pointed at the Bitkit - Handoff v62 frames, and after I corrected the link it still did not say the spec lives on a different page. The spec for this change is the Send (Pay Payment Request) section on the Bitkit - Refactor v63 page, added on 2026-09-24. The Design section now links that page and both frames.

Against that spec:

  1. From / For with details hidden: part of the Payment Request frame.
  2. Contact instead of To: part of the Confirm Details frame.
  3. Invoice Note label: part of the Confirm Details frame.
  4. Hide Details: existing behaviour on every send confirmation, left as it is in this PR. Neither page shows the button, so it stays a separate design question.

@ovitrif
ovitrif requested a review from pwltr September 25, 2026 11:52
jvsena42

This comment was marked as resolved.

@ovitrif

ovitrif commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator Author

Pushed 6696326: the changelog entry now also says the request note stays in the payment details, and master is merged in.

Checks: simulator build passes.

@piotr-iohk, re-requesting your review because the approval was on c4bdb4d; the code under review is unchanged.

@ovitrif

ovitrif commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator Author

Pushed b9e5882: restores the original one-line changelog entry; the added detail about the payment details did not belong in release notes.

@pwltr pwltr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I rechecked my earlier review against the Bitkit - Refactor v63 Payment Request and Confirm Details frames. The From/For rows when details are hidden, and the Contact and Invoice Note labels, match the current design. Hide Details is existing send-confirmation behavior and a separate design question. My change request was based on the earlier v62 reference; I have no remaining findings for this PR.

@jvsena42 jvsena42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tAck

@jvsena42
jvsena42 enabled auto-merge September 25, 2026 14:06
@ovitrif ovitrif removed this from the 2.6.0 milestone Sep 25, 2026
@jvsena42
jvsena42 merged commit c906d5a into master Sep 25, 2026
14 checks passed
@jvsena42
jvsena42 deleted the fix/789-payment-request-details branch September 25, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: surface payment request details in sheet

4 participants