Skip to content
This repository has been archived by the owner on May 16, 2019. It is now read-only.

Contact lists #92

Open
turt2live opened this issue Mar 19, 2018 · 3 comments
Open

Contact lists #92

turt2live opened this issue Mar 19, 2018 · 3 comments
Labels
enhancement New feature or request p3 Should be dealt with before p4 question Further information is requested type:room_list Issue affects the room list
Milestone

Comments

@turt2live
Copy link
Owner

Many people want contact lists so they can easily find people they care about more, such as friends, family, or coworkers. Contacts are not part of the spec (yet: https://github.com/matrix-org/matrix-doc/issues/556), however we could be a pioneer in this space.

The proposal would be to have an m.contacts event on the user's account data with a structure similar to this:

{
  "content": {
    "contacts": {
      "@joe:domain.com": {},
      "@jane:example.org": {}
    }
  },
  "type": "m.contacts"
}

The empty objects are for future expansion (and to follow suite with some of the other account data events, such as ignored users). There's probably some argument to be made for custom list titles, however for a proof of concept that is out of scope.

Clients, like Evelium, should show contact lists with presence. UI-wise, this may look like this:
image

The client should create 1:1 rooms for contacts when clicked if one doesn't already exist. It's arguable if the "Contacts" list should replace the "Direct chats" list, although if it were to replace the list then how would existing 1:1 chats be handled?

Clients should of course provide a way to manage the contacts list. This could be done in a number of ways: commands, a button on the user's profile, context menu on the room tiles, etc.

Some related issues for consideration:

@turt2live turt2live added enhancement New feature or request question Further information is requested p3 Should be dealt with before p4 type:room_list Issue affects the room list labels Mar 19, 2018
@turt2live turt2live added this to the 0.2.0 milestone Mar 19, 2018
@turt2live
Copy link
Owner Author

Labeled as "Question" for this:

It's arguable if the "Contacts" list should replace the "Direct chats" list, although if it were to replace the list then how would existing 1:1 chats be handled?

@DiThi
Copy link

DiThi commented Dec 31, 2018

I'd say there are two straightforward answers:

  • Use the existing direct chat for each contact, and if you click on a contact with more than one direct chat, ask which one is the correct one. Upon selection the rest will be toggled to not be a direct chat anymore. And if you receive a direct chat from someone and there are other direct chats, ask to remove the direct chat status or do it silently.
  • Preserve "direct chats" but for each contact, select the most recent direct chat as the 1:1 chat, and hide those from "direct chats". So the section "direct chats" only serve as a catch-all for duplicates, that can be hidden when there are no duplicates. Maybe renaming it to "legacy direct chats".

The latter sounds less disruptive.

@MurzNN
Copy link

MurzNN commented Feb 12, 2019

I think Contacts list must be displayed separately from rooms (private chats) list, because it will show many duplicated data. Good example is Telegram Desktop UI, that shows popup window with list of user contacts and UI for add/edit/remove them. In new Riot design good place might be menu item Contacts in user menu, near to Settings and Sign out.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request p3 Should be dealt with before p4 question Further information is requested type:room_list Issue affects the room list
Projects
None yet
Development

No branches or pull requests

3 participants