Optimizing Community Description

I think the strategy makes sense in general, but I want to emphasize that CommunityDescription is attached to various message types, and the periodic community publishing done by the owner might not be the biggest concern here in terms of bandwidth.

CommunityDescription is part of:

  • CommunityRequestToJoinResponse, which is propagated through relay once if the owner accepts the request on their own, or twice if acceptance comes from a privileged member.
  • CommunityEventsMessage, which is propagated through relay each time privileged members make changes to the community.
  • SyncInstallationCommunity, which is propagated through relay each time a backup is created or a sync is performed. Backup occurs every 8 hours or on demand. Sync is performed when there are paired devices and the user either requests to join the community, joins the community, leaves the community, or opens the community on mobile (fix(communities)!: stop syncing community on `LastOpenedAt` update by osmaczko · Pull Request #5884 · status-im/status-go · GitHub).

We will need to rework all of these to not contain CommunityDescription.

1 Like