Projects tigase _server server-core Issues #1234
Roster API improvements (#1234)
Andrzej Wójcik (Tigase) opened 4 years ago

Right now it is not possible to easily edit users' roster while the user is not connected. The only way to do so is by manually loading the roster (for RosterFlat), parsing it, editing, serializing, and sending notifications. We are doing that in UserRosterManagement.groovy. A very similar thing needs to be done in MIXProcessor to actually edit a users' roster to add/remove a MIX channel entry while the user is not connected.

It would be good to have a single "working" implementation in one place instead of having the same code in multiple places and be able to support any roster implementation (not only RosterFlat, which is now the only supported roster implementation for such editing).

Andrzej Wójcik (Tigase) commented 4 years ago

This support is needed for better support of MIX-PAM in MIXProcessor and to have an easy way to join/kick-out user as mentioned in #kangaroo-76

Andrzej Wójcik (Tigase) commented 4 years ago

I've extracted code from UserRosterManagement.groovy and added new methods to RosterAbstract.java which have the same logic. With the use of those methods, it should be possible to manage users' roster if he is connecter or not and proper notifications should be triggered.

@wojtek Could you review those changes? I think (as they were part of UserRosterManagement.groovy that they are OK, but would like to confirm that and would like to make sure that those changes will not break something.

wojciech.kapcia@tigase.net commented 4 years ago

Looks good.

issue 1 of 1
Type
Task
Priority
Normal
Assignee
Version
tigase-server-8.2.0
Spent time
6h 15m
Issue Votes (0)
Watchers (0)
Reference
tigase/_server/server-core#1234
Please wait...
Page is in error, reload to recover