Michael, Smithereen groups aren't like Friendica groups from what I gather. Yes, of course Smithereen can host groups. The idea with Smithereen groups is that they're completely separate entities from your profile. You post straight into a group and your followers have no idea.
In short, for basic functionality to work:
- The actor must be of type "Group" or "Organization"
- It must implement a wall according to FEP-400e (https://codeberg.org/fediverse/fep/src/branch/main/feps/fep-400e.md), also see https://github.com/grishka/Smithereen/blob/master/FEDERATION.md
Group invitations are Invite{Group} activities, sent both to the recipient and to the group actor. You accept an invitation by simply joining the group (Join{Group} or Follow{Group}). You decline it by sending Reject{Invite{Group}} to the group actor. For now, one can only send group invitations to their friends (mutual follows). A group itself, via its admins, can cancel a pending invitation anytime by sending Undo{Invite{Group}} to the invitee.
Closed/private groups are much more complex. There are "actor tokens" and all that stuff I gotta document in detail sometime later, probably in that FEDERATION.md file.
For a group to show up as an event, it needs to have an Event object in its "attachment" field, preferably with start and end time. Oh and then there's also tentative membership... It's optional.