Groups: make, join, run and leave communities and circles

The Groups page (/groups, in the menu) is where a persona makes a community
or a circle (with its invitation code and an optional password), joins one
by invitation and leaves one. For the groups it runs it edits them, shows
the invitation, lets in or declines the requests to join, and takes members
out, through PrivaPub's new /clientapi/group/members, reject and remove.
The e2e makes a circle, joins it as another persona with the code, and has
the owner take that member out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-05 18:24:39 +02:00
1 parent 2024798732
commit 0bbab720a5
9 files changed
+705 -1

No files matched your search

+96
View File
@@ -1595,4 +1595,100 @@
<data name="Tentative" xml:space="preserve">
<value>Da confermare</value>
</data>
<data name="{0} is out of the group." xml:space="preserve">
<value>{0} non è più nel gruppo.</value>
</data>
<data name="{0} made." xml:space="preserve">
<value>{0} creato.</value>
</data>
<data name="A community, open to the fediverse (otherwise a private circle)" xml:space="preserve">
<value>Una comunità, aperta al fediverso (altrimenti una cerchia privata)</value>
</data>
<data name="A new group" xml:space="preserve">
<value>Un nuovo gruppo</value>
</data>
<data name="A new invitation code (the old one stops working)" xml:space="preserve">
<value>Un nuovo codice d'invito (quello vecchio smette di funzionare)</value>
</data>
<data name="A new invitation password" xml:space="preserve">
<value>Una nuova password d'invito</value>
</data>
<data name="Anyone may post" xml:space="preserve">
<value>Chiunque può pubblicare</value>
</data>
<data name="Approve members from elsewhere by hand" xml:space="preserve">
<value>Approva a mano i membri di altri server</value>
</data>
<data name="asks to join" xml:space="preserve">
<value>chiede di entrare</value>
</data>
<data name="Circle" xml:space="preserve">
<value>Cerchia</value>
</data>
<data name="Community" xml:space="preserve">
<value>Comunità</value>
</data>
<data name="Decline" xml:space="preserve">
<value>Rifiuta</value>
</data>
<data name="Description" xml:space="preserve">
<value>Descrizione</value>
</data>
<data name="Invitation code" xml:space="preserve">
<value>Codice d'invito</value>
</data>
<data name="Invitation password, if it has one" xml:space="preserve">
<value>Password d'invito, se ne ha una</value>
</data>
<data name="Invitation password (optional)" xml:space="preserve">
<value>Password d'invito (facoltativa)</value>
</data>
<data name="it asks for a password" xml:space="preserve">
<value>chiede una password</value>
</data>
<data name="Its followers post" xml:space="preserve">
<value>Pubblicano i suoi follower</value>
</data>
<data name="Join by invitation" xml:space="preserve">
<value>Entra con un invito</value>
</data>
<data name="Let in" xml:space="preserve">
<value>Fai entrare</value>
</data>
<data name="Listed and found in searches" xml:space="preserve">
<value>In elenco e trovabile nelle ricerche</value>
</data>
<data name="Make the group" xml:space="preserve">
<value>Crea il gruppo</value>
</data>
<data name="Manage" xml:space="preserve">
<value>Gestisci</value>
</data>
<data name="Only its moderators post" xml:space="preserve">
<value>Pubblicano solo i suoi moderatori</value>
</data>
<data name="owner" xml:space="preserve">
<value>proprietario</value>
</data>
<data name="Remove the invitation password" xml:space="preserve">
<value>Togli la password d'invito</value>
</data>
<data name="Take out" xml:space="preserve">
<value>Togli</value>
</data>
<data name="Take out of the group" xml:space="preserve">
<value>Togli dal gruppo</value>
</data>
<data name="This persona is in no group yet." xml:space="preserve">
<value>Questa persona non è ancora in nessun gruppo.</value>
</data>
<data name="Who may post" xml:space="preserve">
<value>Chi può pubblicare</value>
</data>
<data name="You joined {0}." xml:space="preserve">
<value>Sei entrato in {0}.</value>
</data>
<data name="You left {0}." xml:space="preserve">
<value>Hai lasciato {0}.</value>
</data>
</root>
+96
View File
@@ -1595,4 +1595,100 @@
<data name="Tentative" xml:space="preserve">
<value>Tentative</value>
</data>
<data name="{0} is out of the group." xml:space="preserve">
<value>{0} is out of the group.</value>
</data>
<data name="{0} made." xml:space="preserve">
<value>{0} made.</value>
</data>
<data name="A community, open to the fediverse (otherwise a private circle)" xml:space="preserve">
<value>A community, open to the fediverse (otherwise a private circle)</value>
</data>
<data name="A new group" xml:space="preserve">
<value>A new group</value>
</data>
<data name="A new invitation code (the old one stops working)" xml:space="preserve">
<value>A new invitation code (the old one stops working)</value>
</data>
<data name="A new invitation password" xml:space="preserve">
<value>A new invitation password</value>
</data>
<data name="Anyone may post" xml:space="preserve">
<value>Anyone may post</value>
</data>
<data name="Approve members from elsewhere by hand" xml:space="preserve">
<value>Approve members from elsewhere by hand</value>
</data>
<data name="asks to join" xml:space="preserve">
<value>asks to join</value>
</data>
<data name="Circle" xml:space="preserve">
<value>Circle</value>
</data>
<data name="Community" xml:space="preserve">
<value>Community</value>
</data>
<data name="Decline" xml:space="preserve">
<value>Decline</value>
</data>
<data name="Description" xml:space="preserve">
<value>Description</value>
</data>
<data name="Invitation code" xml:space="preserve">
<value>Invitation code</value>
</data>
<data name="Invitation password, if it has one" xml:space="preserve">
<value>Invitation password, if it has one</value>
</data>
<data name="Invitation password (optional)" xml:space="preserve">
<value>Invitation password (optional)</value>
</data>
<data name="it asks for a password" xml:space="preserve">
<value>it asks for a password</value>
</data>
<data name="Its followers post" xml:space="preserve">
<value>Its followers post</value>
</data>
<data name="Join by invitation" xml:space="preserve">
<value>Join by invitation</value>
</data>
<data name="Let in" xml:space="preserve">
<value>Let in</value>
</data>
<data name="Listed and found in searches" xml:space="preserve">
<value>Listed and found in searches</value>
</data>
<data name="Make the group" xml:space="preserve">
<value>Make the group</value>
</data>
<data name="Manage" xml:space="preserve">
<value>Manage</value>
</data>
<data name="Only its moderators post" xml:space="preserve">
<value>Only its moderators post</value>
</data>
<data name="owner" xml:space="preserve">
<value>owner</value>
</data>
<data name="Remove the invitation password" xml:space="preserve">
<value>Remove the invitation password</value>
</data>
<data name="Take out" xml:space="preserve">
<value>Take out</value>
</data>
<data name="Take out of the group" xml:space="preserve">
<value>Take out of the group</value>
</data>
<data name="This persona is in no group yet." xml:space="preserve">
<value>This persona is in no group yet.</value>
</data>
<data name="Who may post" xml:space="preserve">
<value>Who may post</value>
</data>
<data name="You joined {0}." xml:space="preserve">
<value>You joined {0}.</value>
</data>
<data name="You left {0}." xml:space="preserve">
<value>You left {0}.</value>
</data>
</root>