element-meta icon indicating copy to clipboard operation
element-meta copied to clipboard

Implement contact list for Matrix contacts like Roster in XMPP Jabber

Open MurzNN opened this issue 8 years ago • 27 comments

At now Riot track only Rooms in left sidebar. Even in People category there are also rooms, but with 2 persons, this is not direct contact to user.

So there are no way for users to manage classic contact list, like Roster in XMPP Jabber, User list in ICQ, Android contacts list, etc.

Without contact list it's too hard to find specific user contact when inviting it to room, or when you want to start new direct chat - I must remember it's email or Matrix ID for find him.

Also very often I rename users in contact list to my name, for easily finding. For example, user can fill in name only nickname "Fox" that not so unique, and I rename it to "Alexey Fox Ivanov (friend of Sergey Petrov)" to remember who is it.

So will be good to implement Matrix private user contact list (something like Jabber roster), for manage private Matrix contacts list (not rooms) in separate Riot tab, and shows items from contact list in "Start a chat" and "Invite new room members" windows.

MurzNN avatar Jul 04 '17 07:07 MurzNN

A direct chat is always a "normal group chat" in matrix and I think there were multiple Issues about it that got reject because direct chats are equal to rooms. But petnames for rooms are planned I think ( https://github.com/vector-im/riot-web/issues/3130 ).

MTRNord avatar Jul 04 '17 07:07 MTRNord

Yes, the main problem is direct chats is group chats and "People" is only custom tag for multi-user room. So I can rename it, add users, remove users and after this - I lost contacts. Also I can start multiple "direct chats" with same person, and got double contacts. We need static contact list, independent to rooms. And we can merge current "People" group with Rooms (with ability to filter by tag "People" and other), and place "Contact list" instead if it in it place.

MurzNN avatar Jul 04 '17 07:07 MurzNN

Seems that "Contact list" API or something other to manage contact list is missed in current Matrix spec, So we must implement this at first on Matrix Server side?

MurzNN avatar Jul 04 '17 08:07 MurzNN

Well I thik first wait for votes of the community :) Some people like how it currently is

MTRNord avatar Jul 04 '17 09:07 MTRNord

Related: https://github.com/vector-im/riot-web/issues/2930

turt2live avatar Jul 04 '17 14:07 turt2live

Also related: matrix-org/matrix-spec#365

uhoreg avatar Jul 04 '17 16:07 uhoreg

Strong vote for this. I've been looking for a replacement to our aging XMPP server and Matrix+Riot almost fits the bill, but people on a team are used to being able to see the whole roster list of who they are able to talk to in an organization. Unfortunately Riot doesn't provide this, so user onboarding is harder than it needs to be.

Basically, I'm echoing @ara4n's comment on 2930.

cuibonobo avatar Sep 09 '17 20:09 cuibonobo

