R6 moderation in decePub: users and personas, accounts, report actions, deletions, suspended personas

Administration's Users & personas (administrators): logins searched and opened into their personas and groups; roles,
bans, two-factor reset and deletion of a login; silence, suspension and deletion of a persona; a group deleted. Accounts
(moderators): local personas and remote accounts searched or listed as moderated, silenced and suspended with a staff
note and a warning. Reports resolve with an action. ActDialog asks for the note, the warning or the password and is the
act's confirmation. A login deletes its own persona and the groups it owns with its password. Suspended personas can't
be chosen; one refused a token mid-session moves the session to another, or to none, once. Warnings show in
notifications, limited accounts on their profile, and moderators remove a post from its card.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WpVCoDeM1qUTRp4fXQdfof
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-17 05:41:10 +02:00
1 parent 4c88980374
commit c572471b88
30 files changed
+2604 -67

No files matched your search

+396
View File
@@ -3086,4 +3086,400 @@
<data name="the command line" xml:space="preserve">
<value>the command line</value>
</data>
<data name="A note for the staff (optional)" xml:space="preserve">
<value>A note for the staff (optional)</value>
</data>
<data name="Only the staff read it, in the moderation log." xml:space="preserve">
<value>Only the staff read it, in the moderation log.</value>
</data>
<data name="What the persona is told (optional)" xml:space="preserve">
<value>What the persona is told (optional)</value>
</data>
<data name="It reaches the persona as a warning from this server's staff." xml:space="preserve">
<value>It reaches the persona as a warning from this server's staff.</value>
</data>
<data name="Your password" xml:space="preserve">
<value>Your password</value>
</data>
<data name="A name, user@host or an address" xml:space="preserve">
<value>A name, user@host or an address</value>
</data>
<data name="Search accounts" xml:space="preserve">
<value>Search accounts</value>
</data>
<data name="No account found." xml:space="preserve">
<value>No account found.</value>
</data>
<data name="Silenced and suspended" xml:space="preserve">
<value>Silenced and suspended</value>
</data>
<data name="The accounts could not be read." xml:space="preserve">
<value>The accounts could not be read.</value>
</data>
<data name="No account is silenced or suspended." xml:space="preserve">
<value>No account is silenced or suspended.</value>
</data>
<data name="here" xml:space="preserve">
<value>here</value>
</data>
<data name="its server is silenced" xml:space="preserve">
<value>its server is silenced</value>
</data>
<data name="its server is suspended" xml:space="preserve">
<value>its server is suspended</value>
</data>
<data name="Staff note" xml:space="preserve">
<value>Staff note</value>
</data>
<data name="Silence" xml:space="preserve">
<value>Silence</value>
</data>
<data name="Unsilence" xml:space="preserve">
<value>Unsilence</value>
</data>
<data name="Suspend" xml:space="preserve">
<value>Suspend</value>
</data>
<data name="Unsuspend" xml:space="preserve">
<value>Unsuspend</value>
</data>
<data name="Silence {0}?" xml:space="preserve">
<value>Silence {0}?</value>
</data>
<data name="Unsilence {0}?" xml:space="preserve">
<value>Unsilence {0}?</value>
</data>
<data name="Suspend {0}?" xml:space="preserve">
<value>Suspend {0}?</value>
</data>
<data name="Unsuspend {0}?" xml:space="preserve">
<value>Unsuspend {0}?</value>
</data>
<data name="Its posts stay out of public timelines, hashtags, trends and search; its followers still read them." xml:space="preserve">
<value>Its posts stay out of public timelines, hashtags, trends and search; its followers still read them.</value>
</data>
<data name="The persona can't act or be seen here any more, and its sessions end; nothing new is told to other servers. It reads the warning once the suspension is lifted." xml:space="preserve">
<value>The persona can't act or be seen here any more, and its sessions end; nothing new is told to other servers. It reads the warning once the suspension is lifted.</value>
</data>
<data name="Nothing of it is shown here any more, what it sends is dropped and nothing is delivered to it. Its server is told nothing." xml:space="preserve">
<value>Nothing of it is shown here any more, what it sends is dropped and nothing is delivered to it. Its server is told nothing.</value>
</data>
<data name="Its posts are listed again." xml:space="preserve">
<value>Its posts are listed again.</value>
</data>
<data name="It is given back as it was, but the sessions a suspension ended." xml:space="preserve">
<value>It is given back as it was, but the sessions a suspension ended.</value>
</data>
<data name="{0} is silenced." xml:space="preserve">
<value>{0} is silenced.</value>
</data>
<data name="{0} is no longer silenced." xml:space="preserve">
<value>{0} is no longer silenced.</value>
</data>
<data name="{0} is suspended." xml:space="preserve">
<value>{0} is suspended.</value>
</data>
<data name="{0} is no longer suspended." xml:space="preserve">
<value>{0} is no longer suspended.</value>
</data>
<data name="A login's name, or one of its personas'" xml:space="preserve">
<value>A login's name, or one of its personas'</value>
</data>
<data name="Search logins" xml:space="preserve">
<value>Search logins</value>
</data>
<data name="The logins could not be read." xml:space="preserve">
<value>The logins could not be read.</value>
</data>
<data name="No login found." xml:space="preserve">
<value>No login found.</value>
</data>
<data name="you" xml:space="preserve">
<value>you</value>
</data>
<data name="banned" xml:space="preserve">
<value>banned</value>
</data>
<data name="two-factor" xml:space="preserve">
<value>two-factor</value>
</data>
<data name="no email address" xml:space="preserve">
<value>no email address</value>
</data>
<data name="email verified" xml:space="preserve">
<value>email verified</value>
</data>
<data name="email not verified" xml:space="preserve">
<value>email not verified</value>
</data>
<data name="Personas: {0}" xml:space="preserve">
<value>Personas: {0}</value>
</data>
<data name="Role" xml:space="preserve">
<value>Role</value>
</data>
<data name="Unban" xml:space="preserve">
<value>Unban</value>
</data>
<data name="Ban" xml:space="preserve">
<value>Ban</value>
</data>
<data name="Reset two-factor" xml:space="preserve">
<value>Reset two-factor</value>
</data>
<data name="Delete the login" xml:space="preserve">
<value>Delete the login</value>
</data>
<data name="This login has no persona." xml:space="preserve">
<value>This login has no persona.</value>
</data>
<data name="Delete the group" xml:space="preserve">
<value>Delete the group</value>
</data>
<data name="administrator" xml:space="preserve">
<value>administrator</value>
</data>
<data name="moderator" xml:space="preserve">
<value>moderator</value>
</data>
<data name="user" xml:space="preserve">
<value>user</value>
</data>
<data name="Make {0} an administrator?" xml:space="preserve">
<value>Make {0} an administrator?</value>
</data>
<data name="Administrators do everything moderators do, and change logins, the server's settings, its relays and its backups." xml:space="preserve">
<value>Administrators do everything moderators do, and change logins, the server's settings, its relays and its backups.</value>
</data>
<data name="Make {0} a moderator?" xml:space="preserve">
<value>Make {0} a moderator?</value>
</data>
<data name="Moderators handle reports, silence and suspend accounts and remove posts; never logins or the server's settings." xml:space="preserve">
<value>Moderators handle reports, silence and suspend accounts and remove posts; never logins or the server's settings.</value>
</data>
<data name="Make {0} a user?" xml:space="preserve">
<value>Make {0} a user?</value>
</data>
<data name="It keeps its personas, and loses what the staff do." xml:space="preserve">
<value>It keeps its personas, and loses what the staff do.</value>
</data>
<data name="Change the role" xml:space="preserve">
<value>Change the role</value>
</data>
<data name="{0} is now {1}." xml:space="preserve">
<value>{0} is now {1}.</value>
</data>
<data name="Ban {0}?" xml:space="preserve">
<value>Ban {0}?</value>
</data>
<data name="Its sessions end and its personas are held back as suspended ones, without a word written on any of them. It can be lifted." xml:space="preserve">
<value>Its sessions end and its personas are held back as suspended ones, without a word written on any of them. It can be lifted.</value>
</data>
<data name="{0} is banned." xml:space="preserve">
<value>{0} is banned.</value>
</data>
<data name="Lift {0}'s ban?" xml:space="preserve">
<value>Lift {0}'s ban?</value>
</data>
<data name="Its personas are given back as they were." xml:space="preserve">
<value>Its personas are given back as they were.</value>
</data>
<data name="{0} is no longer banned." xml:space="preserve">
<value>{0} is no longer banned.</value>
</data>
<data name="Turn off {0}'s two-factor sign-in?" xml:space="preserve">
<value>Turn off {0}'s two-factor sign-in?</value>
</data>
<data name="For a login that lost its authenticator app and its recovery codes: its password and its sessions stay." xml:space="preserve">
<value>For a login that lost its authenticator app and its recovery codes: its password and its sessions stay.</value>
</data>
<data name="{0} signs in with its password alone now." xml:space="preserve">
<value>{0} signs in with its password alone now.</value>
</data>
<data name="Delete {0}?" xml:space="preserve">
<value>Delete {0}?</value>
</data>
<data name="Every persona of it goes with it, and everything public they had, here and on the servers that hold it. Its names stay taken. It cannot be undone." xml:space="preserve">
<value>Every persona of it goes with it, and everything public they had, here and on the servers that hold it. Its names stay taken. It cannot be undone.</value>
</data>
<data name="{0} is deleted." xml:space="preserve">
<value>{0} is deleted.</value>
</data>
<data name="Delete the group {0}?" xml:space="preserve">
<value>Delete the group {0}?</value>
</data>
<data name="Everything public it had goes, here and on the servers that hold it, and the {0} groups it owns with it. Its name stays taken. It cannot be undone." xml:space="preserve">
<value>Everything public it had goes, here and on the servers that hold it, and the {0} groups it owns with it. Its name stays taken. It cannot be undone.</value>
</data>
<data name="Its members and followers are told, and its name stays taken. It cannot be undone." xml:space="preserve">
<value>Its members and followers are told, and its name stays taken. It cannot be undone.</value>
</data>
<data name="Resolve and…" xml:space="preserve">
<value>Resolve and…</value>
</data>
<data name="Resolve only" xml:space="preserve">
<value>Resolve only</value>
</data>
<data name="Silence the account" xml:space="preserve">
<value>Silence the account</value>
</data>
<data name="Suspend the account" xml:space="preserve">
<value>Suspend the account</value>
</data>
<data name="Remove the reported posts" xml:space="preserve">
<value>Remove the reported posts</value>
</data>
<data name="Only a persona here is told; an account elsewhere is told nothing." xml:space="preserve">
<value>Only a persona here is told; an account elsewhere is told nothing.</value>
</data>
<data name="The account was silenced." xml:space="preserve">
<value>The account was silenced.</value>
</data>
<data name="The account was suspended." xml:space="preserve">
<value>The account was suspended.</value>
</data>
<data name="The reported posts were removed." xml:space="preserve">
<value>The reported posts were removed.</value>
</data>
<data name="Resolved without an act." xml:space="preserve">
<value>Resolved without an act.</value>
</data>
<data name="Resolve it and silence the account?" xml:space="preserve">
<value>Resolve it and silence the account?</value>
</data>
<data name="Resolve it and suspend the account?" xml:space="preserve">
<value>Resolve it and suspend the account?</value>
</data>
<data name="Resolve it and remove the reported posts?" xml:space="preserve">
<value>Resolve it and remove the reported posts?</value>
</data>
<data name="Resolve the report?" xml:space="preserve">
<value>Resolve the report?</value>
</data>
<data name="Nothing of it is shown here any more and it can't act; nothing new is told to other servers. It can be lifted later." xml:space="preserve">
<value>Nothing of it is shown here any more and it can't act; nothing new is told to other servers. It can be lifted later.</value>
</data>
<data name="A post written here is deleted as its author would delete it; a copy of one from elsewhere is hidden here." xml:space="preserve">
<value>A post written here is deleted as its author would delete it; a copy of one from elsewhere is hidden here.</value>
</data>
<data name="Nothing is done to the account or its posts." xml:space="preserve">
<value>Nothing is done to the account or its posts.</value>
</data>
<data name="Remove the posts" xml:space="preserve">
<value>Remove the posts</value>
</data>
<data name="Login's role changed" xml:space="preserve">
<value>Login's role changed</value>
</data>
<data name="Login banned" xml:space="preserve">
<value>Login banned</value>
</data>
<data name="Login's ban lifted" xml:space="preserve">
<value>Login's ban lifted</value>
</data>
<data name="Account silenced" xml:space="preserve">
<value>Account silenced</value>
</data>
<data name="Account no longer silenced" xml:space="preserve">
<value>Account no longer silenced</value>
</data>
<data name="Account suspended" xml:space="preserve">
<value>Account suspended</value>
</data>
<data name="Account no longer suspended" xml:space="preserve">
<value>Account no longer suspended</value>
</data>
<data name="Persona deleted" xml:space="preserve">
<value>Persona deleted</value>
</data>
<data name="Group deleted" xml:space="preserve">
<value>Group deleted</value>
</data>
<data name="Post removed" xml:space="preserve">
<value>Post removed</value>
</data>
<data name="This login has no persona to act as yet: make one below." xml:space="preserve">
<value>This login has no persona to act as yet: make one below.</value>
</data>
<data name="Suspended by this server's staff: it can't act until that is lifted." xml:space="preserve">
<value>Suspended by this server's staff: it can't act until that is lifted.</value>
</data>
<data name="Silenced by this server's staff: its posts stay out of public timelines, trends and search." xml:space="preserve">
<value>Silenced by this server's staff: its posts stay out of public timelines, trends and search.</value>
</data>
<data name="Delete this persona" xml:space="preserve">
<value>Delete this persona</value>
</data>
<data name="Everything public it had goes, here and on the servers that hold it, with the groups it owns. Its name stays taken. It cannot be undone." xml:space="preserve">
<value>Everything public it had goes, here and on the servers that hold it, with the groups it owns. Its name stays taken. It cannot be undone.</value>
</data>
<data name="Deleting the group tells its members, and its name stays taken." xml:space="preserve">
<value>Deleting the group tells its members, and its name stays taken.</value>
</data>
<data name="Every persona of this login is suspended by this server's staff. Settings can still make a new one." xml:space="preserve">
<value>Every persona of this login is suspended by this server's staff. Settings can still make a new one.</value>
</data>
<data name="It is about {0} of your posts." xml:space="preserve">
<value>It is about {0} of your posts.</value>
</data>
<data name="Remove post (moderation)" xml:space="preserve">
<value>Remove post (moderation)</value>
</data>
<data name="Remove this post as a moderator?" xml:space="preserve">
<value>Remove this post as a moderator?</value>
</data>
<data name="Remove the post" xml:space="preserve">
<value>Remove the post</value>
</data>
<data name="Post removed." xml:space="preserve">
<value>Post removed.</value>
</data>
<data name="This persona is silenced: its posts stay out of public timelines, hashtags, trends and search." xml:space="preserve">
<value>This persona is silenced: its posts stay out of public timelines, hashtags, trends and search.</value>
</data>
<data name="This persona was suspended." xml:space="preserve">
<value>This persona was suspended.</value>
</data>
<data name="A post of yours was removed." xml:space="preserve">
<value>A post of yours was removed.</value>
</data>
<data name="Your media were marked as sensitive." xml:space="preserve">
<value>Your media were marked as sensitive.</value>
</data>
<data name="This login was disabled." xml:space="preserve">
<value>This login was disabled.</value>
</data>
<data name="A warning from this server's staff." xml:space="preserve">
<value>A warning from this server's staff.</value>
</data>
<data name="This server's staff warned you" xml:space="preserve">
<value>This server's staff warned you</value>
</data>
<data name="This server's staff limited it: its posts stay out of public timelines, trends and search." xml:space="preserve">
<value>This server's staff limited it: its posts stay out of public timelines, trends and search.</value>
</data>
<data name="Users &amp; personas" xml:space="preserve">
<value>Users &amp; personas</value>
</data>
<data name="{0} is suspended by this server's staff, and no other persona of this login can act now." xml:space="preserve">
<value>{0} is suspended by this server's staff, and no other persona of this login can act now.</value>
</data>
<data name="{0} is suspended by this server's staff: you now act as {1}." xml:space="preserve">
<value>{0} is suspended by this server's staff: you now act as {1}.</value>
</data>
<data name="{0} is suspended by this server's staff." xml:space="preserve">
<value>{0} is suspended by this server's staff.</value>
</data>
<data name="{0} can no longer be used, and no other persona of this login can act now." xml:space="preserve">
<value>{0} can no longer be used, and no other persona of this login can act now.</value>
</data>
<data name="{0} can no longer be used: you now act as {1}." xml:space="preserve">
<value>{0} can no longer be used: you now act as {1}.</value>
</data>
<data name="This persona can't act now: the server's staff may have suspended it." xml:space="preserve">
<value>This persona can't act now: the server's staff may have suspended it.</value>
</data>
<data name="Delete for good" xml:space="preserve">
<value>Delete for good</value>
</data>
</root>