Repository navigation
feat: show shop request payees under to - #1067
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a7974bf9b2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
[Medium impact] The PR appears safe to merge; no actionable issues were found. SummaryShop requests with
Acknowledged scope from ovitrif: finished USDT activity details and merchant servers with other app IDs remain unchanged. Final wording is deferred to the design lead. Reviews (1) · Last reviewed commit: "feat: label the payee as seller on shop ..." · Reviewed by Greptile |
talosmachina
left a comment
There was a problem hiding this comment.
No findings. Labels the payee Seller instead of Contact when a payment request was proposed by paykit-server, on the confirm sheet, USDT send and the payment request details; the iOS twin of synonymdev/bitkit-android#1642. Reviewed a7974bf, full tier.
What I checked, and 3 candidates I ruled out
Read in full: PaykitPaymentRequestService.swift (record init, updatingLifecycleState, created-request init), PaykitSubscription.swift (subscription-built requests), SendConfirmationView.swift, UsdtSendView.swift, PaymentRequestsView.swift, PaykitPaymentRequestServiceTests.swift
CI: SwiftFormat, validate, build-local green; Run Tests, integration tests and e2e still running
Build: Bitkit track: the branch was not built here (Android branches are not built on this box, iOS does not build on Linux), so this review is reasoned from the code and from CI.
Ruled out
- Flag lost on a rebuild: the only path that rebuilds a request from itself is
updatingLifecycleState, which now copies the flag, and the test asserts it; subscription and outgoing builders default tofalse, which is right for both. - Hashable or memberwise init broken: the field is a
private(set) varwith a default, so the synthesisedHashableincludes it and existing call sites compile unchanged (build-local is green). - Locale gaps: the key is added to the 15
Localizable.stringsfiles the PR touches.
Merge confidence: 4/5, the unit and e2e runs had not finished, so the new service test has not run in CI yet.
|
Pushed cc4a421: the Seller label now applies only to incoming requests (review thread above), with a unit test for the outgoing case, and |
|
@aldertnl this PR now shows the payee under "To" instead of "Contact" on payment requests from a Pubky Market seller (screenshots under Preview), reusing the existing send label; personal requests keep "Contact". The wording is your call: is "To" right, or would you prefer something else? |
|
Pushed 975b507: the Shop payee label is now "To", reusing the existing |
jvsena42
left a comment
There was a problem hiding this comment.
Code scan at 975b507: no issues found.
- Trust boundary: the "To" label is chosen from the request's app id, which the counterparty sets. It only switches the caption from "Contact" to "To". The avatar, name and key still come from the contact profile, and no counterparty text reaches the UI. The payee shown before paying doesn't change.
- Outgoing requests excluded.
- Coverage: every place that sets up a send for an incoming one-off request sets the flag. History and lifecycle copies keep it.
- No new strings. The interim "Seller" key is gone.
- Journey:
issuer-interoperability.xmlupdated.request-summary.xmlstill covers "Contact". - Design: Figma frames: Send (Paste) (On-chain) › Confirm Send Onchain, and Subscriptions › Payment Request Details. The wording is waiting on design.
- Parity: same rule and the same four screens as synonymdev/bitkit-android#1642.
Device gate (partial): 975b507 — not run yet. Pending: issuer-interoperability.xml (shop request shows "To") and request-summary.xml (contact request shows "Contact"), on on-chain, Lightning and USDT confirm and on request details.
Device results will follow in a separate review.
coreyphillips
left a comment
There was a problem hiding this comment.
Two independent reviews, nothing blocking a merge.
|
@coreyphillips thanks, merged. The label stays "To" until @aldertnl settles the wording. |
Closes #1052
Twin: synonymdev/bitkit-android#1642
Description
paykit-server, the id the deployed Paykit server stamps on the requests it prepares for the Shop. Requests created by a person's Bitkit carrybitkitand stay "Contact". Outgoing requests are unchanged.wallet__send_tolabel ("To"), already translated in every locale, so no new copy.Out of Scope
Design
N/A — label copy only; wording pending design.
Preview
Payment request details for an expired Shop order request. Before ("Contact") and after ("To"):
QA Notes
Journeys
issuer-interoperability.xml(the Paykit server fixture request reads "To")request-summary.xml(unchanged; a Bitkit-to-Bitkit request still reads "Contact")Manual Tests
N/A
Automated Checks
PaykitPaymentRequestServiceTests.swift(paykit-server requests are merchant requests)validate-translations.jsand build-for-testing; the unit test runs in CI