Plural accessibility in voice and text

(#947) Feature Under consideration accessibility profiles

Problem

Hi! I'm a plural system, and my community is predominantly made up of plural systems. Basically, in this kind of identity, multiple people inhabit the same body. Currently, my community uses a Discord bot called PluralKit to reflect which "alter" is currently speaking. I'm interested in hosting a server for my community, but it'd be very difficult to convince them to switch to a new platform without accessibility functionality for them.

Proposed solution

Each account gets to send messages from one of multiple identities, complete with a different profile picture and name associated with the message. An additional feature that would help is what other platforms call "voice statuses," basically an emoji (paired with a text string that appears on hover) to the right of your account name that shows up in a voice call you're in. These features would allow for plural people to reflect their identities in casual conversation, making it easier to communicate between people with and without them.

Notes (optional)

If implemented improperly, this can be an easily abused feature. I think that the "voice status" feature is a model for how it can be implemented in a way that's transparent to users that may be scammed otherwise, as it allows users to see the account that is speaking at the same time as their identity. I think this could be replicated in text, either by showing the account name on hover, or by showing the identity the message was posted from as a second icon near their account name. Ideally the account name is de-emphasized in favor of the current identity name, though.

83 comments

Sign in with Fluxer to comment and vote.
Comment by @lucastheguyy
RexSystem 1 vote originally by @lucastheguyy on GitHub
I believe there are some people already interested on porting PluralKit (infact its lirtterally the first thing i saw about bots being discussed lol) but native support could work better since it doesnt rely on community owners manually adding the bot and also more proper vc support (didnt think vc statuses on discord had actual uses like that! seemed like a pointless feature in my eyes)
Comment by @Beethoven-n
RexSystem 1 vote originally by @Beethoven-n on GitHub OP
Oh, my community uses voice statuses all the time for exactly this reason.
Comment by @Perisys1312
RexSystem 1 vote originally by @Perisys1312 on GitHub
As a system, we personally think a feature like this would come with too many issues if implemented natively, but I think voice statuses would be great to have. Here's hoping we can get a pluralkit equivalent on the platform soon.
Comment by @AstralPhnx
RexSystem 1 vote originally by @AstralPhnx on GitHub
Yes I saw this discussed yesterday on Fluxer and one of the main things they wanted to address was fixing some of the core issues that Pluralkit has on discord (namely how PK entirely breaks blocking on discord which for me has been a key reason why I don't use it on personal discord servers because I see breaking a core feature like that as a hard blocker) Still, people are clearly looking into it and hopefully it will be able to avoid the pitfalls of PK on discord and being implemented at a lower level but this would require further discussion in how it would be implemented (in particular I want to see discussion about how blocking would be handled because core safety features have to remain functional with this kind of thing)
Comment by @monty58
RexSystem 1 vote originally by @monty58 on GitHub
The idea I've landed on while thinking about how to build this in to the platform is to expand on the per-server profiles to have them be dynamically swapped between. My thoughts on what requirements to consider and plan out for implementation so far are
  • UI for swapping profiles
  • a server setting to enable/disable it
  • some sort of tag beside a profile name to make it clear what account is communicating. Possibly toggleable client side
  • consideration for some sort of Plutonium limitation
  • how best to include a profile selection in a message.
I'm sure I'll remember more later. I figure we can get a design doc sketched out, then once the refactor is public, and things have calmed down a little, we can pitch the idea to Hampus, and if he says yes to any of it, then start working on actually building it
Comment by @Beethoven-n
RexSystem 1 vote originally by @Beethoven-n on GitHub OP
i would prefer not to have to pay for an accessibility feature
Comment by @monty58
RexSystem 1 vote originally by @monty58 on GitHub
If fully integrated, it wouldn't solely be an accessibility feature. My thinking is for the bare minimum implementation it'd be just name, pronouns, and profile picture. basically what the per-community one is now with profile picture added, and a limited number of global profiles. Enough that anyone who needs it for accessibility would manage fine, but anyone using it for something more complicated, like a TTRPG campaign or something, would be somewhat limited. another option would be to limit the file size of secondary profile pictures for the free implementation. Mostly I want to limit the amount of stuff a free user can upload, and the amount of storage bloat that'll be added
Comment by @Beethoven-n
RexSystem 1 vote originally by @Beethoven-n on GitHub OP
some people have like 40 headmates, the limits would have to be pretty generous
Comment by @Perisys1312
RexSystem 1 vote originally by @Perisys1312 on GitHub
some people have like 40 headmates, the limits would have to be pretty generous
I got ~70, so... I'm fine with some rather than none? But at that point I'd be waiting for a pluralkit equivalent instead.
Comment by @SaphireLattice
RexSystem 1 vote originally by @SaphireLattice on GitHub 5 replies
From what I'm aware of, biggest pain point for PluralKit is that blocking people doesn't really work. So either a system for establishing "this bot message was caused by this used" could be helpful, or integrated multi-profile stuff. Ideally any implementation should provide privacy control, as to not announce to the whole world that someone is plural, unless they use the feature in a given community. As well as allowing to limit which community can see which profile, which would help a lot for queer people in general, and others. Though something to keep in mind is abuse potential, so making sure blocking and moderation tools are natively integrated is a good thing to do.
Comment by @Beethoven-n
RexSystem 1 vote originally by @Beethoven-n on GitHub OP
doing it exactly as pluralkit does is a bit of a naive approach, for a few reasons:
  • again, blocking doesn't work
  • users are not required to display their account name when proxying
  • because messages are sent twice (once through the account, once through the proxy,) pings are sent twice, even everyone pings
Comment by @monty58
RexSystem 1 vote originally by @monty58 on GitHub
Considering the lack of subtlety with the current solutions, I don't think obfuscating the root user is a super high priority. We'd probably be better off making the feature useful and intuitive enough that that it's used for more use cases, preventing one from being the default go to assumption. I could see it being useful for large community server staff using it to switch between chatting as a user and chatting as a staff member for example.
Comment by @monty58
RexSystem 1 vote originally by @monty58 on GitHub
As for visibility, presumably the root profile that's displayed would be the per-server profile, with the proxy profiles linking back to that and not being retrievable aside from when used in a chat. If each proxy has a randomized UUID that you have to know to request them, then anyone trying to request the details would have to already know it, and if someone's following you around trying to expose that, it would fall under the rules umbrella of someone following you around and harrasing you, which already have it's own solutions
Comment by @SaphireLattice
RexSystem 1 vote originally by @SaphireLattice on GitHub
Oh I meant restricting access to proxies, not the root account. That should be overall always visible. It's the existing of any proxies at all, and access to the list of them, that should have privacy controls
Comment by @monty58
RexSystem 1 vote originally by @monty58 on GitHub
Yeah, like I said, make it common enough to not be weird to see, and make them not provided my the server unless you request a specific UUID for the proxy. Sure theoretically someone could brute force find it to pull it, or share the ID around for other people to pull it, but someone putting the resources in to do that is already harrassment, and this is not a high damage thing for them to be doing.
Comment by @AmilieDev
RexSystem 1 vote originally by @AmilieDev on GitHub 3 replies
What would moderation look like on this? Because the accessibility is great don't get me wrong - but it can rapidly become a moderation nightmare if not taken into account to, especially letting it be a basically open feature to make multiple profiles.
Comment by @lucastheguyy
RexSystem 1 vote originally by @lucastheguyy on GitHub
its not hard to make it so opening the user's profile shows the root account no?
Comment by @Beethoven-n
RexSystem 1 vote originally by @Beethoven-n on GitHub OP
check the notes section for a starting point
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
It's mostly a moderation nightmare in its implementation with most bots regarding webhooks. Having the message author remain the same, but having additional metadata for the sub-profile would mean blocks would work as is, and there wouldn't be any messing with things like User searching, Mass message deletion on bans, and other things like that. Functionally more than anything it'd just behave like a set of Per-server Profiles that just replace the display metadata on the fly. Per-server profiles aren't an issue, so i don't see why this would be.
Comment by @Speykious
RexSystem 1 vote originally by @Speykious on GitHub
They could be called "subprofiles" even. And apart from accessibility it could also double as a QOL feature for roleplaying.
Comment by @haileyscommit
RexSystem 1 vote originally by @haileyscommit on GitHub 13 replies
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.
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
This is roughly the implementation i think works best. Pretty much echoed completely by my own response, save for my inclusion of being able to send one message under multiple Personas. I don't see a reason that it wouldn't be merged, assuming your implementation was functional and human-friendly. It's an accessibility feature at heart, and your implementation takes a majority of the actual issues into account- as such i think it would be pretty dogwater to not merge it. I'd be willing to provide additional UX feedback, if you do end up working on this, for whatever that's worth.
Comment by @haileyscommit
RexSystem 1 vote originally by @haileyscommit on GitHub
As far as the message metadata for it goes, I think I'd store an ID (referencing the subprofile) and the "short name" of the persona/subprofile along with the message [I do have to look into how webhooks and existing messages handle authorship metadata and reflect that behavior], and use the short name for a fallback message signature for clients that don't support the feature (i.e. older clients). In light of the "multiple contributors" suggestion, the shortname used for a message would account for the "other contributors". Plus, the shortname thing means that even if the subprofile/persona is deleted, the name, at least, can remain. I'll add the profile picture link to the message metadata too if webhooks do it (possibly reuse the field it uses?). It's something to look into when I can actually start working on it (once the codebase stabilizes and PRs are opened; or if hampus greenlights me sooner somehow). The rest of the profile metadata will be offloaded and only requested when the profile itself is looked up (i.e. clicking the profile picture). edit: something I've also considered for the feature is allowing bots to set an endpoint clients can call to get subprofile information. In particular, this could be helpful to support bridges, so that full profile information can be lazy-loaded, and that it won't have to pretend that every user using the bridge is a bot. Bots could therefore have unlimited subprofiles, even on the main instance, because the main instance isn't hosting them. (Otherwise, bots can't have subprofiles at all; yes this is related to limits.) I do want to have a way for users to be able to bypass the limit by using a bot but I haven't figured out how that would work yet.
Comment by @chiaracoetzee
RexSystem 1 vote originally by @chiaracoetzee on GitHub
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.
Comment by @Hate9
RexSystem 1 vote originally by @Hate9 on GitHub
You should definitely consider at least PRing this if you implement it for your own server+client.
Comment by @chiaracoetzee
RexSystem 1 vote edited originally by @chiaracoetzee on GitHub
@Hate9 I definitely will, although preparing for PR submission and responding to PR comments may take some extra time.
Comment by @AspectBox
RexSystem 1 vote edited originally by @AspectBox on GitHub
Hello @haileyscommit @chiaracoetzee, I was wondering if either of you had started on making your own implementations intended for a PR or even just for your own client? I have also been considering the possibility of attempting to implement the persona's idea as well.
Comment by @haileyscommit
RexSystem 1 vote edited originally by @haileyscommit on GitHub
Hello @haileyscommit @chiaracoetzee, I was wondering if either of you had started on making your own implementations intended for a PR or even just for your own client? I have also been considering the possibility of attempting to implement the persona's idea as well.
I've been basically waiting for Hampus's okay on it. Also PRs are locked now so I wouldn't be able to contribute it anyway. edited to clarify: I haven't personally, directly asked Hampus because they've said they don't want unsolicited DMs 🙃
Comment by @AspectBox
RexSystem 1 vote originally by @AspectBox on GitHub
I've been basically waiting for Hampus's okay on it. Also PRs are locked now so I wouldn't be able to contribute it anyway. edited to clarify: I haven't personally, directly asked Hampus because they've said they don't want unsolicited DMs 🙃
I see, assuming I'm not misunderstanding you and by 'waiting' you meant you havent done much on it, would you be open to collaborating on this? I've mainly been waiting for the new refactor since poor hampus has enough on his hands right now, but I was going to begin studying the repo soon.
Comment by @chiaracoetzee
RexSystem 1 vote edited originally by @chiaracoetzee on GitHub
@AspectBox As of today I have a rough prototype of @haileyscommit's design above which I've published in a fork feature branch here: https://github.com/chiaracoetzee/fluxer-subprofiles/tree/features/subprofiles Only did web/desktop clients so far, not mobile. I've spent maybe 1 day on it so far but it seems to work well for our purposes on our home server. It supports both a pop-up subprofile selector and also PluralKit-style text prefixes for power users, as well as an importer that can import profiles from a PluralKit json export dump. Supports name, avatar, prefix, color. Supports three autoproxy modes, off, Manual (you select which subprofile is autoproxied), and Last Used (like PluralKit latched, autoproxy sticks to last used subprofile). Here are some screenshots. Tested reactions, replies, editing messages to change prefix, among other edge cases. Tested it with a large imported system with 60+ members. Let me know if any questions. Right now if you click on a subprofile avatar you just get the profile card for the owner account but I'll fix that up later. I deliberately organized my changes to make it easy to take rebases from upstream since I wasn't necessarily expecting to merge a PR back to fluxer any time soon. Should hopefully make it a bit less messy to construct a PR as well. image image image image
  • 647615036-bab2621a-df3a-4288-a90b-09821a2a56ad.png

    647615036-bab2621a-df3a-4288-a90b-09821a2a56ad.png

    583×497 | 49 kB

  • 647621454-0b6ae11b-2a63-48c6-aebc-2932475231c0.png

    647621454-0b6ae11b-2a63-48c6-aebc-2932475231c0.png

    631×502 | 59 kB

  • 647615635-b57b5ff3-4448-4379-8d16-50b399174443.png

    647615635-b57b5ff3-4448-4379-8d16-50b399174443.png

    586×748 | 80 kB

  • 647615869-c80b3985-4d5e-45dd-89bf-807d89a0253a.png

    647615869-c80b3985-4d5e-45dd-89bf-807d89a0253a.png

    1603×1119 | 181 kB

Comment by @haileyscommit
RexSystem 1 vote edited originally by @haileyscommit on GitHub
Hey @chiaracoetzee, this is awesome! Do you mind if I add you on Fluxer or Discord to collaborate a bit closer on this (in other words, can I send you git-bundles and ask stupid questions)? FWIW, I got this running in a local dev-container, and I might tackle a few of the missing and broken(-ish) things I've noticed, if that's okay with you.
Comment by @chiaracoetzee
RexSystem 1 vote edited originally by @chiaracoetzee on GitHub
@haileyscommit Please feel free! I invited you as collaborator so you can push directly to same repo. Feel free also to add me on Discord at username chiarastellata (I'm not fully set up to use Fluxer routinely yet). I'll check in after work. Thank you for your help. :)
Comment by @AspectBox
RexSystem 1 vote edited originally by @AspectBox on GitHub
This so cool!! I would also love to help test and hopefully make some contributions as well if you are open to it @chiaracoetzee?
Comment by @nagaconnie
RexSystem 1 vote originally by @nagaconnie on GitHub 1 reply
Plural myself and a ton of my friends are, and we all used Pluralkit before, but frankly, I've grown to really dislike how Pluralkit works for many of the reasons described in this thread. On top of those, it looks like garbage to have a text chat shunting itself up and down as PK deletes and re-posts messages. And it breaks replying, as well! If whatever ends up being done has these same issues as Pluralkit does, I won't be adding it to my communities, that's for sure.
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
I don't see any reason to believe a native implementation would have the same issue. I think the prevailing opinion seems to be that the message author remains the same and the changed profile is functionally just additional metadata. As a result it'd be sending under one account, which means none of the fuckery involving Webhooks replacing the original message. Additionally, it'd mean blocks and whatnot remain functional.
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub 2 replies
I'd actually like to refer to a Discussion under Stoat's git for a few reasons: https://github.com/orgs/stoatchat/discussions/76 One, on the topic of use for plural communities, i actually think the option to basically include multiple Profiles as senders of the same message is a critical quality of life feature. It's incredibly common for systems using Pluralkit, Tupperbox, etc. to have proxies dedicated to sending a message when they're kind of unsure of the active fronter, or when multiple members are active in a discussion and have the same thing to contribute collectively. I'd also like to point to this discussion because of the ways it specifically targets transparency of the host account the messages are being sent through. It's a major concern that people have when it comes to moderation, after all. Additionally, i think an implementation not unlike this, where the original account is inextricably linked with the sent message, also likely solves the issue of being unable to block users. As a result of this design, it'd be sensible that blocking the host account would block all messages from it. I don't think this is an accessibility issue, i think it stands to reason most users would not have a reason to block specific system members/profiles whilst not blocking the host account, and this sentiment has largely been echoed by others i've been around.
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
The only thing is that multiple personas used at once comes with a bit of UX baggage, ie: what persona is prioritized for display name & avatar, what methods of displaying all senders is available, and the like. Thinking maybe clicking/tapping the PFP opens a pull-up menu with the senders of the message, as well as the author account at the top. Display priority is given to the first persona enabled, with a +1/2/3, whatever number appended, etc etc. It's a bit of a niche case, but i think if we're going to be considering native implementation for the sake of accessibility, as one of the first platforms doing it, it's the kind of thing that i think should be considered
Comment by @haileyscommit
RexSystem 1 vote originally by @haileyscommit on GitHub
I'm thinking about having a different metadata field for the "other" contributing personas/subprofiles, so that the first one can be looked up and used for the nickname/avatar, with an indicator that there are more somewhere (and if there are two, perhaps both names will be shown, if possible; this gets weird at 3 or more). This would be a later extension of the feature, though, so that the feature can exist first.
Comment by @coldreindeer
RexSystem 1 vote originally by @coldreindeer on GitHub 1 reply
Sounds like you want to be able to create multiple display profiles which can be switched between easily. Not impossible to add I think but then you come down to people who would use smth like that to try to make it more difficult for mods to moderate. Discord has a per server profile system for nitro users so I'm imagining similar system being done but instead of per server it would be switching between a chosen displayed profile.
Comment by @Hate9
RexSystem 1 vote originally by @Hate9 on GitHub
Fluxer also has that feature, so it's pretty easy to build something similar for this
Comment by @Enovale
RexSystem 1 vote originally by @Enovale on GitHub 9 replies
I discussed a feature like this many months ago with Hampus, and a few days ago as a checkup, he believes is very much feasible in the current implementation of V2. I was writing up a github discussion of my own before I found this one. Y'all have already come up with most of the same ideas as my solution, but for conciseness let me send my proposal comment here:

Problem

Users across all messaging apps, very prominently Discord, would like to be perceived and referred to by a different identity, avatar, pronouns, among other identifiers in certain contexts, without resorting to elaborate solutions like alt accounts. Users may want to do this for many reasons, but just to name a few:
  • Plural systems and/or people with DID wanting to associate a certain alter with sent messages
  • Users who want to be seen a specific way among certain people, such as close friends, professional colleagues, or family
  • Users role-playing as characters, for example in Tabletop Game communities
Platforms like Discord, Matrix, and Signal provide no native solution to this problem. However Discord users have come up with an interim solution, via bots utilizing Discord's webhook infrastructure. Typically users type in phrases that tell the bot to replace their next message with a webhook message styled after their chosen name and avatar, containing the original message content. I will refer to bot-produced messages pretending to be a user's given identity as "webhook messages" for simplicity, though note that Matrix bridge bots implement this behaviour with real accounts, though most of the same restrictions apply. I would like to address some problems with this solution:
  • Webhook messages cannot contain any extra profile info past their name and avatar. This allows very limited customization.
  • These messages also do not link back to the user account that sent the message, or even the bot that initiated the webhook. This means users reading the message cannot find the user's account to friend them, privately message them, or even know what bot is allowing the users to send the webhook messages.
    • You cannot meaningfully ping the characters identified by these webhook messages, you must ping the user that sent them, which can be confusing when reading message history.
    • You cannot block the users sending these messages, which is awful for user safety.
  • On Discord, webhook messages also have been bugged for years, not allowing user flyouts to function properly, regardless of if webhooks could contain more rich account data. They typically show the wrong avatar or wrong name.
  • These webhook messages are indistinguishable from any other webhook message, such as RSS feeds or github logs
    • This means that all messages are tagged with a "BOT" or "Webhook" tag, which is confusing to users and also incorrect in a manner of speaking.
    • Additionally, most moderation bots that aim to log message deletions or edits see this "replacement" as a deletion, and a new message and cannot trace back the original cause. Many current Discord moderation bots have to ping PluralKit's API to check if a webhook message is a PluralKit message and omit it from logs, which is fragile and prone to abuse.
  • Most implementations are cumbersome to add new characters to, due to the nature of bots. Some may use web control panels which helps, but it's a third party website one must visit to change their look within a chat app, which isn't ideal.

Proposal

I propose a feature I will refer to as Personas (though this is not meant to limit what it may be eventually labeled as in the Fluxer platform). This concept is malleable so consider the design I'm about to lay out a draft: Users are able to go into their profile customization settings, and using a similar system as is already implemented for Community Profiles, users can add a (hypothetically) arbitrary amount of Personas. These Personas inherit the global profile's details by default, like the Community Profiles do, and allow overriding all the profile data that you can customize in the global profile. The difference between Personas and Community Profiles is that Personas can be selected to be used for any given message at any time, and ideally can also be used during calls, streams, the current Persona is shown in the member list, etc. Perhaps a dropdown menu is available in the bottom left next to the rest of the user popout options like status and account switching. Just like Community Profiles, the original global account these Personas link should be obvious and easily retrievable by observing users. Perhaps in the member list there is a small cutout of the global user's avatar if it differs from the Persona. There is a button in the 3-dot menu of a Persona's popout to see the Global Profile, etc. But whenever possible, the Persona's information is the first and most prominent information the user sees. Certain exceptions may of course be made, audit logs should not be confusing when Personas are involved in actions, if Personas are visible in the member list perhaps they continue to be sorted by their global profile name, otherwise a user could cause rapid shifting in the member list. But these should be done only when necessary. The goal especially is for Plural Users or Users who want to only express themselves a certain way in certain communities to feel truly expressed in every aspect Fluxer can reasonably aim to provide (Not to sound too grandiose!). Back before Fluxer blew up, I chatted with Hampus about this feature, to discuss possible avenues for implementation, though this was before V2. Additionally, Hampus suggested all device's selected personas be pooled into an array of IDs in the presence object that could be used to show multiple personas as Online, if such a feature were to be implemented.

Notes

I made it clear that an intended use case would be people using specific personas with specific people, which, if taken to it's logical extreme, could include vulnerable people using Personas that could make them unsafe if seen by the wrong people. Should Personas be publicly viewable/indexable? If not, how would we even prevent it? Ideally I want this system to be usable by bots as well. If the community around Fluxer decides the current system is inadequate, at least ports of PluralKit's idea could use the Personas system to get around many, but not all of the aforementioned limitations. Would blocking individual personas be a desirable feature? ----- I'd also like to note for the purposes of this discussion, I am not a system, I don't even do tabletop roleplay often, I just look at the system such users are stuck with on Discord and get sad.
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
Interesting to see there's some level of approval that the idea is feasible, from Hampus himself. Just needs to be someone to develop the feature. I really like the inclusion of the idea of different Personas appearing in the member list- that's a thought i hadn't even considered coming from the angle of caring mostly about messages being sent. As a system it's a thought i appreciate a lot, as it functionally means a native "Currently fronting" list or indicator, which is already an incredibly desired tool for a lot of systems to the extent of entire other platforms existing for it, like SimplyPlural, Octocon or Pluralspace. That said, my main concern is how fitting this in would affect the user general user experience of the app. The way i see it is, the simplest way to include the feature would be in place of the Profile pull-up menu, because it should be no more than one click away from the main screen. But then that pushes those other features around. In addition, the idea of multiple "online" Personas adds a layer of complexity, as you need to integrate a separate workflow for messaging, for selecting which Persona is sending a message out of the various "online" ones. However, that isn't to suggest the idea of multiple "Online" Personas should be abandoned for simplicity's sake- i think for one it'd actually add a lot of value to the feature outside of just the plural community. The Roleplaying front especially would benefit from the indicated presence of varying personas for character presence. Bringing up the idea of multiple online personas cements it as a definite need in my mind, but it does add some workflow complexity. My proposal for the workflow is this;
  • The "Personas" dropdown appears at the top of the member list, separated by a visible seam, and displaying, in order of priority; First activated Persona of all listed, Default Server Profile Avatar/Name, Global profile Avatar/Name.
  • The Personas are treated as Tickboxes, enabling and disabling them in that menu will display them in the Members list as online publicly. (Maybe worth adding Online, Idle, DND, Ignore states too?)
  • The Message box displays the current persona in the left side of it in Avatar/Name form (optionally either or both), defaulting to the first activated persona or the default profile.
  • Additionally (when they're implemented) discord-style parametric slash commands could be used for sending messages instantaneously as a specific persona. Ie;
  • /p:PersonaName/ID [Message]
Done this way, it... would also be theoretically possible to block Personas individually. Which would be nice for quality of life and general usability, though i think there's also an agreement that it's pretty rare to have an excuse to block one Persona/alter and not others. That said, why not do it anyway? Unfortunately, i have very little technical insight to give on the matter, but the UX is incredibly important to Fluxer's popularity and my opinion and i'd love to contribute to a discussion in making a feature like this as smooth as it can be. Concept is definitely a switch-up from the one i sent in the comments a few months ago, but i think the multiple Online personas concept is far more important than sending one message under multiple. Under that context i think this workflow concept works fine, and Slash commands would be more than effective enough for sending one persona's messages at a time. It would be a major muscle memory issue for some (not having the traditional Pluralkit-style proxies), but that can be solved through community bots regardless.
Comment by @Enovale
RexSystem 1 vote originally by @Enovale on GitHub
I completely agree with this. Having the personas listed at the top of the members list is especially smart. especially if for users without extra personas that dropdown could be hidden for simplicity's sake. Also, once the system for switching the active persona is implemented it would be quite easy to add easier ways to switch, e.g. keyboard shortcuts, a recreation of the proxy format, etc. Hampus suggested these shortcuts as well, back then.
Comment by @Enovale
RexSystem 1 vote originally by @Enovale on GitHub
Come to think of it, a nice way to introduce multiple alters as appearing online while keeping the general Discord feel, is if a user has separate online personas that aren't their active one, the member list could show an arrow next to their card that drops down into a list of their online personas, if that makes sense.
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
Glad my contribution was worth something. Nice to see he was open to suggesting things on the UX side. This might actually come to fruition yet. I was worried the interest may not be present globally, but seeing some more granular feedback or interest from Hampus has me super, super hopeful. I'd be able to move all my system friends over so easily with this lmao, ESPECIALLY if it works in DMs!!!!!!! GOING TO DROP THAT NOW, THAT IS A MUST
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
I considered a Dropdown on the user's own card, but unfortunately, the user's own profile isn't always visible in the list at all times. That's why i think it needs a separated list/drop down of its own.
Comment by @monty58
RexSystem 1 vote originally by @monty58 on GitHub
It might also be good to be able to unblock a persona when you have the root account blocked. I could see this for an official sever where you have a staff member blocked but want to see what they post as a tagged staff memeber.
Comment by @coldreindeer
RexSystem 1 vote originally by @coldreindeer on GitHub
For banning all users connected to a/the plural system, perhaps there could be a group all button to remove all plurals associated with each other/ban all type button in the open in mod view screen? That would certainly make it easier for moderators.
Comment by @coldreindeer
RexSystem 1 vote originally by @coldreindeer on GitHub
Just to clarify I mean for per one we/us (not to just outright ban anyone that identifies as a plural system.)
Comment by @Hate9
RexSystem 1 vote edited originally by @Hate9 on GitHub
@coldreindeer It looks like, based on the implementation described here, the default would be to ban the whole user account, and then there might also be the option to ban specific personas rather than the whole account. That also definitely seems like the best option to me.
Comment by @arxari
RexSystem 1 vote originally by @arxari on GitHub 2 replies
Just my two cents but I feel like this would be duplicating guild profiles as it doesn't take long to edit the name profile picture. Also as long as the guild allows it you can rename yourself for free which I think addresses this as it gives you an unpaid solution to distingiush between alters so work on a specific feature would just be duplicating existing work that would likely be more used to bypass plutonium limits than the perceived accessibility improvements it would bring. If a user wants more customization for their alter profile they can do it like they would with plutonium through guild profiles in addition to renaming themselves but functionally for accessibility I don't think there's anything lacking with renaming as it gives a clear distinctor.
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
Unfortunately, it's slower, and cumbersome, and usually an extra click or two from the main display as suggested by some of the proposals here. If server profiles were a viable alternative, tools like Pluralkit/Octocon, and their alternatives on Fluxer, wouldn't exist, and people would use those options because they're native. Additionally, server profiles change past messages too- this kind of problem is intended to bypass that. It's intended to link specific messages/actions with specific sub-profile metadata.
Comment by @chiaracoetzee
RexSystem 1 vote originally by @chiaracoetzee on GitHub
Server profiles as-is don't work for multiple reasons: 1. too many clicks to switch, some systems switch multiple times per minute. 2. when a server profile is changed it affects not only new messages but also how all historical messages from the same account are displayed. For plural systems they need historical messages to be displayed with the name of the member that originally said them even after switching later on.
Comment by @chiaracoetzee
RexSystem 1 vote originally by @chiaracoetzee on GitHub
For people who need a solution that's backwards compatible with existing servers and clients, a pure client-side solution could be implemented where the client is forked, multiple accounts log into the same client (one for each system member), and the client fast-switches between them inside the client using normal PluralKit prefixes and autoproxy. Upon joining a server rather than having all system members join at once (which could trigger abuse filters) they could join on-demand as they get used for the first time. The server would work as usual and singlet observers could use any client. While this is technically feasible it would probably run up against issues with abuse. It wouldn't be possible to block all members of a system at once, it wouldn't be possible to identify that two accounts belong to the same system except through profile descriptions, and if a server has any steps to complete when new members join a server, they'd have to do that for each member which would be painful. Plus member lists in channels would end up sprawling and unorganized for big systems. So I don't think this is necessarily the right long-term approach. But I did want to at least raise it as part of the discussion.
Comment by @arxari
RexSystem 1 vote originally by @arxari on GitHub 3 replies
On top of my previous feedback I believe there is another aspec to consider. There's a reason other than the technical one which is that as per psychiatry, for this source I use the Adult Treatment Guidlines from the ISSTD, I recommend to the lead behind Fluxer to read the "Treatment goals and Outcome" chapter but I will provide an excerpt below.
Integrated Functioning as the Goal of Treatment
Although the DID patient has the subjective experience of having separate
identities, it is important for clinicians to keep in mind that the patient is not a collection of separate people sharing the same body. The DID patient should be seen as a whole adult person, with the identities sharing respon- sibility for daily life. Clinicians working with DID patients generally must hold the whole person (i.e., system of alternate identities) responsible for the behavior of any or all of the constituent identities, even in the presence of amnesia or the sense of lack of control or agency over behavior (see Radden, 1996).
Treatment should move the patient toward better integrated functioning
whenever possible. In the service of gradual integration, the therapist may, at times, acknowledge that the patient experiences the alternate identities as if they were separate. Nevertheless, a fundamental tenet of the psychotherapy of patients with DID is to bring about an increased degree of communication and coordination among the identities. I think this is important because Fluxer should not be encouraging behavior that worsens disorders and mental health issues if it can avoid it. Given that this point was brought up in regards to accessibility for DID/Pluralism I hope that the acknowledged clinical literature can be used to seen the issues with this claim in reality. To summarize it, implementing a feature that promotes the separate identities of alters for the presented reason being accessibility is going against acknowledged psychiatric documentation on treatment of Diassociative Disorders where the treatment goal is integrated functioning. A feature like the one discussed goes against the recommended treatment and worsens the condition of patients. That is something I feel Fluxer should refrain from doing if it can avoid it. The above can be fact checked by any licensed psychiatrist. As well to follow up to the technical points mentioned against my last post, this raises a case against the arguments raised against my point in regards to there being an existing feature that effectively allows the same thing (though not by design) called Community Profiles. There is also the aforementioned UX complications etc. to consider
Comment by @Beethoven-n
RexSystem 1 vote originally by @Beethoven-n on GitHub OP
keep your comments helpful or keep them to yourself. not every plural person is disordered, and "becoming normal" is not the "solution" you think it is for everyone.
Comment by @ashenyuki
RexSystem 1 vote originally by @ashenyuki on GitHub
If you want to have a medicalized aspect to this (to be clear, not all plurality is plural for medicalized reasons. Some are just plural), why are you referencing an outdated resource? The ISSTD guidelines you mention, from what I can find, are from 2011. The DSM-V-TR (released 2022) mentions nothing about integration being a goal. The ICD-11 (released in Feburary of this year, 2026) mentions nothing about integration at all on their page about DID, and it goes out of its way to mention that having multiple personality states is not always indicative of a disorder of any kind. That as a bare minimum indicates that even from a medical perspective, plurality can be a normal (and for many people, while still a minority of the population, it is a normal). For some plural people, integration can be a solution or goal to their stresses in life, but there are many for which it is a stressor and would create even more problems. Overall, plurality is under-studied, and disorders relating to it in some way have no consistent, evidence-backed treatment that we can point to as a solution, for those situations that call for solutions or balms to stressors. A psychiatrist that believes DID (or other disorders involving plurality in some form) necessitates integration would be, at best, only trained in very outdated resources and at worst malicious in their goals.
Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
Hey, i understand your concerns probably come from a good place, and i respect that. As it stands, it's a grossly understudied and underrepresented set of conditions and experiences, and that's likely WHY you've been exposed to outdated information that has a view on the experience that doesn't align with many systems' goals and experiences. A lot of people who don't live the experience like to defer to people who study these phenomenons, however, those people in large capacity don't really exist, and even when people understand it on a certain level, it's very difficult for that information to become mainstream in any capacity. A lot of the people commenting on this, myself included, are systems, and they're the best people you can listen to on how this stuff should be included, why, and what the benefits of it are. However, i also don't think any sort of evaluation of psychiatric impact is relevant, as any social media have ethical concerns in that regard FAR before the question of whether plural folks are able to send messages as one of multiple users. Drawing the line there is kinda moot, in my opinion. Additionally, multiple people here HAVE tried to make a case for why this is beneficial to non-systems- like for roleplayers, or as an extension of server profiles for people who have a need for more granular control over expression around certain people or places,for use by Bridging bots or other things that utilize webhooks, and so on, so forth. It's a useful feature, for everyone, end of story. It's just that plural folks are largely the reason this discussion happens as they have the most direct experience interfacing with the current, inadequate systems of managing messages like this. Hundreds of thousands of messages, all sent manually and directly through webhooks or other means, all configuring their systems through the bots on their own- all opposed to bridge bots, where messages often arent sent through them knowingly or manually, and configuration is almost entirely on the server moderators, NOT each individual user. You begin to realise, working like that, how inadequate it is, VERY quickly.
Comment by @virtueisdead
RexSystem 1 vote originally by @virtueisdead on GitHub
The Sable Nightly 1.20.1 build features potentially very useful reference implementation of this sort of functionality for anyone interested in how this would look in practice. pmp1 pmp2 pmp3 pmp4 pmp5
  • 632690920-afffb76c-8ebb-461a-9490-7ca5294d7361.png

    632690920-afffb76c-8ebb-461a-9490-7ca5294d7361.png

    684×355 | 30 kB

  • 632690921-5d97c247-d567-4c42-ace9-110a9450e67f.png

    632690921-5d97c247-d567-4c42-ace9-110a9450e67f.png

    802×687 | 87 kB

  • 632690930-a19a3cda-7eab-426d-98ef-06449d489da4.png

    632690930-a19a3cda-7eab-426d-98ef-06449d489da4.png

    568×580 | 34 kB

  • 632690941-67ee0b46-114e-4964-9eb6-bce286982717.png

    632690941-67ee0b46-114e-4964-9eb6-bce286982717.png

    562×215 | 10 kB

  • 632690949-96d675bc-d94f-4bf7-a679-15bbded6bd5f.png

    632690949-96d675bc-d94f-4bf7-a679-15bbded6bd5f.png

    329×68 | 7 kB

Comment by @pyroraptor07
RexSystem 1 vote originally by @pyroraptor07 on GitHub
As a possible workaround until a more permanent solution is implemented, could message embeds be used for this if that functionality was exposed in the client? Example: image
  • 640485618-a2222498-c483-495d-b7ef-06bb9decd030.png

    640485618-a2222498-c483-495d-b7ef-06bb9decd030.png

    397×189 | 10 kB

Comment by @chiaracoetzee
RexSystem 1 vote edited originally by @chiaracoetzee on GitHub 17 replies
Per my comment above I have a prototype of this feature up at https://github.com/chiaracoetzee/fluxer-subprofiles/tree/features/subprofiles based on @haileyscommit's design and it's working well on our home server. It's web/desktop client only not mobile right now. Would need a lot more prep before submitting a proper PR. Supports both GUI subprofile selection and PluralKit-style prefixes, and can import a system from a PluralKit JSON export dump. Tested with a large imported system with 60+ members. Some screenshots below for reference. image image image
  • 647626661-6f5bb49a-b736-4409-ba78-86c87d403275.png

    647626661-6f5bb49a-b736-4409-ba78-86c87d403275.png

    622×655 | 73 kB

  • 647626096-1b76487e-8309-4cd0-8808-417eb24618e7.png

    647626096-1b76487e-8309-4cd0-8808-417eb24618e7.png

    598×745 | 81 kB

  • 647626981-ffec720b-2305-4199-86f4-52f0afe3216d.png

    647626981-ffec720b-2305-4199-86f4-52f0afe3216d.png

    1590×1144 | 181 kB

Comment by @bunnikyuube
RexSystem 1 vote originally by @bunnikyuube on GitHub
Hi!! Any instructions for helping with testing? I'd love to put the work into getting this into Fluxer proper but i'm rather inexperienced with actual development testing & etc. Assuming i'll need to build it but i don't know how to do that from my own knowledge, nor what would be required after that point. Sorry for the silly questions, but i hope i can help contribute in the end <3
Comment by @Speykious
RexSystem 1 vote originally by @Speykious on GitHub
Looks pretty good from the screenshot! Just a few things about design:
  • I'd ensure that the Import from PluralKit and Add Subprofile buttons look like the rest of the buttons on the platform; right now the icon is above the text instead of on its left. The rounding is also off. Looking at your PluralKit modal commit, it looks like you used plain HTML <button>s, it would be better to use Fluxer's own Button (fluxer_app/src/features/ui/button/Button.tsx) component instead. Same for the other buttons if you did it that way there too.
  • I'd slightly increase the width of the subprofile switching modal in the second screen so that Last Used doesn't span two lines of text.
Also, I think the vocabulary is a bit inconsistent. In one place we're talking abut "subprofiles", in another it's "personas", and in another it's "subprofiles & personas". I think it should just be "subprofiles", it's the most neutral word that corresponds to the broadest application of this feature imo.
Comment by @haileyscommit
RexSystem 1 vote originally by @haileyscommit on GitHub
Also, I think the vocabulary is a bit inconsistent. In one place we're talking abut "subprofiles", in another it's "personas", and in another it's "subprofiles & personas". I think it should just be "subprofiles", it's the most neutral word that corresponds to the broadest application of this feature imo.
I'd argue that "personas" would be better to settle on because it's a more distinct name, whereas "subprofiles" could be misinterpreted as server-specific profiles.
Comment by @chiaracoetzee
RexSystem 1 vote edited originally by @chiaracoetzee on GitHub
Hi!! Any instructions for helping with testing?
@bunnikyuube If you just want to try it you can hop on my development/testing instance at https://chat-dev.hypersystem.xyz/ and try out there. If you want to run your own local instance you can use Fluxer's turnkey Dev Container setup:
  1. Clone the fork and branch and open in VS Code:
    git clone -b features/subprofiles https://github.com/chiaracoetzee/fluxer-subprofiles.git
    cd fluxer-subprofiles
    code .
    
  2. Reopen in Container:
  • A popup will appear in the bottom-right corner asking to "Reopen in Container". Click it (or press Ctrl+Shift+P, type "Dev Containers: Reopen in Container").
  • Docker will build the container and spin up everything, this will take some time.
  1. Inside the VS Code integrated terminal, run:
    cargo run -p fluxer-dev -- dev
    
  1. Open http://localhost:8088/
If you want to integrate it with your existing local homeserver I'd need to know more about your setup and config.
Comment by @chiaracoetzee
RexSystem 1 vote originally by @chiaracoetzee on GitHub
We decided for now to settle on the "Personas" language (because it's widely-understood and to avoid the issue where "subprofiles" may be confused with server profiles). This isn't the most popular term in the plural community (they prefer "identities") but I think it's clearer to a general audience and we can emphasize in the messaging that this isn't just for fictional roleplay. Also decided to forego the "proxy" term which only really made sense in the historical PluralKit context which proxied messages through a bot. So instead of "proxy tag" we use "persona tag" or just "tag", and instead of "autoproxy" we use "Active Persona Mode". Can revisit terminology as needed. Also did a bunch of style fix-ups, using proper Fluxer Button components, avoiding Discord CSS tags and colors, gave "Last Used" a nowrap, tested in light theme. And haileyscommit did the feature above to show succinctly who a persona belongs to on each message, as well as supporting deep links to persona settings, a slash command for latch control, and a visibility toggle for the persona composer adornment. image image image
  • 648372452-d0bf7e83-9444-4733-b17b-3817d568bf2d.png

    648372452-d0bf7e83-9444-4733-b17b-3817d568bf2d.png

    597×793 | 82 kB

  • 648372149-392e1f84-347a-4f7e-8508-50639746a77d.png

    648372149-392e1f84-347a-4f7e-8508-50639746a77d.png

    1966×1168 | 198 kB

  • 648383494-e6cad2a3-24bf-41cb-b8ff-651ca27793b4.png

    648383494-e6cad2a3-24bf-41cb-b8ff-651ca27793b4.png

    667×420 | 66 kB

Comment by tempest:squll.fartcore.ai
tempest:squll.fartcore.ai 1 vote originally by @HellishBro on GitHub
I would suggest not include an Import from PluralKit button. "System Tag" could be revamped. These two features could make the Persona feature very plural-coded, which might not be ideal. IMHO maintaining language neutrality here is crucial.
Comment by @Speykious
RexSystem 1 vote originally by @Speykious on GitHub
Language neutrality is one thing, but importing from PluralKit is just a useful functionality. What's wrong with having it?
Comment by tempest:squll.fartcore.ai
tempest:squll.fartcore.ai 1 vote originally by @HellishBro on GitHub
idk. it reads too plural-coded (as pluralkit is mostly a plural bot) and also it replies on a 3rd party that most people havent even heard of. too niche of an input source vs the supposedly "many-usecase" persona system
Comment by @Hate9
RexSystem 1 vote originally by @Hate9 on GitHub
PluralKit is used by a lot of people for roleplay and other non-plural-specific use-cases, so I don't think it's a bad thing to have an import for it. That said, as an alternative, we could instead have our own import/export system and then build a third-party pluralkit-export-to-persona-export converter?
Comment by tempest:squll.fartcore.ai
tempest:squll.fartcore.ai 1 vote originally by @HellishBro on GitHub
yes, that's what i'm thinking. instead of relying on pluralkit format (which is tailored to mainly systems) we can have a custom import/export format that fits the persona model
Comment by @Enovale
RexSystem 1 vote originally by @Enovale on GitHub
Having its own export format is one thing (in case other chat apps copy fluxers system) but I really cannot see how allowing for the native import of PluralKit systems betrays any sense of inclusion to anyone else. It's not language, its a feature. And as far as I'm aware PluralKit and TupperBox is THE defacto implementation of this feature on discord, so supporting input from either would be a large boon in accessibility. Stripping functionality and requiring users to separately "convert" their import data for the sake of.. not sounding too plural-coded? Genuinely sounds bigoted.
Comment by tempest:squll.fartcore.ai
tempest:squll.fartcore.ai 1 vote originally by @HellishBro on GitHub
implicit conversion can still be done. i do think "not sounding too plural-coded" is a valid concern though. while pluralkit and tupperbox are the de facto standards, i dont think that justifies an Import from PluralKit / Tupperbox button
Comment by tempest:squll.fartcore.ai
also, this should probably be moved to its own discussion post? now that an implementation exists, i think a new discussion post with the category of "development" will facilitate this discussion better. @chiaracoetzee
Comment by @Hate9
RexSystem 1 vote originally by @Hate9 on GitHub
Yeah, to be clear, I do think stripping this functionality in the name of "not sounding too plural-coded" would be a stretch too far. I like having the feature be neutrally-named, because that makes it clear that it's available for whatever use-case you have that needs it, but removing functionality because it means integrating with a solution that has "plural" in the name is a serious stretch.
Comment by @chiaracoetzee
RexSystem 1 vote originally by @chiaracoetzee on GitHub
Regarding the comments above: I agree that the System Tag language (and especially having a separate System Tag on each persona) is not ideal for the more neutral language I'm going for. I'm still workshopping this. I'm also amenable to changing the "Import from PluralKit" button to just "Import" and it will automatically recognize any number of supported import formats including PluralKit json and its own export format, I think that's a good idea.
Comment by @VanguardSys
RexSystem 1 vote originally by @VanguardSys on GitHub
Hi! Plural system of 2 here, with some experience in moderation and using both of Discord's main proxy bots (PluralKit and Tupperbox). Just wanted to give our thoughts about a feature like this - putting it all in one comment to hopefully not drown out conversation. Feel free to ask us any follow-up questions and we'll gladly reply. First, we'd like to point out that accessibility benefits everyone, not just the target audience. As said before by others, a feature like this would be great for roleplaying, for expanding server-specific profiles, or even as a replacement for webhooks for certain bots. It's the same way that having a door open automatically makes it easier for handicapped people to go through it, but also means able-bodied people don't have to open it either. So even from a non-plural standpoint, we're in support of it. Plurals come in all shapes and sizes, including some with over 100 members. Many can have multiple members co-conscious and/or in "front" (interacting with the outside world). Sometimes front can be blurry, and it's not clear who's around. Switches in or out of front can at times be rapid or chaotic. So, trying to meet these needs one by one, using this new Personas feature: A Persona should represent one member, character, or identity.
  • It has an avatar and display name distinct from the main/root profile.
  • It can be toggled/switched to manually, or through trigger arguments such as prefixes and/or suffixes sent along with the message (such as f:<message> or {<message>}). Support for multiple distinct triggers would also be appreciated
  • The active Persona should be able to remain active for subsequent messages, the behavior of which is set by the user. Using a trigger argument could temporarily (or not) switch Personas, such as for one message or from then on.
  • Multiple Personas should be able to used simultaneously, to show multiple people in front, co-conscious, or blurring; or, multiple characters speaking at once.
Personas should be easy to organize.
  • The limit of Personas one account can have should be generous. Some systems are huge, some people have a lot of characters, and some people have multiple uses for the Personas feature.
  • They should support folders/groups, and folders/groups within those. A simple list would get cluttered quickly with several Personas.
  • They should be searchable by name and by group. For example, if I wanted to find all our characters for a particular campaign.
  • Importing from plural/proxying bots can be done with a simple "Import..." button. Many if not all of the proxying bots use a common JSON format, so compatibility should be trivial without having to make it plural-specific.
Personas should be easy to moderate. - Moderation actions (kick, mute, ban, etc.) apply to the user, not the Persona. Many plural spaces already follow this rule ("be responsible for you and your system"). - Personas should show the user behind them in sent messages, in member lists, and in voice channels. It should be abundantly clear when someone is using the feature to impersonate another user, or one of their Personas. - If a particular Persona is bothersome, they should be able to be blocked without blocking the user, and without obstructing normal blocking usage. Ideally, you could additionally block all of their Personas at once, showing their original unmodified messages and appearance. We're not as well-versed in the technical side of things, so hopefully this works as a design doc or something. If you'd like to learn more about plural systems and how to best accommodate us, https://morethanone.info/ is a good starting point.
Comment by tempest:squll.fartcore.ai
tempest:squll.fartcore.ai 1 vote originally by @HellishBro on GitHub
A new discussion post has been made for the current implementation of the Persona system at https:/github.com/orgs/fluxerapp/discussions/2635
Comment by @haileyscommit
RexSystem 1 vote edited originally by @haileyscommit on GitHub
My WIP Personas implementation, which is aiming for a PR, now has a test server up, huge thanks to @chiaracoetzee: https://fluxer-personas.system32labs.com/ (source: https://github.com/haileyscommit/fluxer-contributions/tree/feat/personas) I am hoping to get a draft PR up soon to start getting maintainer feedback while I finish everything up. I just need to figure out how to get their attention to approve me for it.