Discussion on the feasibility of Jami public groups

Hi friends, I’m here to briefly discuss my thoughts on public groups.

I think the DHT network used by Jami does not store group member information, but in order to join a group, you must first obtain the member information of that group.

My understanding is that Jami cannot join a group solely based on the group’s ID number. I’m not sure if my understanding is correct, and my subsequent thoughts are based on this understanding.

I believe that Jami’s public group link could potentially consist of three parts: the inviter’s ID, the public group ID, and a fixed invitation code. When we generate a public group link, it essentially signifies that the inviter is inviting new members to join the group, similar to our current mechanism, except that in our current system, it is the inviter who sends an invitation to the corresponding member.

The method I envisioned is for new members to request information about the group from the link creator through a fixed link.

New members will first connect to the inviter through the inviter’s ID, then verify the fixed invitation code, and finally, the inviter will synchronize the group information with the new members.

When we generate a link, a fixed invitation code is also generated to verify the corresponding request. When we cancel this fixed invitation code, the public link will become invalid.

Is this plan feasible? Will it pose any safety concerns? Friends are welcome to discuss with me

My other idea is that the public link allows joining the group in two modes.

One is to directly join the group using the default input link.

The other approach is that only after review by the inviter can one join the group. Our current group mode involves the inviter sending a group chat invitation to specific contacts. However, a possible mode for public groups is that users who obtain the group chat link request to join the group from the inviter.

Once the inviter approves the request, the user who applied to join the group will be added to the group.