Skip to content

feat: add contact payment ui#945

Draft
ben-kaufman wants to merge 1 commit into
codex/paykit-private-paymentsfrom
codex/private-payments-contact-ui
Draft

feat: add contact payment ui#945
ben-kaufman wants to merge 1 commit into
codex/paykit-private-paymentsfrom
codex/private-payments-contact-ui

Conversation

@ben-kaufman
Copy link
Copy Markdown
Contributor

Description

This PR:

  1. Adds Send → Contact selection so saved contacts can be chosen from the send sheet.
  2. Adds contact attribution UI on Activity Detail, including assigning and detaching a contact.
  3. Shows contact avatars in the main and full activity lists while keeping the contact-specific activity list on the existing arrow style.
  4. Adds Payment Preference settings for Lightning/on-chain methods and public/private contact sharing.
  5. Wires public/private Paykit endpoint publishing to the selected payment preferences.

Preview

QA Notes

Manual Tests

  • 1. Wallet → Send → Contact: saved contacts appear and tapping one opens the normal send flow for that contact.
  • 2. Activity → Activity Detail → Assign: contact picker opens, selecting a contact shows the assigned contact section, Detach removes it.
  • 3. Activity list → contact-attributed payment: main and full activity lists show the contact avatar instead of the arrow icon.
  • 4. Contact Detail → Activity: contact-specific activity rows still show the arrow icon and the contact wording.
  • 5. Settings → General → Payment Preference: Lightning/on-chain toggles cannot both be disabled; public/private contact toggles sync Paykit sharing state.

Automated Checks

  • Local checks passed: ./gradlew compileDevDebugKotlin, ./gradlew testDevDebugUnitTest, ./gradlew detekt, git diff --check.
  • E2E build passed: E2E=true E2E_BACKEND=network ./gradlew assembleDevDebug --no-daemon --stacktrace.
  • Android emulator proof captured for contact detail, Payment Preference, and Send → Contact. A two-device profile/contact smoke flow was partially exercised; Pubky staging lookup needed a manual retry, so full automated two-device payment E2E should be rerun in CI or a stable staging session.

@ben-kaufman ben-kaufman marked this pull request as draft May 16, 2026 17:59
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d02323d5da

ℹ️ 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".

@ben-kaufman ben-kaufman force-pushed the codex/private-payments-contact-ui branch 2 times, most recently from ba89c07 to 014653b Compare May 17, 2026 04:33
@ben-kaufman ben-kaufman force-pushed the codex/private-payments-contact-ui branch from 014653b to 145a69f Compare May 17, 2026 04:51
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.

1 participant