From 165f2a964b847394f41d8eb41f06b4a91c8999c3 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Wed, 12 Feb 2025 15:21:49 -0800 Subject: [PATCH] Update xip-52-group-announcement.md (#88) * Update xip-52-group-announcement.md * Update XIPs/xip-52-group-announcement.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> * Update XIPs/xip-52-group-announcement.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> * Update XIPs/xip-52-group-announcement.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --------- Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- XIPs/xip-52-group-announcement.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/XIPs/xip-52-group-announcement.md b/XIPs/xip-52-group-announcement.md index a08b204c..46ecdf53 100644 --- a/XIPs/xip-52-group-announcement.md +++ b/XIPs/xip-52-group-announcement.md @@ -31,7 +31,9 @@ This would be the similar to a description of a group, but each app can display ## Backward compatibility -This is a breaking change. To use this new `announcement` metadata field, all group members must be using an app that uses an SDK version that supports the metadata. +- Any group that existed before the `groupAnnouncement` feature was added won't have an entry for `groupAnnouncement` in its mutable metadata. There will also be no predefined permission policy for who is allowed to update the `groupAnnouncement` metadata field. +- If a user on a newer version of the protocol calls `updateGroupAnnouncement` on a pre-existing group, they're trying to set a value for `groupAnnouncement`, even though no permission policy exists for it yet. In this case, default permission policies will apply to determine whether the update is valid. +- If a user on an older version of the protocol is invited to a group created by a user on the newer version, then the group will have a permission policy set for `groupAnnouncement`. Even though the older version of the protocol doesn't support setting announcements, it can still read the permission policy because it can be fetched using that string key. ## Reference implementation