RexSystem1 voteoriginally by @haileyscommit on GitHub1 reply
My vision for this was that it would do two things to help with abuse:
Show a subprofiles icon and the main profile picture on the message byline somewhere (in Compact mode, probably just the icon before the profile picture or name, similar to the bot tag).
Show the main profile when you expand a subprofile in the chat, de-emphasized. That way the main profile can be identified when necessary.
Additionally, subprofiles are only cosmetic and wouldn't affect permissions or blocks (you will stay blocked if you use a subprofile). Behind the scenes it would be "just" additional metadata, so the original message author is always there as well (and would still be used for other things like mentions, replies, blocks, and slowmode).
I considered having subprofile use behind a permission, but I think that would end up in communities gatekeeping the feature. So it's better to double up on other abuse prevention methods.
I am also considering taking this on myself... I'm just not confident that the effort would be worth it, if it isn't merged. An initial implementation would be for text, and it would really just cosmetically replace the profile picture and name of the sender with the subprofile's details [name color kept], and show the subprofile's details in the profile card, hinting at the main (system) profile somewhere on it. Future iterations could include VC support (depends on what I can do with VCs), cosmetic roles, or user-set custom name colors (which would be a part of regular profiles as well).
edit: also I thought I'd call it Personas. Subprofiles might be better but it could be confused with server profiles. Not really sure on the name.
I think this is the most reasonable short-term way to implement this and it's not a ton of work. It would essentially make personas/subprofiles purely visual/decorative, only affecting how messages are displayed but not really affecting anything else. Main downside is it'd require both server-side and client-side changes. But for people who have home servers that are only accessed from the web, they could patch in the feature pretty easily even if the mainline repo doesn't take the merge (without requiring users to install any special software).
Because my own homeserver has urgent need of this feature I'm likely to go ahead and implement it in a fork (architected to facilitate easy rebasing). I'll post here when I have it running and maybe then it can be used as a starting point for iterating on an official feature.
As noted in other discussions below the block feature might need extensions to allow particular personas/subprofiles to be blocked without blocking the entire system.
Edit: Another thing I think is important for this design is to have two separate fields for the message, the existing message field for clients that don't support the feature and a new one for clients that do support the feature. This would allow the server to embed system member tags for non-supporting clients directly in the message, so that old clients can tell what's going on, without cluttering up messages in the new client.
Thread
Comment by @haileyscommit
- Show a subprofiles icon and the main profile picture on the message byline somewhere (in Compact mode, probably just the icon before the profile picture or name, similar to the bot tag).
- Show the main profile when you expand a subprofile in the chat, de-emphasized. That way the main profile can be identified when necessary.
Additionally, subprofiles are only cosmetic and wouldn't affect permissions or blocks (you will stay blocked if you use a subprofile). Behind the scenes it would be "just" additional metadata, so the original message author is always there as well (and would still be used for other things like mentions, replies, blocks, and slowmode). I considered having subprofile use behind a permission, but I think that would end up in communities gatekeeping the feature. So it's better to double up on other abuse prevention methods. I am also considering taking this on myself... I'm just not confident that the effort would be worth it, if it isn't merged. An initial implementation would be for text, and it would really just cosmetically replace the profile picture and name of the sender with the subprofile's details [name color kept], and show the subprofile's details in the profile card, hinting at the main (system) profile somewhere on it. Future iterations could include VC support (depends on what I can do with VCs), cosmetic roles, or user-set custom name colors (which would be a part of regular profiles as well). edit: also I thought I'd call it Personas. Subprofiles might be better but it could be confused with server profiles. Not really sure on the name.Comment by @chiaracoetzee