Repository navigation
feat(chat): scaffold flipcash2 0.22.0 group invites - #1141
Merged
Merged
Conversation
…sh2 contract Builds against flipcash2-client-protocol b655df17 through the local override; the FlipcashAPI pin is not bumped. GetKeyEnvelopeResponse moved key_envelope into `oneof envelope`, so `hasKeyEnvelope` no longer compiles. getKeyEnvelope now switches on the envelope: an invite-joined member's `inviteKeyBundle` is a distinct KeyEnvelopeResult case and surfaces to the existing callers as `.noEnvelope`, never a default own envelope. The wrapper also carries wrappedByPublicKey. - ChatService/FlipClient: createInvite, getInvite, getChatInvites, revokeInvite with ErrorCreateInvite/GetInvite/GetChatInvites/ RevokeInvite in proto order; joinChat takes optional invite parameters and ErrorJoinChat gains the four invite cases; getRoster accepts an invite token with optional auth. - Models: Invite, InviteID, InviteToken, InviteKeyEnvelope, InviteSecretEnvelope, InviteKeyBundle, ViewerState.canInvite. - SystemEvent.userJoinedViaInvite for SystemContent `invited`, persisted in two new message columns; Database.schemaVersion 59 -> 60 (also covers the new ViewerState.canInvite JSON field). Invite crypto (token/id derivation, envelope wrap and signing) and UI are not implemented.
bmc08gt
marked this pull request as ready for review
October 27, 2026 19:58
This was referenced Oct 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adapts the app to the flipcash2
0.22.0contract (group invites), from code-payments/flipcash2-client-protocol#30. It adds no UI and no invite crypto.Pins
flipcash2-client-protocol0.22.0; the pin andPackage.resolvedmove together in the last commit.GetKeyEnvelope:key_envelopemoved into a oneof, sohasKeyEnvelopeno longer exists.getKeyEnvelopeswitches onresponse.envelope, andKeyEnvelopeResultis now.ownor.invite, both carryingwrappedByPublicKey.FlipClientandChatNotificationClienttreat an invite bundle as.noEnvelopefor now.createInvite,getInvite,getChatInvitesandrevokeInviteonChatServiceandFlipClient, withError*enums in proto order. Models are inConversationInvite.swift.joinChat: a separate overload takesInviteJoinParameters. A defaulted parameter would have brokenConversationMembershipconformance.ErrorJoinChatgains the four invite cases at raw values 5 to 8, andEvents.swiftnames them for analytics.getRoster: takes an optional owner and invite token.ConversationViewerState.canInviteandSystemEvent.userJoinedViaInvite, which still reads as a plain join. The new event is persisted in two new message columns, andschemaVersiongoes from 59 to 60.The username limit stays at 15. The contract now allows 30, but
UsernameValidator, theUsernameregex,MentionDetectorand the cash-code layout all assume 15, so that needs its own change.