Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for multiple matrix accounts #2320

Open
richvdh opened this issue Sep 20, 2016 · 293 comments
Open

Support for multiple matrix accounts #2320

richvdh opened this issue Sep 20, 2016 · 293 comments
Labels
O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Enhancement X-Needs-Design X-Needs-Product More input needed from the Product team Z-Mozilla

Comments

@richvdh
Copy link
Member

richvdh commented Sep 20, 2016

No description provided.

@cjdelisle
Copy link

This is interesting for me because we have a company HS which we want to use for channels private to company business and I also want to be logged into channels in a personal context (so if I get fired I can stay in these channels). A colleague of mine has suggested that if we adopt matrix he might keep multiple full riot.im instances because this feature is missing.

@4nd3r
Copy link
Contributor

4nd3r commented Apr 15, 2017

showerthoughts: if we have multiple account support, what are security implications? for example, if one HS is in internal network without federation and second HS is federated (ergo public) and both meet in one (web) client, can motivated attacker gain somekind of access to internal HS with xss from public HS? is #1977 related? seems like that security risks are similar when, for example, use same irc client for internal and external networks.

@cjdelisle
Copy link

Supporting multiple HSs from a single app is a good feature though so it should not be blocked because of security concerns which can (should) also be mitigated by CSP (see #3632).

@ansiwen
Copy link

ansiwen commented Jul 19, 2017

for the web-version I can workaround with hosting the web-client under multiple domain-names. but for the iOS/desktop version that is not possible, although it should technically be easy to simulate the "multiple-domain-names" behavior.

@t3chguy
Copy link
Member

t3chguy commented Jul 19, 2017

Desktop version it is possible by starting it with --profile=newProfile1 replacing newProfile1 for each new profile.

@MurzNN
Copy link
Contributor

MurzNN commented Jul 20, 2017

For Android app we can use App Cloner app to clone Riot application and sign in to different account in copy. In my phone now works normally 3 Riot copies together with different Matrix accounts. Maybe iOS have same feature.

As example for Electron app - we can see http://rambox.pro/ project that have separate tabs for different messaging apps, also it provide to run multiple Riot instances.

@gagarine
Copy link

gagarine commented Oct 3, 2017

I imagine peoples will have multiple account like they do with email (one for job, university, personal, secret ..). Having a HS is a trade off without multiple sign in. I don't want to use my account on the university HS to chat with my mum... I also want to be able to disconnect from my job account when I'm in vacation!

@Simon0Harms
Copy link

Hmm, will wait wait for this feature...

@ghost
Copy link

ghost commented Nov 23, 2018

Hmm, will wait wait for this feature...

Me too. I see there's some demand for this feature. Maybe it's enough to have a milestone for this feature?

@NicholasHaven
Copy link

Same here. I have set up a server for my workplace and I have a personal account too. Not a fan of exporting keys and reimporting them, just to chat on a different server

@aaronraimist
Copy link
Collaborator

aaronraimist commented Jan 7, 2019

@NicholasHaven as a temporary workaround you can always use two separate instances of Riot such as https://riot.im/app and https://riot.swedneck.xyz or https://riot.raim.ist

@MurzNN
Copy link
Contributor

MurzNN commented Jan 8, 2019

Another workaround is to use Rambox app or Firefox Containers, that isolates tab data, so we can use one Riot url with different accounts in separate tabs of one app.

@dvoijen
Copy link

dvoijen commented Jan 24, 2019

This would be very much wanted indeed

@xznhj8129
Copy link

Absolutely crucial, needed immediately

@aaronraimist
Copy link
Collaborator

@snow-frog if you are willing to pay for it, contact the team, otherwise you’ll need to use a workaround like #2320 (comment) for now

@martindale
Copy link

This is interesting for me because we have a company HS which we want to use for channels private to company business and I also want to be logged into channels in a personal context (so if I get fired I can stay in these channels). A colleague of mine has suggested that if we adopt matrix he might keep multiple full riot.im instances because this feature is missing.

This has been my strategy so far. Running more than five instances now.

@alexgleason
Copy link

matrix.org is hiccuping today so I decided to try my own advice of hopping onto another server. It totally worked.

I also had to think about it though, and it distracted me from what I was doing. Adding a convenient user-switching UI to riot-web would go a long way towards softening the blow when a homeserver is down.

Having this feature would encourage people to use multiple accounts, which is good for the fediverse.

@dngray
Copy link

dngray commented Apr 21, 2019

This is one of those features which would certainly give most XMPP clients (like Pidgin) an advantage over Riot, particularly in work environments where personal identities are separate from work ones. This feature would certainly make Matrix a more attractive option when considering what to use for a new server. For most it's going to be a deal breaker so they're unlikely to pay for such a basic ability if it isn't there in the first place.

Running multiple instances of Riot is a pretty ugly hack. This would use double the resources and would be a pretty horrid experience on a mobile platform (let alone battery usage) issues.

@Mikaela

This comment has been minimized.

@dngray
Copy link

dngray commented Jul 25, 2019

I agree with you about everything else than Pidgin which performs all chat protocols horribly and is especially bad with XMPP.

That is fair criticism. I was getting at the way that Pidgin handles multiple accounts. Ie you can have accounts on all servers connected, some, none, one, etc.

I would recommend Gajim or Dino instead, they support multiple accounts (I wonder are there even many XMPP clients that don't) while supporting modern XEPs being pleasant to use together with Conversations on Android.

Conversations on Android looks to be about the only good XMPP client. Gajim uses PyGTK which is unmaintained as far as I can see: https://en.wikipedia.org/wiki/PyGTK and at the time of writing the Gajim website is down, so I can't checkup on the project.

Dino looks like a much more reasonable option, (interface wise) of course the issue around voice/video support is still there. Gajim does not support it on Windows, and Dino doesn't support it at all. Conversations only uses it for file transfer.

@turt2live
Copy link
Member

Budgeting for this sort of feature has always been difficult, but with Element's change in focus over the last couple months I really don't think this is happening anytime soon, sorry.

If someone with enough budget to sponsor the whole feature development comes along, they're more than welcome to get in touch with the sales team who can get a more accurate quote.

@rriemann
Copy link

rriemann commented Jan 9, 2024

@t3chguy accelerate it "faster" than 7-8 years? Feels a bit like holding this feature hostage at this point, just like Push To Talk :/

I suggest you study the Internet netiquette. Everyone can create a fork and implement this feature. Blaming people and projects will not accelerate anything, but just make everyone feel bad. Loose-loose.

This is certainly an interesting feature. Nobody contested that. 108 people receive notifications on this issue I understand. So dear successive posters, use all our attention wisely for constructive on-topic posts. Use emoji reactions to share your views if possible to avoid notifications.

@sschuberth
Copy link

with Element's change in focus over the last couple months

Just curious, any pointer to what this is about?

@BloodyIron
Copy link

@t3chguy accelerate it "faster" than 7-8 years? Feels a bit like holding this feature hostage at this point, just like Push To Talk :/

I suggest you study the Internet netiquette. Everyone can create a fork and implement this feature. Blaming people and projects will not accelerate anything, but just make everyone feel bad. Loose-loose.

This is certainly an interesting feature. Nobody contested that. 108 people receive notifications on this issue I understand. So dear successive posters, use all our attention wisely for constructive on-topic posts. Use emoji reactions to share your views if possible to avoid notifications.

I didn't blame anyone, I pointed out that this was originally requested in Sept 2016 and it's now Jan 2023, and we do not even have any Alpha code to test, let alone a release version. And then pointing out the similar pattern with Push To Talk for the same application.

I also pointed out that it "felt" like it was being held hostage with the comment of sponsorship. And yes I understand that's a good lot of how Matrix's Org and such work. It makes financial sense. But the way it came across (if you are going to try and point out netiquette) is that no work is ever going to be done without a sponsorship. When taking your comment, and the situation, into combined consideration.

I and many people are VERY patient. Waiting literally years for progress on this and multiple other things. To respond to me and other people like this is a slap in the face. How is 7+ years not sufficiently "polite" or "patient"?

I didn't blame anyone, not one bit. I am, however, frustrated with this and the state of Push to Talk. Two very important features that show zero progress over more than 5 years.

My response was warranted, yours was not.

@turt2live
Copy link
Member

with Element's change in focus over the last couple months

Just curious, any pointer to what this is about?

https://matrix.org/blog/2023/12/25/the-matrix-holiday-update-2023/ has a lot of the detail.

@turt2live
Copy link
Member

@BloodyIron to clarify: we have no choice but to wait for funding on it. It's too big of a feature to just naturally happen, so significant amounts of cash need to come from somewhere. Ideally it would have come from paying customers to offset the cost of development, but in practice that hasn't really been happening as other areas of the business also need cash to operate.

I don't expect we'll be looking at this in 2024 either, sorry. It really needs someone to throw $500k USD (or more, probably) at the problem, and Element isn't in a position to be able to do that itself. The issue has multiple workarounds which folks on the dev team use daily - please consider using those options in the meantime, or finding a fiscal sponsor for this issue. Commenting every few months that you're done waiting is not going to make it happen any faster.

The same applies to PTT.

@dwt
Copy link

dwt commented Jan 9, 2024

@turt2live Is there a way to provide funding to specific features directly? I would love to donate for this feature specifically.

@BloodyIron
Copy link

@BloodyIron to clarify: we have no choice but to wait for funding on it. It's too big of a feature to just naturally happen, so significant amounts of cash need to come from somewhere. Ideally it would have come from paying customers to offset the cost of development, but in practice that hasn't really been happening as other areas of the business also need cash to operate.

I don't expect we'll be looking at this in 2024 either, sorry. It really needs someone to throw $500k USD (or more, probably) at the problem, and Element isn't in a position to be able to do that itself. The issue has multiple workarounds which folks on the dev team use daily - please consider using those options in the meantime, or finding a fiscal sponsor for this issue. Commenting every few months that you're done waiting is not going to make it happen any faster.

The same applies to PTT.

With the nature of a few points in what you just linked (the holiday 2023 update) I can see how such significant authentication changes would likely drastically influence how the multi-account concept could be implemented. And I see validity there (even if that may not be the point you're trying to convey here).

It does seem prudent to me that those changes should already take this functional need into consideration, so that as they are developed, they are already capable of this functionality. Akin to steering a ship, figuratively.

As for Push To Talk, I'm really not seeing a blocker for that topic (even though it actually is out of scope for this thread).

The aspect of not having multipe-account capabilities, as described in this thread, does tangibly limit implementation options. For those of us who use the public matrix account ecosystem, but now have a functional need to use the same Element application (let's say on their phone) in a business setting, those people now have to choose whether they log into the public matrix ecosystem they've been using for $periodOfTime or their work account. Work will likely always win.

I know this statement likely isn't going to steer the ship to any degree, but the impact is real, and growing. Especially so as popularity in the Matrix ecosystem grows.

@turt2live
Copy link
Member

@dwt There isn't a way to donate for specific features, but it is possible to reduce the financial pressure on Element by donating to the Matrix.org Foundation - https://matrix.org/support/

Donations to the Foundation allow the organization to better run independently of Element's already massive donation. This can in turn free up capital for other projects, including this issue (potentially).

@dwt
Copy link

dwt commented Jan 9, 2024

@turt2live Well, I actually just did donate there two weeks ago. However I would love for you guys to allow me to put money towards specific goals that I find most important.

@turt2live
Copy link
Member

@BloodyIron I appreciate the concern. I'm trying to be overly clear here to avoid more years of needless hope: it's just not on the roadmap, and it's not going to be for a while. Get in touch with the sales team to fix this - they can provide a realistic quote for what it'll cost.

@BloodyIron
Copy link

@BloodyIron I appreciate the concern. I'm trying to be overly clear here to avoid more years of needless hope: it's just not on the roadmap, and it's not going to be for a while. Get in touch with the sales team to fix this - they can provide a realistic quote for what it'll cost.

Honesty is always appreciated, even if I have to go grumble about it in a corner. ;) I do appreciate all involved in all this, including yourself and others. So whatever happens, thank you! And thanks to all else involved! And yes, I'll just have to come to terms with sitting on my hands for a while longer(tm).

@genofire
Copy link

genofire commented Jan 9, 2024

https://bountysource.com/ is a platform to found a specific features (seems down).

so maybe want use https://gitpay.me/ instatt on this was an freelancer could develop that feature and get the bountry.

@grahhnt
Copy link

grahhnt commented Jan 9, 2024

https://bountysource.com/ is a platform to found a specific features (seems down).

so maybe want use https://gitpay.me/ instatt on this was an freelancer could develop that feature and get the bountry.

I would heavily suggest not using bountysource (bountysource/core#1586)

I am having issues getting started on gitpay (tried with email & github login), but I would also be interested in putting some money on this issue if a platform is decided on

@turt2live
Copy link
Member

@turt2live Well, I actually just did donate there two weeks ago. However I would love for you guys to allow me to put money towards specific goals that I find most important.

@dwt This would be a good point to bring up in #foundation:matrix.org on Matrix. Josh is the new managing director for the Foundation, and is responsible for figuring out how best to make the thing run.


re: bountysource - the concern I have is a feature like this requires so much funding that it doesn't make sense to crowdfund. The difficulty of getting $500k USD raised is just too high, and probably costs another $100k in effort to make happen. Bountysource (and other crowdfunding platforms) work a lot better for the <$1k issues, like fixing a bug or adding a small quality of life feature.

@pilot51
Copy link

pilot51 commented Jan 10, 2024

As I posted here a couple months ago and understandably many of you never saw, this issue did have a bounty on BountySource. With it being impossible to log in or view bounties for months now, I think it's clear they maliciously stole all of the money put down on bounties that were never claimed and have no intention to issue refunds short of a class action lawsuit, which I doubt will ever happen.

so maybe want use https://gitpay.me/ instatt on this was an freelancer could develop that feature and get the bountry.

Thanks! I was unable to find any alternatives before. Though of course, after the BS experience, I'm hesitant to throw more money at another bounty site for the same issue that is still unlikely to be completed for years.

@martindale
Copy link

I don't think Matrix has any incentive to prioritize this feature and we should sponsor it externally. From a preliminary look, it seems many components and datastores must be changed to support this feature, so I don't think it's a small-swipe task.

Any takers?

@dwt
Copy link

dwt commented Jan 10, 2024

@dwt This would be a good point to bring up in #foundation:matrix.org on Matrix. Josh is the new managing director for the Foundation, and is responsible for figuring out how best to make the thing run.

@turt2live It seems that room is invitation only - so I am not sure how to get into that discussion? Is that something you should bring up there as a topic?

re: bountysource - the concern I have is a feature like this requires so much funding that it doesn't make sense to crowdfund. The difficulty of getting $500k USD raised is just too high, and probably costs another $100k in effort to make happen. Bountysource (and other crowdfunding platforms) work a lot better for the <$1k issues, like fixing a bug or adding a small quality of life feature.

This actually looks like something that could work well via a platform like an Indigogo or Kickstarter. I for one would like to invest in that way, get some Stickers and some bigger Community Features. But yeah that also sounds like a lot of work.

@DraconicNEO
Copy link

I don't think Matrix has any incentive to prioritize this feature and we should sponsor it externally. From a preliminary look, it seems many components and datastores must be changed to support this feature, so I don't think it's a small-swipe task.

Any takers?

Is this even a matrix problem? I know that many other clients, including some very well featured ones support Multiple accounts already, so clearly the protocol supports it. I don't buy Element's excuse of "needing Matrix to implement multi-account provisions" when there are already other clients out there which do exactly that without appending changes to the protocol.

@ndarilek
Copy link
Contributor

I wonder if it'd make sense to lock this issue?

To be clear, I'd love to see this implemented. That's why I follow it. But as much as I understand the upset that it isn't there, if any expression of that would have made this happen then it would have years ago. At this point I'm not sure it will anytime soon, and I'd love it if my inbox didn't explode with the same old rehashed arguments every few months. If it ever is picked up, I imagine this will be the place it gets discussed, and there are bunches of other places to vent about lack of multi-account support in Element. There is, to my knowledge, only one place to know when that work is started and that is here. If I have to stop following this issue then I won't know when or if that work ever starts.

Thanks.

@dwt
Copy link

dwt commented Jan 10, 2024

I suspect that the problem is more that Element has about 4-6 implementations of the Matrix spec (Android, iOS, Mac, Linux, Windows, some legacy clients). So really the work for a feature like this multiplies quite heavily as it needs everything multiple times: UI-Design, Implementation, Testing, Compatibility-Testing, ...

The spec clearly is not the problem, as it cannot deny the client from supporting multiple accounts. I guess that It's fully an implementation problem, depending on the quality / condition of the code base maybe a quite large one.

That being said, I would hope that support for multiple accounts will at some point become crucial to further adoption. Until then it can probably best be gotten by using alternative clients.

To get there however I can understand and support the mission of the foundation to fix sync and video calls once and for all as those are (sadly) still greater problems. I would also like them to schedule further work on the cryptography, as that still generates the vast majority of problems I see in day to day Matrix use.

@agnosticlines
Copy link

agnosticlines commented Jan 10, 2024

I don't expect we'll be looking at this in 2024 either, sorry. It really needs someone to throw $500k USD (or more,

@turt2live hey, just wondering where this number was taken from? I always suspected the amount would be serious, but half a million is a lot, is that a ball park figure or do you have a reasoning behind that number, like $x developers, $y months of FTE, etc.

Also more generally... Isn't there a way to do this that doesn't involve rewriting the entire element stack, couldn't you just write some kind of layer that adds transparent multi "profile" support to react/whatever framework you're using? That seems like it'd be significantly less effort than to rearchitect and engineer the entire element client to support multiple profiles

@turt2live
Copy link
Member

@turt2live It seems that room is invitation only - so I am not sure how to get into that discussion? Is that something you should bring up there as a topic?

@dwt sorry, I guessed the wrong alias. It's been moved to the correct room now - please try again.

@turt2live
Copy link
Member

I don't think Matrix has any incentive to prioritize this feature and we should sponsor it externally. From a preliminary look, it seems many components and datastores must be changed to support this feature, so I don't think it's a small-swipe task.
Any takers?

Is this even a matrix problem? I know that many other clients, including some very well featured ones support Multiple accounts already, so clearly the protocol supports it. I don't buy Element's excuse of "needing Matrix to implement multi-account provisions" when there are already other clients out there which do exactly that without appending changes to the protocol.

@DraconicNEO correct - it is not a Matrix issue. The protocol doesn't do anything which makes this functionality impossible. Individual clients, like Element, should be free to decide if and how they want to support this.

I don't expect we'll be looking at this in 2024 either, sorry. It really needs someone to throw $500k USD (or more,

@turt2live hey, just wondering where this number was taken from? I always suspected the amount would be serious, but half a million is a lot, is that a ball park figure or do you have a reasoning behind that number, like $x developers, $y months of FTE, etc.

@agnosticlines it's a number pulled from my head more than anything. It'll probably require 2 full time engineers, 1 product designer, 1 QA, and several other folks to review and support the team. Chances are it'll be closer to the $1 Million mark to cover total costs.

I expect the project would take 6-14 months, depending on availability of resources.

Also more generally... Isn't there a way to do this that doesn't involve rewriting the entire element stack, couldn't you just write some kind of layer that adds transparent multi "profile" support to react/whatever framework you're using? That seems like it'd be significantly less effort than to rearchitect and engineer the entire element client to support multiple profiles

There's already several ways of doing this. Using different browsers, browser profiles, tabs with different domains, etc. The desktop app also supports profiles and can have multiple instances running at the same time. It's not elegant, but there are ways to do it.

@agnosticlines
Copy link

There's already several ways of doing this. Using different browsers, browser profiles, tabs with different domains, etc. The desktop app also supports profiles and can have multiple instances running at the same time. It's not elegant, but there are ways to do it.

Right but even if it wasn't "elegant" but was native to the app people would be happy

@turt2live
Copy link
Member

I wonder if it'd make sense to lock this issue?

To be clear, I'd love to see this implemented. That's why I follow it. But as much as I understand the upset that it isn't there, if any expression of that would have made this happen then it would have years ago. At this point I'm not sure it will anytime soon, and I'd love it if my inbox didn't explode with the same old rehashed arguments every few months. If it ever is picked up, I imagine this will be the place it gets discussed, and there are bunches of other places to vent about lack of multi-account support in Element. There is, to my knowledge, only one place to know when that work is started and that is here. If I have to stop following this issue then I won't know when or if that work ever starts.

Thanks.

We are approaching the point where this issue will get locked, yes. The conversation keeps going in circles, and obviously no one is going to read 290 comments before saying something. Once these last few threads get resolved, it'll get locked.

@pilot51
Copy link

pilot51 commented Jan 10, 2024

Right but even if it wasn't "elegant" but was native to the app people would be happy

Indeed. This seems like an issue of perfect being the enemy of good enough. If the best solution would take around a year and $1M, which is too far out of reach for an in-demand feature not paid for by sponsors, why neglect a simpler solution to add a basic "inelegant" UI layer for the existing profiles functionality which would probably take no more than 2 months $40,000 for a team of 3 (1 full time)?

Even a separate application to manage and launch profiles would be appreciated. That's something I could do in my free time. Maybe I will since this isn't going anywhere.

@agnosticlines
Copy link

There's already several ways of doing this. Using different browsers, browser profiles, tabs with different domains, etc. The desktop app also supports profiles and can have multiple instances running at the same time. It's not elegant, but there are ways to do it.

Also worth nothing that all of these ways only work on desktop, that's my biggest issue, I can run multiple element clients on desktop and it's... awkward, but it works. On iOS? I'm stuck with using a third party app that supports multiple profiles

@turt2live
Copy link
Member

Sorry folks, this line of questioning has already been addressed in the past. While the feature seems simple, it's not - there's a lot of moving pieces and machinery to update.

The app already has some functions for this capability, as mentioned, and it's not currently possible to 'just' add it to the UI.

I'm locking this issue.

@element-hq element-hq locked as resolved and limited conversation to collaborators Jan 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Enhancement X-Needs-Design X-Needs-Product More input needed from the Product team Z-Mozilla
Projects
None yet
Development

No branches or pull requests