Back to Basics
Summary: We focused on improving core ticketing functionality this week; specifically, parsing incoming emails from Gmail and Outlook. The week ended on a high note as we migrated to our new infrastructure Friday night.
Where’s the Text?
There’s no way around it; parsing emails correctly is a hard nut to crack. With an ever growing number of email clients and apps, we see new message formats all the time. This week we noticed a trend with replies missing text:
While not as popular these days, people still do reply inline to emails. Inline replies are complicated to parse correctly, so we usually show the entire message to make sure nothing is lost. Well it turns out that if a customer starts a reply in Gmail and later continues to compose the reply inline, the inline replies would disappear.
This lead to cryptic emails like:
All because the message included an extra HTML element than usual. Once we accounted for that scallywag, inline replies worked again:
For the web developers out there, Outlook is our Internet Explorer. Microsoft never ceases to amaze, and this week they handed us another head slapper.
Under certain (still unknown) circumstances, Outlook will format a standard reply as an inline reply. This wouldn’t be a huge problem by itself, but random whitespace is also inserted into the beginning of the message which throws off our parser. The end result? A confusing empty reply.
Like most bugs, it was an easy fix once we figured out what exactly was happening.
Smoother Seas Ahead
We continued working to reinforce our infrastructure to ensure that serious downtime events (like the one we had in February) don’t happen again.
As of Friday night, we are running on our new redundant infrastructure. No longer will we (or our customers) be vulnerable to one-off rotten instances. Our environment, in Engine Yard terms, now consists of:
- 2 web servers to talk to your browsers
- 2 databases to keep your tickets snug and tight
- 2 hard working utilities to keep your emails going out to your customers
- 2 websocket servers so chats can go all night
In short: more redundancy, more stability, and more sleep at night.
We also spent a lot of time on the automated recipes that configure our environment. Before, past manual changes to our previous setup were one of the main reasons it took so long to bring Groove back online from an outage. Now, everything is automated. And while we hope to never have to, we can build a new environment from scratch in less than 20 minutes