Recover a deleted HipChat Room on HipChat Server

If you accidentally delete a room on HipChat (server in this case). Is there a way ro recover the room? If not, is there a way to remove the Delete Room option?

1 answer

0 vote
Kent Baxley Atlassian Team Aug 30, 2017

Hi Mark,

Deleting a room is not a reversible user action, so that room's history is not recoverable. If a room is  deleted, there is no way to recover the information, as it will be purged from the system.  

There is no supported way to remove the delete room option.  The code lives in /hipchat-scm/web/application/views/rooms/delete.php on HipChat Server and it may be possible to modify that .php to prevent it from deleting any rooms.  Be aware, once again, that modifying this is not supported, so, if changing that file breaks anything, you get to keep the pieces :)

The other option is to restrict room creation and deletion to admins only via https://your.hipchat.server/admin/preferences.  The "who can create rooms?" option can be changed to restritrict this preference to admins only.  This is a bit draconian in that only admins can create rooms but it will prevent normal users from deleting rooms at will. 

Thanks Kent.

 

If we can't recover a room explicitly, is there a way to create a room with the same name, and importing chat history into the new room? I see instructions for importing chat history for all rooms, but not a way to do it for just 1 room.

Kent Baxley Atlassian Team Sep 01, 2017

Hi Marc,

I did some additional digging around on this yesterday.  You may be able to 'undelete' the room in the database and get your history back.  Here's how:

 

1) Take snapshot of your VM prior to making changes in the databse.  This way you can quickly roll back to a last-known-good state if you need to.

 

2) Log in to HipChat Server's command line. 

 

3) Run this query to access the database prompt:

DBPASS=$(awk '/"pass"/ {gsub(/[",]/,"");print $2}' /hipchat/config/site.json) && mysql -u root -p$DBPASS hipchat

 

4) At the database prompt, run the following commmand...substitute "my_deleted_room" in Pretty Name for the actual name of the room that was removed.  Retain the quote marks around the name:

select * from rooms where pretty_name="my_deleted_room

5) If you see the room, you'll see that its is_deleted flag is set to 1.

6) Run this query to reset the deleted flag back to zero..again, substitute the room name accordingly:

update rooms set is_deleted=0 where pretty_name="my_deleted_room";

7) Type quit to log out of the database. 

8) Log out of your chat session, log back in, and search for the deleted room.  

9) Once you are back in the room, please check and see if the history is present.  

I tried the above and was able to get back into the room and see the chat history. 

Let us know if that helps. 

Is that attempt available for any Hipchat user?  Or do you need some sort of server kit or premium access?   Would it matter if the room was restarted a second time?  In my case the original loss was about a week ago.

Any help on all this is appreciated. I ran into a similar awkward situation and would love to at least have a file with the chat.  (Although of course images are a big part of a Hip-chat.)

=====

Similarly, it would be helpful to have any log on the actual deletion.  And is there a delete room hardening so that even you can not easily delete your room (thus if someone accesses your account for five minutes they could not delete the room.) Since it is so hard and uncertain to recover, there should be something like a password or two-factor method or something.

Thanks!

Steven

Arbi Dridi Atlassian Team Nov 17, 2017

Hi Steven, 

When a room is deleted via the UI, it's a logical deletion in the database. A flag is marked as true but the database entry is not deleted via a SQL DELETE. 

The will always be there along with its history as soon as no room with the exact same name is created. In which case the history of the "deleted" room will be wiped out. 

Restoring a deleted room can be done by anyone with backend access to Hipchat Server/Data Center and thus access to the database. 

The room deletion event is stored in the audit log screen https://hipchat.yourdomain.com/admin/audit or in the database's important_events table. 

There's no additional check when a room deletion action is called from the client. 

Would it matter if the room was restarted a second time?

Does that mean the root was created a second time with the same name? In this case, the history is lost for sure. 

would love to at least have a file with the chat.  (Although of course images are a big part of a Hip-chat.)

Can you please clarify this? 

Thanks. 
Arbi Dridi
Premier Support Engineer | Atlassian

Well first I am not using my own domain, I am only using the Hipchat server in the simplest free mode. This is mostly friendly conversation.

A new room was created with the same name after the deletion, by accident.

What I was saying was that it is not so much the actual room that is important, just a log file with the chat.  However, pics are an important part of Hipchat so the best log file would be more than text, it would include the .jpg or other pics included.

Probably the only place the conversation would be would be in a backup from 10 days or more ago.  Perhaps this is a bit too bureaucratic for Hipchat to accomplish, except in truly important legal or business operations?

As I said, it does seem to be to easy to delete a room. The simplest control would be to ask for the user signon-password in a confirmation box.  This would have protected my room. 

Sometimes people can have your room open on your puter or tablet, they do not know the password, they are simply an auxiliary situation, and yet they can delete a years worth of conversation in 30 seconds.  Considering how easy it would be to prevent this, I suggest at least the user-password hardening.  This is a common internet confirmation dialog.

Steven

Arbi Dridi Atlassian Team Nov 20, 2017

Hi Steven, 

If you're not using your own domain then you must be on Hipchat Cloud and not Server. Additionally, there isn't a "free" Hipchat Server edition. 

We've created a feature request to require a password confirmation before room deletion: 

HCPUB-3625 - Password confirmation prompt before room deletion

Please watch and up-vote it. 

If the request gets enough votes, it can only be implemented in Hipchat Data Center (formerly known as Server) since Hipchat Cloud is discontinued in favour of Stride

On the room's history, I'm afraid it's not possible to restore itif you haven't requested an export from Cloud before the room was deleted. 

Thanks. 

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Jun 19, 2018 in Hipchat

Moving from Hipchat to Stride? Here’s what you’ll love

Heya, Hipchat friends! We’re so happy you’re checking out   Stride. Whether you know it or not, you have been instrumental in making Stride come to life. Every feature, design, and functionality...

17,415 views 4 9
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