Skip to content

feat(chat): adopt the flipcash2 0.21.0 contract - #1840

Merged
bmc08gt merged 3 commits into
code/cashfrom
feat/flipcash2-contract-0.21.0
Oct 23, 2026
Merged

bmc08gt merged 3 commits into
code/cashfrom
feat/flipcash2-contract-0.21.0

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Moves flipcash2-client-protocol to 0.21.0 (code-payments/flipcash2-client-protocol#29) and adapts the app to the new contract. It adds no UI.

  • CashContent: the mappers in both directions follow the renames amount → total_amount and receiver → single_receiver. They also carry the new multi_receiver and payment_request_id fields, including through Room. Old rows decode with defaults. CashContentMappingTest is new, and ChatEntityMapperTest and ConversionsTest are extended.
  • BANNED: new Banned cases on the join-chat and enter-lobby errors, mapped in ChatService.
  • ViewerState: restrictions (silence) and Permissions.moderation are mapped.
  • Chat moderation: SilenceUser, UnsilenceUser, BanUser, UnbanUser and GetRestrictedUsers go through ChatApi → ChatService → ChatRepository → ChatController.
  • PaymentRequest service: Api, Service, Repository and Controller for its five RPCs, provided from FlipcashModule. It follows the Poll* shape, so domain models wait until a UI uses them.
  • ChatMetadata.requested_payment: handled in RequestedPaymentMetadata.kt.

PaymentRequestWidget has no dedicated mapping yet.

Map multi_receiver and payment_request_id into MessageContent.Cash and
carry them through the Room serialization.
…ervice

Chat: SilenceUser, UnsilenceUser, BanUser, UnbanUser and GetRestrictedUsers
through api, service, repository and controller; ViewerState restrictions
and Permissions.moderation; BANNED on JoinChat and EnterLobby.

PaymentRequest: api, service, repository and controller for the five RPCs,
returning generated paymentrequest.v1 types like Poll. PAYMENT_REQUEST
widgets map to Unsupported until a UI consumes them. Adds
buildRequestedPaymentMetadata for intent ChatMetadata.requested_payment.
@bmc08gt bmc08gt self-assigned this Oct 23, 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 Oct 23, 2026
@bmc08gt
bmc08gt marked this pull request as ready for review October 23, 2026 20:48
@github-actions github-actions Bot added type: feature New functionality area: build-system Gradle, convention plugins, build-logic and removed type: feature New functionality labels Oct 23, 2026
@bmc08gt
bmc08gt merged commit bdcae0d into code/cash Oct 23, 2026
6 checks passed
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant