It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Mouse click is ignored when I want to invite a team mate from a list of users.

I am working for Two Sigma and hipchat service is running in data center mode. One of the problems I am seeing is that I can't select a user with clicking a mouse from an invitation popup window. Scrolling mouse doesn't move up/down a highlight bar either. But I can use arrow keys to move the highlight bar and enter to choose a user for invitation. 

 

1 answer

0 votes
AhmadDanial Atlassian Team Jul 24, 2018

Hi, Hwanson.

I tried to reproduce the issue in the following environment but it is working as expected.

  • OS: Mac OS High Sierra 10.13.6
  • Client Version: 4.30.1

For now, I would like to get more information on the environment that you are running on before troubleshooting the issue further:

Information Gathering

  • The version of HipChat Data Center that you are running on
  • The OS and the version of HipChat client that you are on

Troubleshooting Questions

  • Did you observe the same problem on the web client as well?
  • Is this issue happening on other users in the same data center deployment?
  • If the issue only occurs on the desktop client, have you tried clearing the cache of the client by referring to the following documentations (depending on the OS that you are on)?
  • Is it happening to specific rooms? If it is, have you tried to close the room and rejoin it again to observe if the same problem persists?

Current version we have is Atlassian HipChat 3.1.4 (2018.03.05.095355).

The problem only exists on a web client, not a desktop.

All of users have the problem with a web client.

I tested with Chrome/Firefox in windows 10 and linux. All of them have the problem.

The problem happens in all of rooms.

 

The interesting observation is that after I add one user with enter key, I can select a user with mouse click.

When I debug app-4.30.3.js, I found some suspicious sequence of  setting up event handlers on "select2-results".

When a user clicks "Ask them to join you" from Room, AbstractSelect2.init() is executed. All of event hooking against "dropdown" is done on an element(.select2-results) for "These people". Then a user clicks a text area for "These people", another select2-results is added into DOM and the previous one got removed. All of mouse activities for the second "select2-results" will be ignored, since there are no event handlers for the element.

AhmadDanial Atlassian Team Jul 25, 2018

Hi, Hwansoo.

Thank you for the confirmation. I was able to reproduce it in the web client in general across different platforms (Mac, Windows, and Linux) and verified that the functionality works normally once a user is added to the list.

I opened up the developer tools to understand what is happening in the backend and as you mentioned, we are looking at select2-results class specifically. I was trying to go through the app-4.30.3.js but I was unable to determine which line you were actually referring to.

Screen Shot 2018-07-26 at 08.54.16.png

Screen Shot 2018-07-26 at 09.55.53.png

When you mentioned the "Ask them to join you", I traced this down to line 21 in the file but I was unsure on how you proceed with the troubleshooting steps. Before I go ahead and create a bug report for this, can you share specifically the code snippet / line where we can see that there were no event handlers available for the select2-results element in that file so I can understand this better? Thank you.

Good to hear that you could reproduce the problem.

I recommend to expand the minified javascript to more readable one by clicking pretty print icon("{}") at the left bottom in the middle window so that you can see somewhat readable javascript.

The invite people pop up creates M which creates "select2-results".

You will see the below code at line 81281-81282 after expanding it with pretty print.

====

a = s ? new R : new M,
a.init(n);

====

a.init() will call init method at line 79886.

You will see the below code at line 79905.

this.dropdown = this.container.find(".select2-drop"),
v(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass),
this.dropdown.addClass(S(n.dropdownCssClass)),

 

The above code finds "select2-drop" and add event listeners on this.dropdown.

For example, 

this.dropdown.on("mousemove-filtered touchstart touchmove touchend", ".select2-results", this.bind(this.highlightUnderEvent)),
f(80, this.results),
this.dropdown.on("scroll-debounced", ".select2-results", this.bind(this.loadMoreIfNeeded)),
e(this.container).on("change", ".select2-input", function(e) {
e.stopPropagation()
}),

.....

this.dropdown.on("mouseup", ".select2-results", this.bind(function(t) {
e(t.target).closest(".select2-result-selectable").length > 0 && (this.highlightUnderEvent(t),
this.selectHighlighted(t))
})),
this.dropdown.on("click mouseup mousedown", function(e) {
e.stopPropagation()
}),

 

But "select2-drop" is not the one for choosing a name from the list. That's just text field element. you can find it from "Elements" tab and search "select2-drop".

select2-drop.PNG

Once you click the text field, you see the list of names. Though you scroll a mouse or click a button, you won't see any change. I think that the event listening is happening against the above element, not the one which is added into DOM after poping up the list of names.

AhmadDanial Atlassian Team Jul 29, 2018

Hi, Hwansoo.

Thank you for the details. I went ahead and created the bug report as per the following:

I encourage you to visit the bug page linked above and click the Watch link near the top right to show support for the feature. By doing this, it will ensure you are proactively informed of progress and updates going forward.

Share your feedback by leaving a comment on the ticket as this helps us prioritize the bug better. Hope that helps.

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Hipchat

Hipchat Cloud and Stride have reached End of Life (updated)

All good things come to an end - thanks to all our customers and partners who have been along the Hipchat and Stride journey with us.  As of Feb 15th 2019, Hipchat Cloud and Stride have reached ...

35,536 views 9 8
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you