Skip to content

feat(flipcash): add return-payment contract scaffolding - #1949

Merged
bmc08gt merged 3 commits into
code/cashfrom
feat/chat-return-payment-contract
Nov 3, 2026
Merged

bmc08gt merged 3 commits into
code/cashfrom
feat/chat-return-payment-contract

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Data-layer scaffolding for returning a DM's opening payment (flipcash2 contract 0.25.0, upstream #165). No UI.

Pins flipcash2-client-protocol to 0.25.0 (published from code-payments/flipcash2-client-protocol#33).

  • :services:flipcash: getCashMessageReturnStatus through ChatMessagingApi → ChatMessagingService → repository → ChatMessagingController, with CashMessageReturnStatus and GetCashMessageReturnStatusError.
  • MessageContent.Cash.paymentReturn (offer, returnOf) mapped from CashContent.payment_return, and persisted in the chat JSON column with a default, so no Room migration.
  • buildReturnPaymentMetadata(chatId, messageId) builds ChatMetadata.return_payment. The server-issued intent ID goes through the existing intentId parameter on TransactionController.directTransfer / IntentTransfer.create.
  • ActivityFeedNotification.ReturnedPayment on both DirectlySentCrypto and ReceivedCrypto, carried into ActivityFeedMessage and notification persistence. The mapper reads these oneofs with has*(), so without this a return was dropped silently.

Nothing calls getCashMessageReturnStatus yet; the payments delegate and UI come next.

@bmc08gt bmc08gt self-assigned this Nov 3, 2026
@github-actions github-actions Bot added type: feature New functionality area: network gRPC, connectivity, API, exchange rates and removed type: feature New functionality labels Nov 3, 2026
@bmc08gt
bmc08gt marked this pull request as ready for review November 3, 2026 15:45
@github-actions github-actions Bot added type: feature New functionality area: build-system Gradle, convention plugins, build-logic labels Nov 3, 2026
@bmc08gt
bmc08gt merged commit 707493e into code/cash Nov 3, 2026
6 checks passed
bmc08gt added a commit that referenced this pull request Nov 3, 2026
…ee-pane

* origin/code/cash: (44 commits)
  refactor(chat-list): move the chat list into a KMP module and wire it into the desktop graph (#1950)
  build(deps): bump dev.zacsweers.metro from 1.4.5 to 1.5.1 (#1901)
  feat(flipcash): add return-payment contract scaffolding (#1949)
  refactor(chat-ui): make shared/chat-ui a KMP module (#1934)
  build(deps): bump com.google.firebase:firebase-bom from 34.19.0 to 35.1.0 (#1900)
  build(deps): bump io.ktor:ktor-network from 3.4.1 to 3.6.0 (#1909)
  build(deps): bump rinku from 1.6.0 to 1.9.0 (#1907)
  build(deps): bump androidx.webkit:webkit from 1.17.0 to 1.18.0 (#1906)
  build(deps): bump agp from 9.4.1 to 9.5.0 (#1905)
  build(deps): bump androidx-datastore from 1.2.1 to 1.3.0 (#1904)
  build(deps): bump compose-multiplatform from 1.12.1 to 1.12.2 (#1903)
  build(deps): bump com.google.android.gms:play-services-base (#1902)
  build(deps): bump okhttp from 5.5.0 to 5.5.1 (#1899)
  refactor(messenger): split ChatViewModel's reducer into per-area files (#1933)
  refactor(amount-entry): make shared/amount-entry a KMP module (#1932)
  fix(build): stop KMP host tests building release variants and debug manifests changing per commit (#1948)
  refactor(theme): collapse Avenir into one family with a real Medium face (#1947)
  perf: run independent hot-path calls concurrently (#1945)
  docs(claude): test gestures with device input and keep mode state at screen level (#1943)
  build: bump Flipcash to 2026.11.2
  ...

# Conflicts:
#	CLAUDE.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build-system Gradle, convention plugins, build-logic area: network gRPC, connectivity, API, exchange rates type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant