-
Notifications
You must be signed in to change notification settings - Fork 882
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
Multi-User Chat Light (v0.1.0) implementation #81
Conversation
Thanks for your contribution. I will work the PRs in FIFO order. But I already noticed that you placed this in |
@Flowdalic Everything moved to smack-experimental |
cc30088
to
be195c9
Compare
@Flowdalic In the following days I will be updating this PR implementing the missing functionalities until MUC Light be fully implemented |
3355664
to
80327e5
Compare
@Flowdalic now the MUC Light implementation is complete |
e29f73d
to
9da4a48
Compare
Detailed documentation added: documentation/extensions/muclight.md |
9da4a48
to
bb21be9
Compare
709208d
to
d1fe5c2
Compare
a9c21fd
to
b94bbea
Compare
@@ -85,6 +85,7 @@ Experimental Smack Extensions and currently supported XEPs of smack-experimental | |||
| [Internet of Things - Discovery](iot.md) | [XEP-0347](http://xmpp.org/extensions/xep-0347.html) | Describes how Things can be installed and discovered by their owners. | | |||
| Google GCM JSON payload | n/a | Semantically the same as XEP-0335: JSON Containers | | |||
| Client State Indication | [XEP-0352](http://xmpp.org/extensions/xep-0352.html) | A way for the client to indicate its active/inactive state. | | |||
| Multi-User Chat Light | [XEP-xxxx]( https://s3.amazonaws.com/uploads.hipchat.com/15025/1268415/d9ByVbihpLmzxBI/XEP-xxxx.Multi.User.Chat.Light.pdf) | Multi-User Chats for mobile XMPP applications and specific enviroment. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't this point to the XSF's inbox/
? Or some other official place where MUC light is provided?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am investigating that
Needs conflict resolution |
b94bbea
to
f161063
Compare
} catch (NoResponseException | XMPPErrorException e) { | ||
removeConnectionCallbacks(); | ||
return false; | ||
} catch (InterruptedException e) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why isn't this part of the multi-catch above?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
.discoverItems(connection().getServiceName()); | ||
boolean found = false; | ||
for (DiscoverItems.Item item : discoverItems.getItems()) { | ||
if (item.getEntityID().equals(mucLightService)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sorry, but what are you doing here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Flowdalic Checking if the service received as a parameter is supported by the server (retrieved in discover items)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's not very helpful, please remove this method. If you already have a DomainBareJid then you could just perform a disco#info on it and determine if it announces the muc-light feature. A method
public DomainBareJid discoverService()
which returns the DomainBareJid of the local muc-light service or null
if none was found, would be of much more useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Flowdalic That method you mention is already implemented too:
public List<DomainBareJid> getXMPPServiceDomains()
Should I remove the method isServiceEnabled
anyway?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh good point, then simply remove it.
Also I suggest to
s/isFeatureSupportedByServer(DomainBareJid)/isFeatureSupported(DomainBareJid)/
s/getXMPPServiceDomains()/getLocalServices()/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
I've made a few comments. Please address the issues and append new commits, so it's easier to track which and how they are fixed. I'll tell you when it's time for another round of squashing. |
@Flowdalic Fixes done |
Well that somewhere somehow scares me. I mean there must be someone feeling responsible for the MUC light development, even if it was not accepted as experimental XEP by the XSF. And that person/entity should make the current state of the XEP official available in some canonical way (and not e.g. an S3 upload). |
@Flowdalic I work for the same company as the responsible of the XEP and we are trying to host it |
@Flowdalic MUC Light XEP hosted ^ |
6df11d9
to
0c590db
Compare
It appears that this PR does not yet register a single provider for MUC light. Please change that. |
@Flowdalic Yes, they are registered. Check the diff https://github.com/igniterealtime/Smack/pull/81/files#diff-f533fc3c1cd8e007931dcaca4282b8ff |
c006f31
to
5fa5a95
Compare
Ahh, right sorry. Squash pls, then it's ready to merge. I'm a little bit worried regarding code duplication with the MUC codebase, but I guess that's fine for now (and probably for the future). |
5fa5a95
to
12c604d
Compare
@Flowdalic Squash done |
Cherry picked as 5372c1b Thanks! :) |
Multi-User Chat Light (v0.1.0) documentation: http://mongooseim.readthedocs.io/en/latest/open-extensions/xeps/xep-muc-light.html
All modules are implemented :)