-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Comments
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. |
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. |
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). |
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. |
Desktop version it is possible by starting it with |
For Android app we can use 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. |
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! |
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? |
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 |
@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 |
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. |
This would be very much wanted indeed |
Absolutely crucial, needed immediately |
@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 |
This has been my strategy so far. Running more than five instances now. |
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. |
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. |
This comment has been minimized.
This comment has been minimized.
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.
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. |
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. |
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. |
Just curious, any pointer to what this is about? |
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. |
https://matrix.org/blog/2023/12/25/the-matrix-holiday-update-2023/ has a lot of the detail. |
@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. |
@turt2live Is there a way to provide funding to specific features directly? I would love to donate for this feature specifically. |
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. |
@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). |
@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. |
@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). |
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 |
@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. |
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.
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. |
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? |
@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?
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. |
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. |
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. |
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. |
@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 |
@dwt sorry, I guessed the wrong alias. It's been moved to the correct room now - please try again. |
@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.
@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.
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 |
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. |
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. |
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 |
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. |
No description provided.
The text was updated successfully, but these errors were encountered: