Moderation and user-friendly Per-message Profile Management/Multi-Identity Support

(#1137) Feature Shipped moderation profiles

Problem

There has been notable demand for granular per-message profile management across Fluxer and Discord, built largely off tools like Tupperbox, Octocon and Pluralkit and their kin. As a plural system myself, i obviously benefit from the inclusion of features to accommodate for it. It's also perfectly common in roleplay communities and other areas like that. Additionally, the desire for more granular profile support and the ability to "present" in different ways was proven with per-server profiles when they became standard in Discord (and were, as such, added to this.) A lot of people benefit from this type of ability. I don't see any major reason not to add the additional flexibility. Except... Most people seem hesitant to support something like this due to the history of moderation issues and behavioural jank when interacting with third-party tools like Pluralkit. That's the part i wish to address, and why i've started a separate discussion to another one i had contributed to (https://feedback.fluxer.com/p/947).

Proposed solution

Much like most of these implementations, the end goal is to provide a solution to allow for granular control over the presentation of one's profile on a per-message basis- to be able to send any given message, or multiple, using any of a set of different "identities", consisting of at most, an Avatar, a Display name, and- maybe- a profile description unique from the sender's basic profile. Unlike most implementations, working around the requirement for webhooks and the like, i want to directly address the human-friendliness issues, minimise the behavioural jank of third-party bot solutions, and solve the moderation-annoyance issues- something that should be little issue given the nature of native implementation. My hope is that addressing this from the jump might get some eyes on it that otherwise may have just skipped over it. Given the native implementation, i think most would agree the Author or user ID of the final message should not be different from the sender's original profile in any way. That's a result largely of the Webhook workaround, and largely the source of concerns regarding moderation with respect to Plural-accessible tools. In function, any given message sent under a different identity would be referencing a different set of metadata consisting of the things mentioned above- not unlike Server profiles. In addition, this fact should also mean that blocking users works exactly as normal. After all- changing your display name or avatar doesn't cancel out a block...obviously. In effect, the sudden receiving of messages from "people that werent part of a conversation before" or that have a bot tag attached to them, also causes some fair confusion in conversation with people unaware of the feature. My proposal for that is that anything sent under a separate identity would display the username- NOT display name- of the message author's basic profile, next to their display name in a smaller, faded font ie. the Time Sent marker.

Notes (optional)

In addition to the faded username, it might be worth considering the following; If someone has sent messages in a server under one or more identity in addition to the basic profile, the username could perhaps be displayed above all their messages as per how i suggested. This would likely require some additional discussion, as it might potentially be a risk to systems that don't present in certain spaces, or might otherwise be considered un-friendly to the user utilising the feature. In addition, there's one other question begged, in my opinion, that no one seems to ask... and that's regarding Proxy tags. Proxy tags are a "part" of the message you send, that when sent, will signal the bot to proxy the message under the associated identity. Identity 1 is , for example, Id1:text and Identity 2 is "text", where text would be replaced with the message in question. These have kind of become muscle memory for a lot of users, and i feel they should be replicated in some fashion. However, making them human-friendly and human-readable is a complicated matter that will require more discussion. Consider that below :)

1 comment

Sign in with Fluxer to comment and vote.
Comment by @virtueisdead
RexSystem 1 vote originally by @virtueisdead on GitHub
Strongly in support of this and would really hate to see it go uncommented-on. Both Matrix and Stoat already support this (MSC4144 and masquerade respectively). Webhooks are a really inconvenient solution from a usability and especially a moderation standpoint. I'd definitely recommend looking over the proposal for MSC4144 for reference and inspiration. Sable's implementation of the specification is also a good frame of reference. Either way the "via parentuser" indicator is quite effective. I'm mainly so staunchly in support of this due to the utility that functionality has for moderation-friendly plural accessibility tools (allows for blocking, prevents impersonation, and prevents ban evasion), but it also still makes more sense for bots in my experience as well.