XIP-52: Group announcements

Author: Naomi Plasterer (@nplasterer)

Abstract

This XIP proposes a way to send a new application message to all new group participants upon joining the group. Different apps should be able to handle, filter, and display the application message differently.

Motivation

A groups grow larger, it’s important to be able to communicate a standard, such as group rules, for how participants should act in the group. It’s also important to be able to share announcements with the whole group without spamming the group.

Specification

Proposal: A new metadata field called announcement.

group.announcement()
group.setAnnouncement("Please check out the group rules in the description")

This would be the similar to a description of a group, but each app can display it differently. For example, one app might choose to display the announcement as a banner in the group, while another app may choose a different presentation. The field could have permissions so only admins can set it. The field has a maximum character limit of 300.

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.

Reference implementation

Similar to https://github.com/xmtp/libxmtp/pull/841

Security considerations

Making this a metadata field that only admins can set helps protect against member-initiated attacks on a large group.

Because this message is considered a part of the group-metadata, all newly added members can see the message.

Copyright

Copyright and related rights waived via CC0.

1 Like

Initial feedback was to increase the character limit to 1000.

1 Like