Improve HipChat XMPP support

NEW
Unassigned

Status

Chat Core
XMPP
3 years ago
a year ago

People

(Reporter: chenbin.sh, Unassigned, Mentored)

Tracking

trunk

Thunderbird Tracking Flags

(thunderbird43 unaffected, thunderbird_esr38 affected)

Details

(Reporter)

Description

3 years ago
User Agent: Mozilla/5.0 (X11; Linux i686; rv:39.0) Gecko/20100101 Firefox/39.0
Build ID: 20150806001005

Steps to reproduce:

use hitpchat https://confluence.atlassian.com/pages/viewpage.action?pageId=751436251


Actual results:

chat is fine. but when my colleagues send me the room invitation, I cannot see it.

I go to the hipchat room settings through its web UI, find the room jabber id, click the join chat button, but always failed. I also try to assign a default channel and relogin, doesn't work.


Expected results:

first, I need figure out how to join the room of hipchat? It's could be program's bug or just unfriendly UI.

second, could you add some official support to hipchat like gtalk, when I say official, I means the frendly UI as gtalk.

thunderbird 38.2.0 on Gentoo Linux

Updated

3 years ago
Status: UNCONFIRMED → NEW
Ever confirmed: true

Comment 1

3 years ago
With a current nightly (Instantbird), I can connect to hipchat and then join a room, following the instructions here:
https://confluence.atlassian.com/display/HIPCHATKB/Connecting+to+HipChat+using+Pidgin

Sadly, hipchat is very nonstandard, so in particular you have to be careful to use the right nickname when joining a room, and the room names and usernames have strange numerical prefixes. So the request for a separate account type (similar to gtalk) that takes care of these details makes sense. Whether this should be an add-on or shipped by default would have to be discussed.

I did not test invites.

However, with TB 38.2 I could connect the account, but not join a room. This is not completely surprising as there have been a lot of improvements to XMPP MUC support recently!

Comment 2

3 years ago
Is it obvious which of the many MUC bugs fixed joining hipchat rooms? Maybe we could uplift to TB38 (if it does not contain strings). It's possible it's not just a single patch though...
Flags: needinfo?(a.ahmed1026)

Updated

3 years ago
status-thunderbird43: --- → unaffected
status-thunderbird_esr38: --- → affected
(Reporter)

Comment 3

3 years ago
thanks for the the reply.

It's great if you can add a hipchat account type.
Note that there's some code around for this:
* https://github.com/mozillavenezuela/instantbird-addon-hipchat
* https://github.com/mozillavenezuela/instantbird-protocol-hipchat

Neither of those actually do much besides play with the connection settings though. It seems like we'd need to:
* Make connection easier (e.g. not have people provide a connection server, remove options for ports, encryption)
* Don't allow overriding the handle when joining chats
* Figure out the join chat room list stuff
* Likely fix the way the list of chats is gotten for HipChat for the awesometab in Instantbird
* Ensure that pinging works with the "@", if that's still how HipChat does things.

We'd (likely) accept this into core, but I don't know if any of the current contributors use HipChat, so it's unlikely to be a priority for us. I'd be willing to mentor someone on this.

If you have some free time and know a bit of JavaScript, you could help improve this yourself! :)
Mentor: clokep
Summary: better hipchat support → Improve HipChat XMPP support
(Reporter)

Comment 5

3 years ago
If you plan to add new hipchat account type into core, I can help. Please send me the dev setup doc. I can work on weekend, it might be 2 days work. my email is chenbin DOT sh @ gmail DOT com

Comment 6

3 years ago
(In reply to chenbin.sh from comment #5)
> If you plan to add new hipchat account type into core, I can help. Please
> send me the dev setup doc. I can work on weekend, it might be 2 days work.
> my email is chenbin DOT sh @ gmail DOT com

It's straightforward to build Thunderbird
https://developer.mozilla.org/en-US/docs/Simple_Thunderbird_build
or Instantbird
https://developer.mozilla.org/en-US/docs/Simple_Instantbird_build

I'd recommend looking at how the gtalk protocol works as a starting point, it is also based on XMPP
https://dxr.mozilla.org/comm-central/source/chat/protocols/gtalk

Patches welcome, you can attach them to this bug.
(In reply to aleth [:aleth] from comment #2)
> Is it obvious which of the many MUC bugs fixed joining hipchat rooms? Maybe
> we could uplift to TB38 (if it does not contain strings). It's possible it's
> not just a single patch though...

The issue that chenbin.sh faces
> chat is fine. but when my colleagues send me the room invitation, I cannot
> see it.
I think it's related to this bug 1050779 (to receive invitations).
Flags: needinfo?(a.ahmed1026)

Comment 8

3 years ago
(In reply to Abdelrhman Ahmed [:abdelrhman] from comment #7)
> I think it's related to this bug 1050779 (to receive invitations).

It's not that, in TB 38 it's not possible to join a hipchat room even without an invite.
(Reporter)

Comment 9

3 years ago
As @aleh said, I accepted the room invitation through hipchat's web UI, I write down the room id, but I cannot join the room from thunderbird.
(In reply to aleth [:aleth] from comment #8)
> It's not that, in TB 38 it's not possible to join a hipchat room even
> without an invite.

(In reply to chenbin.sh from comment #9)
> As @aleh said, I accepted the room invitation through hipchat's web UI, I
> write down the room id, but I cannot join the room from thunderbird.

Yes, you are right. I guessed that at first glance.

I reviewed the code of XMPP in current version of TB.
The code [1] does not follow the spec for joining MUC as it adds <x/> element only if password is provided.
This makes server does not respond when you try to join as code does not show support for MUC.

Check spec XEP-0045 (section 7.2.2)
> MUC clients SHOULD signal their ability to speak the MUC protocol by including
> in the initial presence stanza an empty <x/> element qualified by the
> 'http://jabber.org/protocol/muc' namespace

So this bug 954960 will be sufficient to fix this issue.

[1] http://hg.mozilla.org/releases/comm-release/file/ef42196dbdc0/chat/protocols/xmpp/xmpp.jsm#l703

Comment 11

3 years ago
(In reply to Abdelrhman Ahmed [:abdelrhman] from comment #10)
> I reviewed the code of XMPP in current version of TB.
> The code [1] does not follow the spec for joining MUC as it adds <x/>
> element only if password is provided.
> This makes server does not respond when you try to join as code does not
> show support for MUC.
> 
> Check spec XEP-0045 (section 7.2.2)
> > MUC clients SHOULD signal their ability to speak the MUC protocol by including
> > in the initial presence stanza an empty <x/> element qualified by the
> > 'http://jabber.org/protocol/muc' namespace
> 
> So this bug 954960 will be sufficient to fix this issue.

Thanks for checking! 

We can't uplift this bug to 38 as it adds strings, so this will be fixed only in the next TB release, and of course now for users of beta and nightly versions.

Updated

3 years ago
Component: Instant Messaging → XMPP
Product: Thunderbird → Chat Core
Version: 38 → trunk
You need to log in before you can comment on or make changes to this bug.