TelepathyIM / telepathy-spec

Telepathy D-Bus API specification
https://telepathy.freedesktop.org/spec/
GNU Lesser General Public License v2.1
2 stars 0 forks source link

Develop a ChatList API (connection interfaces for listing active rooms and chats in telegram/whatsapp/fb-style) #6

Open gkiagia opened 7 years ago

gkiagia commented 7 years ago

15:09 < Kaffeine> We need 1) a list of contacts; roster. 15:09 < Kaffeine> 2) a list of rooms ("that the user is "watching"") 15:12 < Kaffeine> 3) A list of dialogs. List of peers in order of last message timestamp. The important thing is that this list can contain contacts, not listed in the ContactList. 15:12 < gkiagia> Kaffeine: right, I was just going to say that... also, the user may want to remove some of those dialogs without actually deleting either the contact or the dialog history

To make this more clear, most modern protocols have a way of storing recent chats on the server side. These can be: 1) one-to-one chats with a contact from the roster 2) one-to-one chats with a contact outside the roster 3) a group chat

These chats come with a server-side history (see issue #1) and usually also have a "mute" property (see issue #4), which means that the user should not be notified of any activity in them. Additionally, these chats may be "archived", i.e. they can be removed from the main list but the logs remain and can be retrieved.

All this needs to be crafted into an API.

In relation with Channel.Type.RoomList1: