"Open chat" should automatically add user to roster (#373)
Closed
wojciech.kapcia@tigase.net opened 3 years ago

Rationale: most of the time if we want to chat with someone we want to have this contact in our roster.

Andrzej Wójcik (Tigase) commented 3 years ago

Each conversation with a contact not in our roster contains the "Add to contacts` option in the "info" section. I'm reluctant to add users to the roster automatically, as we sometimes want to send a message to some recipient and not always "expect" to add a contact from a newly opened chat to the roster. Additionally, adding a contact to the roster gives contact permission to access your PEP nodes, impact privacy list filters, creates additional traffic on the server-side (presence storm), and no one would remember to "clean up" roster after the chat has ended.

Zrzut ekranu 2021-05-12 o 12.05.34.png

wojciech.kapcia@tigase.net commented 3 years ago

I'm aware of this option but combined with #issue #374 is quite difficult do "discover".

However, you stated time and time again that you want to have Beagle "for users". To that end the roster is even hidden from the users by default and "chat list" is exposed as "that's what user expects". Now, having this in mind - how do you see a "regular user" being even aware of the roster and "wanting to chat and not add contact to roster"? I'd say that's quite obscure workflow, even for "power users"...

(also - no user would be concerned with impact on the server or cleaning up anything - they just want to chat)

Andrzej Wójcik (Tigase) commented 3 years ago

(also - no user would be concerned with the impact on the server or cleaning up anything - they just want to chat)

Applying this directly: "If users want "just" to chat they do not need a roster or presence for that.", but as we are also server developers we should take that into account and "make it work".

However, I agree that the current way of dealing with a roster/contacts list in Beagle IM is something that needs to be improved.

Let's just think for a while how we could "manage" the roster for the user on his behalf here. If we would be opening a "new" chat with someone not in the roster we could:

  1. ask user if he wants to add contact to the roster? (quite simple)
  2. name the contact in the roster as ....? (leave empty?, add with VCard full name?, ask user about it?)
  3. subscribe to it as well? (should we? if so, in both directions?)

I would say that a simple "screen" asking if you want to add someone to the contact list would be a good idea and using fn from VCard or asking for a name. That would give our user a way to name his chat, etc. The same could go with "subscribing". In this new window, I would suggest adding the checkbox "Remember my decision" or "Never add to roster", so if the user would open a new chat with an unknown person it would not be nagged about those questions again (we would not add or add with name from VCard and subscribe in both ways).

Andrzej Wójcik (Tigase) commented 3 years ago

Maybe we should allow editing contact name and subscription from "info" window as well? That would help if we would add a contact to the roster and user would like to rename it quickly.

wojciech.kapcia@tigase.net commented 3 years ago

+1 on asking user what to do with pre-filled details (name from VCard) and dropdown about asking for adding to roster/asking subscription: always add and never ask again (selected by default IMHO, possibly to changed in settings), always ask (which would remember this selection for subsequent additions), never (add to roster nor ask subscription)

+1 on shortcut to edit contact in (i) menu.

wojciech.kapcia@tigase.net commented 3 years ago

Works great with 'add contact' prompt.

issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
Version
5.0
Issue Votes (0)
Watchers (0)
Reference
tigase/_clients/beagle-im#373
Please wait...
Page is in error, reload to recover