EXM - Unable to create messages in Email Experience Manager

Here’s a problem i’ve just come across in EXM 3.1.2 (rev 151213):

Trying to create a Message (one time, subscription or triggered) using any templates (custom or out of the box) in the Email Experience Manager UI was failing when clicking on Create. The button stays greyed out and nothing happens. Trying through Content Editor also didn’t help.

I was getting browser console errors from backbone.js:
TypeError: undefined has no properties

Here is what turned out to be happening.

When upgrading EXM, the Message Type definitions are not renamed (e.g. “Adhoc” to “OneTime”), only their Display Names are changed. The dropdown in the Content Editor for selecting a Message Type was using the Display Name, while EXM was using the underlying item name. Renaming the three types to their correct values (“OneTime”, “Subscription”, “Triggered”) resolves this problems.

While i still cannot create message in the EXM UI, If i add a Message through Content Editor i can then view it in the EXM UI. Just need to set the Message Type and State of the message before opening EXM UI.

The definitions are found here:
/sitecore/system/Modules/E-mail Campaign Manager/System/Message Types/