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

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

Open
gkiagia opened this issue Dec 13, 2016 · 0 comments

Comments

@gkiagia
Copy link
Member

gkiagia commented Dec 13, 2016

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:

  • Chan.Type.RoomList1 is about listing rooms that can be joined (irc/xmpp style), not about rooms that have already been joined. I feel it is much like Chan.Type.ContactSearch1, which is about listing contacts that can be added in your roster.
  • Chan.Type.RoomList1 could co-exist with the new interface(s). In IRC for example, you could have a way to list available rooms (Chan.Type.RoomList1) and a way to list rooms that you have joined (the new interface). Right now, the list of active rooms is not stored anywhere, they are active only for as long as the client is keeping the channels open. As soon as you close the channel, you also leave the room (maybe not the best behaviour...).
@Kaffeine Kaffeine changed the title Develop Connection interfaces for listing active rooms and chats (telegram/whatsapp/fb-style) Develop a Dialogs API (connection interfaces for listing active rooms and chats in telegram/whatsapp/fb-style) Apr 19, 2018
@Kaffeine Kaffeine changed the title Develop a Dialogs API (connection interfaces for listing active rooms and chats in telegram/whatsapp/fb-style) Develop a ChatList API (connection interfaces for listing active rooms and chats in telegram/whatsapp/fb-style) Nov 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant