Unable to fetch members of a group (XMPP)
When a specific room is created by me, I can fetch members in that group. But when the group is created by someone else, I can't fetch members in that group.
The didDiscoverRooms
method is initially called and then within it the members are fetched like so...
func xmppMUC(_ sender: XMPPMUC, didDiscoverRooms rooms: [Any], forServiceNamed serviceName: String)
print("XMPPRoom: didDiscoverRooms: (rooms)")
if let elements = rooms as? [DDXMLElement]
for element in elements
print("Name: (String(describing: element.attributeStringValue(forName: "name")))")
print("JID: (String(describing: element.attributeStringValue(forName: "jid")))")
if let name = element.attributeStringValue(forName: "jid"), let roomJID = XMPPJID(string: name)
let roomStorage = XMPPRoomMemoryStorage()
let room = XMPPRoom(roomStorage: roomStorage!, jid: roomJID, dispatchQueue: DispatchQueue.main)
room.addDelegate(self, delegateQueue: DispatchQueue.main)
room.activate(self.xmppStream)
room.fetchConfigurationForm()
room.fetchMembersList()
The room.fetchMembersList()
in turn calls this delegate method..
func xmppRoom(_ sender: XMPPRoom, didFetchMembersList items: [Any])
print("XMPPRoom: (sender.roomJID)")
print("XMPPRoom: didFetchMembersList: (items)")
The first print statement gives the room name and the second print statement gives the room members. But this only works if the room is created by me. If the room is created by someone else then I can't get the members...
ios swift xmpp chat
add a comment |
When a specific room is created by me, I can fetch members in that group. But when the group is created by someone else, I can't fetch members in that group.
The didDiscoverRooms
method is initially called and then within it the members are fetched like so...
func xmppMUC(_ sender: XMPPMUC, didDiscoverRooms rooms: [Any], forServiceNamed serviceName: String)
print("XMPPRoom: didDiscoverRooms: (rooms)")
if let elements = rooms as? [DDXMLElement]
for element in elements
print("Name: (String(describing: element.attributeStringValue(forName: "name")))")
print("JID: (String(describing: element.attributeStringValue(forName: "jid")))")
if let name = element.attributeStringValue(forName: "jid"), let roomJID = XMPPJID(string: name)
let roomStorage = XMPPRoomMemoryStorage()
let room = XMPPRoom(roomStorage: roomStorage!, jid: roomJID, dispatchQueue: DispatchQueue.main)
room.addDelegate(self, delegateQueue: DispatchQueue.main)
room.activate(self.xmppStream)
room.fetchConfigurationForm()
room.fetchMembersList()
The room.fetchMembersList()
in turn calls this delegate method..
func xmppRoom(_ sender: XMPPRoom, didFetchMembersList items: [Any])
print("XMPPRoom: (sender.roomJID)")
print("XMPPRoom: didFetchMembersList: (items)")
The first print statement gives the room name and the second print statement gives the room members. But this only works if the room is created by me. If the room is created by someone else then I can't get the members...
ios swift xmpp chat
add a comment |
When a specific room is created by me, I can fetch members in that group. But when the group is created by someone else, I can't fetch members in that group.
The didDiscoverRooms
method is initially called and then within it the members are fetched like so...
func xmppMUC(_ sender: XMPPMUC, didDiscoverRooms rooms: [Any], forServiceNamed serviceName: String)
print("XMPPRoom: didDiscoverRooms: (rooms)")
if let elements = rooms as? [DDXMLElement]
for element in elements
print("Name: (String(describing: element.attributeStringValue(forName: "name")))")
print("JID: (String(describing: element.attributeStringValue(forName: "jid")))")
if let name = element.attributeStringValue(forName: "jid"), let roomJID = XMPPJID(string: name)
let roomStorage = XMPPRoomMemoryStorage()
let room = XMPPRoom(roomStorage: roomStorage!, jid: roomJID, dispatchQueue: DispatchQueue.main)
room.addDelegate(self, delegateQueue: DispatchQueue.main)
room.activate(self.xmppStream)
room.fetchConfigurationForm()
room.fetchMembersList()
The room.fetchMembersList()
in turn calls this delegate method..
func xmppRoom(_ sender: XMPPRoom, didFetchMembersList items: [Any])
print("XMPPRoom: (sender.roomJID)")
print("XMPPRoom: didFetchMembersList: (items)")
The first print statement gives the room name and the second print statement gives the room members. But this only works if the room is created by me. If the room is created by someone else then I can't get the members...
ios swift xmpp chat
When a specific room is created by me, I can fetch members in that group. But when the group is created by someone else, I can't fetch members in that group.
The didDiscoverRooms
method is initially called and then within it the members are fetched like so...
func xmppMUC(_ sender: XMPPMUC, didDiscoverRooms rooms: [Any], forServiceNamed serviceName: String)
print("XMPPRoom: didDiscoverRooms: (rooms)")
if let elements = rooms as? [DDXMLElement]
for element in elements
print("Name: (String(describing: element.attributeStringValue(forName: "name")))")
print("JID: (String(describing: element.attributeStringValue(forName: "jid")))")
if let name = element.attributeStringValue(forName: "jid"), let roomJID = XMPPJID(string: name)
let roomStorage = XMPPRoomMemoryStorage()
let room = XMPPRoom(roomStorage: roomStorage!, jid: roomJID, dispatchQueue: DispatchQueue.main)
room.addDelegate(self, delegateQueue: DispatchQueue.main)
room.activate(self.xmppStream)
room.fetchConfigurationForm()
room.fetchMembersList()
The room.fetchMembersList()
in turn calls this delegate method..
func xmppRoom(_ sender: XMPPRoom, didFetchMembersList items: [Any])
print("XMPPRoom: (sender.roomJID)")
print("XMPPRoom: didFetchMembersList: (items)")
The first print statement gives the room name and the second print statement gives the room members. But this only works if the room is created by me. If the room is created by someone else then I can't get the members...
ios swift xmpp chat
ios swift xmpp chat
edited Nov 14 '18 at 6:43
user308123
asked Nov 14 '18 at 6:20
user308123user308123
478
478
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Fetching the member list (and the admin and owner list) usually requires owner permissions because it will leak the Jabber ID in anonymous rooms. Some modern servers (recent ejabberd versions for example) make an exception for non-anonymous and also allow regular participants to fetch that list.
ok @iNPUTmice...so what do u suggest...?
– user308123
Nov 14 '18 at 11:16
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53294204%2funable-to-fetch-members-of-a-group-xmpp%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Fetching the member list (and the admin and owner list) usually requires owner permissions because it will leak the Jabber ID in anonymous rooms. Some modern servers (recent ejabberd versions for example) make an exception for non-anonymous and also allow regular participants to fetch that list.
ok @iNPUTmice...so what do u suggest...?
– user308123
Nov 14 '18 at 11:16
add a comment |
Fetching the member list (and the admin and owner list) usually requires owner permissions because it will leak the Jabber ID in anonymous rooms. Some modern servers (recent ejabberd versions for example) make an exception for non-anonymous and also allow regular participants to fetch that list.
ok @iNPUTmice...so what do u suggest...?
– user308123
Nov 14 '18 at 11:16
add a comment |
Fetching the member list (and the admin and owner list) usually requires owner permissions because it will leak the Jabber ID in anonymous rooms. Some modern servers (recent ejabberd versions for example) make an exception for non-anonymous and also allow regular participants to fetch that list.
Fetching the member list (and the admin and owner list) usually requires owner permissions because it will leak the Jabber ID in anonymous rooms. Some modern servers (recent ejabberd versions for example) make an exception for non-anonymous and also allow regular participants to fetch that list.
answered Nov 14 '18 at 10:32
iNPUTmiceiNPUTmice
9729
9729
ok @iNPUTmice...so what do u suggest...?
– user308123
Nov 14 '18 at 11:16
add a comment |
ok @iNPUTmice...so what do u suggest...?
– user308123
Nov 14 '18 at 11:16
ok @iNPUTmice...so what do u suggest...?
– user308123
Nov 14 '18 at 11:16
ok @iNPUTmice...so what do u suggest...?
– user308123
Nov 14 '18 at 11:16
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53294204%2funable-to-fetch-members-of-a-group-xmpp%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown