SleekXMPP
SleekXMPP copied to clipboard
rework of xep 0045 plugin
I've just seen this branch, that seems to be quite an improvement compare to current xep_0045
though I'm not the author of these changes, by creating this pull request i want show that i'm interested in knowing what this branch is missing to be merged in the main branch and I'm willing to help if necessary
thanks
This needs testing to be sure edge cases are covered.
I've been using this branch for a month now on a project of mine. Off-hand I can name a few bugs with it.
There's a bug in the _add_joined_room
method where it erases the roster for the room, clearing the client itself from the roster (ie the client is added to the roster then the roster is reset). I ended up patching it here: Ashfire908@ebcc9345c6c0a2678bc91b34bd64bb929ee42171
I've also found various typos and errors around the plugin, which I've fixed here: Ashfire908@22b11a6fd7d7400c222d176f8d69d2ed998d2cdc
There appears to be a risk that the blocking on joining a room will react to the wrong room join/fail: Ashfire908@fe72c14ad53a324b2aba8af5a00d71f2996c49cb (looking at it again I don't think that commit fully fixed that)
Mediated invites do not work - there's an issue with the stanzas that the code tries to use, IIRC. I ended up doing this manually in my own project, so I don't have a patch for you.
Everything else I've used so far has worked, but I'd still look over it for other issues.
@Ashfire908 thanks for the comment it's pretty informative. Is it ok for you to create a pull request for the new_muc
branch, so that it benefits from your various fixes. If you want I can take the burden and do it myself by cherry-picking your commits.
Done. I ended up rebasing my commits on the current new_muc. I was able to fix mediated invites, too. Pull request is #283. The only thing I know of left is to clean up the imports, but that's minor.
@Ashfire908 I updated the new_muc branch with the latest changes to develop but now i'm seeing test errors - can you look into them?
Sorry for the long delay before looking into this, I haven't been working on the project of mine that uses SleekXMPP until recently.
I have traced the failing tests due to these changes:
- https://github.com/fritzy/SleekXMPP/pull/279/files#diff-c12f981bbed099442fe509b80649eec3L718
- https://github.com/fritzy/SleekXMPP/pull/279/files#diff-c12f981bbed099442fe509b80649eec3L806
Reverting both of these edits allows the tests to pass. I'm not sure what purpose they had, but I had no issues with my project with those changes undone.