Repository navigation
0.23.0
Synced to flipcash2-protobuf-api@6de4f9ad,
picking up #160,
#161,
#162 and
#163. activity.v1,
chat.v1, event.v1, paymentrequest.v1 and push.v1 moved.
This release makes a public group's minimum balances editable, announces payment request changes
on the chat event stream, links feed payments to the payment request they paid, and adds a test
push. Upgrading breaks source in Swift only, not the wire. One enum gained cases, appended at the
end, so no existing value moved.
Breaking
activity.v1.DirectlySentCryptoNotificationMetadata.boosted_reactionand
ReceivedCryptoNotificationMetadata.boosted_reaction(field 3 in both) moved into a new
oneof context, next torequested_payment. Swift loseshasBoostedReactionand
clearBoostedReactionon both; switch oncontextinstead. Kotlin keepshasBoostedReaction()
and gainsgetContextCase().chat.v1.MetadataUpdate'skindoneof gainsrules_changed(field 8). An exhaustiveswitch
over the Swift oneof, or awhenover Kotlin'sKindCasewithout anelse, needs a case for
it before it compiles.
Added
activity.v1.RequestedPayment, withchat_idandpayment_request_id, set as
requested_payment(oneof field 4) on both notification metadata messages above when the
payment paid a share of a payment request. It records what the payment was for and is not kept
up to date: the request may have closed, and fetching it may be denied.chat.v1.EditChatRequest.rules(field 6), the group's rules in full. Only a public group created
with a listener minimum balance can be edited, and only its listener and speaker
MinimumBalanceRequirementamounts may change; the proto docs list the limits.EditChatResponse.ResultcasesINVALID_RULES = 7andRULES_NOT_SATISFIED = 8, both
appended.chat.v1.MetadataUpdate.RulesChanged, carryingnew_rulesin full, sent on every rules edit.event.v1.ChatUpdate.payment_request_updates(field 10), a
paymentrequest.v1.PaymentRequestUpdateBatch. Like reaction updates, it is best effort and not
part of the gap-detected event log.paymentrequest.v1.PaymentRequestUpdate: a request whole when it is created (created), then
each change asUpdatesat the version it produced, made ofSharePaymentUpdateand
StatusUpdate. The proto docs give the apply rules: ignore a version already held, apply the
next one, and refetch on a gap or on an update the client cannot apply. Expiry is never
announced.push.v1.Push.SendTestPush, withSendTestPushRequestandSendTestPushResponse. It sends a
fixed notification to every device the caller registered a token for.
Changed
- A public group's
Metadata.rulescan now change after creation. A member who no longer
satisfies the new listener rules stays a member but cannot speak until they do. - Payment request changes are announced in real time. Until now the docs told clients to refetch
a request to see payments and closes land; refetching is now only for reconciling a missed
update.
Unchanged
Nothing was renumbered. No service, RPC, field or enum case was removed. Apart from the oneof
move above, no field changed type or number.