A Simple Hack: Sorting rooms and people

This post was originally written by a colleague of mine, @michelgrootjans on our internal Confluence.

Problem

It's inefficient and time consuming to use the People sidebar to find people when there are many of them.

Manual sorting doesn't scale.

Using the 'New Chat' works of course, but why would you need a sidebar then?

I would like my sidebar to be automatically sorted.

Screenshot 2017-10-05 at 21.54.22.jpg

Solution

For OSX users, edit HipChat.app/Contents/Resources/chat.html.(tested and works)

For windows users: edit <hipchat_installation_root>/localweb/hipchat-client.js (not tested, please let us know in the comments if this works for you)

 

I would like to sort conversations based on recency. Feel free to edit this page if you've found how to do this.

I've managed to sort by unread count first, then by alphabetical name. To get this behaviour, add these lines at the beginning of the function orderRooms:

...
}, { key: 'orderRooms', value: function orderRooms(rooms) { // start of hack: sort rooms by [unread, name] rooms = _(rooms).chain() .sortBy('name').reverse() .sortBy('unreadCount').reverse() .value() // end of hack if (this.data.room_order.length) { var results = _.compact(_.map(this.data.room_order, function (jid) {
...

References

 

Thanks again Michel for letting me share this interesting hack with the rest of the world!

2 comments

I solved the same issue a different way, which also let's me change how the names are displayed in the left-nav.

 

In `_getPeopleList`, replace,

...
name: room.name
...

with,

...
name: room.displayName
...

 

Add then add the following at the top of `orderRooms`,

 // Hack Begin

// set some additional name fields
var roomNames = _.map(rooms, function (room) {

// name to sort on
room.sortName = _(room.name).split(', ').reverse().value().join(' ');

// name to display in left-nav
room.displayName = room.sortName;

return room;
});

// sort the rooms
var sortedNames = _.sortBy(roomNames, 'sortName');

// replace original rooms with sorted rooms
rooms = sortedNames;

// Hack End

Worked for me on Windows 10!

Thank you!!!

Comment

Log in or Sign up to comment
Community showcase
Published Aug 10, 2018 in Hipchat

What should I think about when migrating HipChat to Slack?

...from the beginning. We have built up a lot of content in HipChat, with it being a core tool in our distributed company model. While it is true that we didn’t need to move to Slack immediately, we felt it...

394 views 1 10
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you