Combine contacts with multiple resources
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Coccinella |
In Progress
|
Wishlist
|
buzzdee |
Bug Description
Currently, contacts logged in with multiple resources (multiple clients) are showed as separate entries in the roster. It would be better to combine them.
Current situation:
- Online
| - Group 1
| | Contact 1 (resource 1)
| | Contact 1 (resource 2)
| | Contact 2
Better would be:
1) collapsed (default)
- Online
| - Group 1
| | + Contact 1
| | Contact 2
2) expanded
- Online
| - Group 1
| | - Contact 1
| | | resource 1
| | | resource 2
| | Contact 2
Notes:
* Any action to the collapsed item will be executed on the bare JID (the server will then either send it to the client with the highest resource, or to both clients when they have both the same priority)
* Any action to one of the resources under the expanded item, will be executed on that specific resource (so not the bare JID)
* There should be an option in the menu under Show called "Show resources". When this option is disabled, the user will not be able to expand contact who are connected with multiple resources.
* The option "Show resources" should be disabled by default as only power users need this and most other people would be confused by this.
Changed in coccinella: | |
assignee: | nobody → matsben |
importance: | Undecided → Wishlist |
Changed in coccinella: | |
milestone: | none → 0.96.6 |
Changed in coccinella: | |
milestone: | none → 0.96.18 |
assignee: | Mats (matsben) → buzzdee (sebastia) |
Handling multiple resources wasn't working at all and never has! I have now started adding an alternative to this suggestion. It ios configurable:
# How to display multiple available resources. roster, multi-resources ) "highest-prio"
# highest-prio : only the one with highest priority
# all : all
set ::config(
Normally only the highest prio one is displayed. Instead of having an extra branch in the roster, which doesn't fit the roster plugin programming model at all and would be very messy to do, only the highest prio is shown, but where the branch is instead made on the popup menu. So if you click on a multi resource item you'll get each resource in a sub menu for the "Chat" entry. These can be ordered and the highest prio marked (Default) or something. There is some template code that isn't working yet. First I need to remove the implicit assumption when starting a chat thread (except to room) to use the bare JID as indicated in the XMPP. This assumption must be implemented higher up in the call hierarchy.