Gmail Changes, Smarter Parsing, and Edge Cases

The last couple of weeks have been busy ones for our dev team.
Among the highlights: we debugged a particular nasty change with Gmail, made our HTML parser even smarter, and squashed a number of annoying edge cases.
Gmail Changes
We started with a head-scratcher; all of the sudden, two customers began seeing blank emails in their mailboxes. Both were using custom scripts to send email into their Gmail accounts, and neither had changed anything on their end. The emails looked correct in Gmail, but in Groove:

Our logs on made things more confusing. We were in fact receiving blank emails from our email provider, Cloudmailin. While they don’t have as many features as the Sendgrids of the world, Cloudmailin has always been rock-solid when it comes to deliverability.
The team at Coudmailin was as perplexed as us, but they immediately put all their resources behind fixing the problem. It wasn’t an immediate fix, but they were able to finally diagnose the problem.
The blank emails were coming from Google without a content-type header.
While our customers hadn’t changed anything, Google had made one very big change. They stopped adding the content-type header to messages going through their servers, and our customers scripts were broken overnight.
Thankfully Cloudmailin had a fix in production within 15 minutes of finding the issue, and we started seeing the results immediately.
Smarter Parsing
While we put some very nice band-aids on incoming email last month, we knew we wanted to do more. The code had devolved over the years as each new bug was fixed, and it had become harder and harder to use.
So with a goal of cleaning up HTML emails from the top ten clients, we started rewriting code. We won’t bore you with the details, but we ended up with a modular design that allows us to customize parsing not only by email client but also individual versions.
The end result is cleaner tickets across the board, after we removed text such as:


I Heard You Like Email
Well how about emails inside your emails? We definitely didn’t like it; once, we saw how inline replies to previous messages were causing email histories to render recursively.
Talk about deja vu! After a couple changes to the database, we were able to start tracking references between emails. And now our outgoing emails know if a more recent email includes a previous message and won’t render it twice.
Daily Grind
And of course we spent our fair share of time crushing the little bugs that take the fun out of using Groove. Little things like:
- misaligned links on smaller screens
- HTML tags in labels parsed from certain email clients
- better default timezone, instead of American Samoa 🙂
Which add up to smoother seas for all ahead. See you in a couple weeks!
Groove Partners with Import2 for Seamless Help Desk Data Import!
We are thrilled to share some fantastic news with you! Groove has joined forces with Import2 to bring you a seamless and efficient solution for importing data from other help desks. Our partnership with Import2 opens up new possibilities, making it easier than ever to transition your data into Groove. Whether you’re migrating from another […]
Groove 2023 in Review – A Year of Supercharged Support
2023 was a year of exponential growth and innovation for Groove! We poured our hearts (and countless cups of coffee) into crafting new features and optimizations to make your customer support experience smoother, faster, and more delightful than ever. Here’s an overview of the biggest and best changes that transformed Groove this past year. New […]