This needs to be done as an additional level of abstraction over rooms:

  • I should be able to add someone to my contact list, either from a button in their profile or from a matrix ID.
  • When clicking a contact in the contact list (or from a button in the profile), it should instantly show an "empty room", and not to try to create an actual room until I send a message (I don't want to invite someone accidentally just because I added them to my list).
  • Invites should not say it's a "room" but a direct 1:1 conversation.
  • Add an option to automatically accept invites from direct messages. Maybe with some additional conditions (e.g. only from people seen in channels).
  • Direct message rooms should hide a lot of room features: renaming, moderating... People try to rename direct message rooms assuming it's only visible to them, like when you rename a contact in a contact list.

Every single time my team tries Riot we find the private message UX awkward, confusing and slow, and not worth switching yet. Even something like showing common rooms in the user profile would help a lot, to avoid making duplicate private conversations again and again.

Using https://riot.im/develop/

DiThi avatar Sep 19 '17 14:09 DiThi

I signed up just to say, yes, this is needed, badly, i get it requires code on both server and client side but, this is what keeps 1/2 of my friends from using riot.im, and insisting we should use wire instead since. it has proper contact lists.

i love the phone camera app and alot of aspects of riot, i would like some more theme options, and the settings to be....more user friendly(the layout on pc is as if your using a phone, and not one person i have on riot with me has anything but complaints about that aspect of the stupid thing..

they could just implement the ability to make 1:1 and non 1:1 rooms that are "locked"/"forever" for those who tick that option, this would probably be easier then adding a treditional contact list.

this is really what keeps a huge number of people i know from using it....

UnaSalisVictis avatar Oct 22 '17 03:10 UnaSalisVictis

I can confirm. We're just migrating from an xmpp environment to matrix / riot and the users are confused, because they don't have a roster.

banholzer avatar Dec 08 '17 21:12 banholzer

Upvote for this feature.

avirdoz avatar Feb 18 '18 21:02 avirdoz

I'll definitely upvote for this too.

Riot.im / Matrix is a dream come true in the downwards spiral that IM applications have become. I sincerely believe that if we want to drag people into it we need a way for them to be able to see their «friends» and contact them easily, in the way they are used to with other applications.

DinizCabreira avatar Mar 07 '18 07:03 DinizCabreira

Maybe this can be implemented via special type of private groups (communities), to which users will can add contacts without sharing this info to added user and others, and without invite confirmation?

So users will create private community "Personal contacts" and manage it via add/remove all contacts that wanted.

But the problem now it that we must invite each contact to your community, so we must wait confirmation for adding them, also your personal contact list will be shared with other people.

MurzNN avatar Mar 07 '18 08:03 MurzNN

And maybe more easier implementation way: now we can add personal ignore flag to each matrix user. After this - in Riot we can view list of ignored users in Settings window.

So we can implement via same way another flag "contactlist", and mark needed users via it. And in Matrix client implement page "Contacts" with list of matrix users, marked with this flag.

MurzNN avatar Mar 07 '18 08:03 MurzNN

From my completely ignorant viewpoint, this last solution seems like it would work!

-- Denís Fernández Cabrera Gatonegro desenho http://gatonegro.me

2018-03-07 9:30 GMT+01:00 Alexey Murz Korepov [email protected]:

And maybe more easier implementation way: now we can add personal ignore flag to each matrix user. After this - in Riot we can view list of ignored users in Settings window.

So we can implement via same way another flag "contactlist", and mark needed users via it. And in Matrix client implement page "Contacts" with list of matrix users, marked with this flag.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/vector-im/riot-web/issues/4488#issuecomment-371062070, or mute the thread https://github.com/notifications/unsubscribe-auth/AGzMbe9lNigJk1XDJYqXEiQZD-kcJy3vks5tb5qhgaJpZM4OM9y6 .

DinizCabreira avatar Mar 07 '18 09:03 DinizCabreira

+1 for this feature request.

Plus "contactlist" (friend) flagging through rest API.

menturion avatar Feb 23 '19 19:02 menturion

At least it would be very convenient to have user-specific aliases for rooms/direct chats.

bergentroll avatar Mar 01 '19 11:03 bergentroll

@bergentroll That feature is tracked in matrix-org/matrix-spec#810

syhe avatar Mar 01 '19 14:03 syhe

@syhe, oh, indeed, thank you!

bergentroll avatar Mar 01 '19 14:03 bergentroll

On the mobile end of the spectrum, it would say that it's expected nowadays that the address book be managed in a way similar to whatsapp/telegram, that is lookup users by phone number and allow contacts to see that I can be reached. Privacy-wise, some granularity of control is welcome, but leverage of address books is the key to adoption.

neg3ntropy avatar Sep 07 '19 09:09 neg3ntropy

I can't believe matrix is out of beta without this feature 😲 +1 much needed

hekmon avatar Nov 15 '20 08:11 hekmon

Hi, any new info about this feature?

flokixdev avatar Jul 12 '21 20:07 flokixdev

Checking in on this issue, any news?

adamrpostjr avatar Jan 12 '22 12:01 adamrpostjr

Is the upstream spec issue https://github.com/matrix-org/matrix-doc/issues/556 or is this expected to be resolved by https://github.com/matrix-org/matrix-doc/pull/2199 ?

Mikaela avatar Feb 08 '22 13:02 Mikaela

[off-topic] It would also be nice if the Contacts app on Android had support for storing contact info for additional protocols (e.g. Matrix, XMPP) and apps (e.g. Discord, Twitter).

esdnm avatar Dec 07 '22 00:12 esdnm

Maybe we should prepare a party for the 10th anniversary of this issue, including fundraising so it gets done? This is one of the major reasons that blocks me from encouraging people to use Matrix. It's so confusing that I cannot assign a custom name to a contact who calls themself "W00tL3adr" or similar instead of "Bob Miller". Not sure if the Tag O-Occasional is valid, seems like a survivorship bias to me...

floeschie avatar Oct 22 '25 09:10 floeschie

If you're wanting to rename contacts/rooms, that would be https://github.com/matrix-org/matrix-spec/issues/188, https://github.com/element-hq/element-meta/discussions/726, and https://github.com/matrix-org/matrix-spec-proposals/pull/3015 . This issue talks about renaming as a possible consequence of having a contact list, but renaming isn't tied to having a contact list.

uhoreg avatar Oct 22 '25 13:10 uhoreg

@uhoreg I have no idea about the technical insights of Matrix. I was redirected here from element-hq/element-web#24302 which was marked as a duplicate of this issue here by @SimonBrandner.

From the initial description, I would a agree that issue #726 from 2017 is what I'm trying to achieve.

floeschie avatar Nov 05 '25 12:11 floeschie