InterPals missing chats conjurer add-on
I’ve been using Interpals for a couple of years now (as a website, not mobile app) and I must admit it’s been pretty useful, yet full of annoying bugs and glitches. One of the most irritating was never disappearing +1 notification. Other users also complained about it.
Disclaimer: This is an NOT an official InterPals software.
First I ignored the problem of phantom +1. Then I realized it actually indicates a message that remains unread by me. I dislike when people do that, intentionally or not, so I tried to figure out what’s happening. Somehow I discovered that if I filter my browser history by website and reopen everything in tabs, the lost conversation may be found. Then I started investigating further, which led me to the following algorithm:
- Message is sent to me when I am offline. I turned email notifications on, that way I get notified by email with a link to the chat. Nothing gets lost in this case.
- I am online, and I’m actively monitoring website’s native notification area. If I’m quick enough, I can spot the notification pop-up and it directs me to the chat even if it is not showing up in ‘Messages’ page.
- However, pop-ups disappear quickly, and I simply can’t pay attention to the website constantly, which means there is a huge chance the pop-up will be missed. In this scenario a message/thread/chat is lost.
Naturally, I reported the behavior to support desk, but I had a feeling they won’t solve the issue in a reasonable time (in hindsight, I was right). But wait, we have all the necessary data, and the problem can be quickly solved on user-side!
So I found a couple of ways to intercept and parse native notifications. Unfortunately, I could not pack the most elegant solution into proper add-on because of security limitations. Yet I wrote something that monitors the native website’s notification area and persists the short version of notifications in LocalStorage. All is done on user-side, so your private data is safe. It also displays the list of persistent notifications on the lower right of your page.
A couple of things to mention. Obviously this plugin only works for website and it has nothing to do with mobile app. Also, it only works when you have website opened in a browser tab, which is not a big problem considering that you will not lose messages if you are offline thanks to email notifications.
The source code is available on github.