So the new Apple OsX operating system Mavericks (OsX 10.9) shipped earlier this week, and Apple took the bold step of offering the upgrade completely free. I, of course, being an Apple geek, immediately upgraded my Macbook Air.
Overall, I've been happy with the release. I like the sleeker look, and the new features, while subtle, are still neat and useful (I especially like how the battery monitor now tells you which applications are using an inordinate amount of power). However, there is an incredible gotcha that all Apple users who access Gmail accounts through Apple's native Mail application should be aware of before upgrading.
Dave at Blogography discovered this bug. After upgrading his work machine to Mavericks, he left his Apple Mail open for a while, and came back a while later and found that all of his Gmail messages had been deleted. This had taken place not only on his computer, but on Gmail's servers as well. And note that this was his work computer. I can only imagine the jolt of fearful adrenaline that shot through his system when that happened.
Fortunately, Dave happened to post what happened to Facebook, and equally fortunately I discovered his post before I opened up my Mail program. I have, apparently, over 100,000 messages going back over 10 years stored on my Gmail account. So, while Dave had to fuss around with his backups, I saved myself this step. The drawback was that Mail was basically unusable until someone could figure out a way around the problem.
The fault lies equally with Apple and Gmail. Gmail, apparently, uses a decidedly non-standard IMAP protocol for storing its messages online. Apple had somehow managed to kludge itself to work with this non-standard set-up, but the upgrade to Mavericks made Apple's mail a lot less tolerant of Gmail's non-standard practises, and so the arrangement broke apart. This means that Google's problems don't hinge on Apple alone; any third party e-mail application could end up breaking at any time. Regardless, Apple's still broke first, and it broke the biggest.
So, shame on Google for adopting this non-standard protocol and refusing to play nice with third party mail programs, but shame on Apple as well for not realizing that their new system broke the old arrangements, thus dramatically affecting the way many users access their e-mail on their Apple computers.
But enough complaining: in the end I found a workaround and here's how I did it.
The main problem appears to come when you store your old Gmail messages in a series of nested folders. The problem is these aren't actually folders, these are tags. Google doesn't recognize mail that you drop into archival mailboxes as being dropped into folders, they simply keep everything in one big mailbox and tag messages accordingly. Some are tagged "Inbox". Some are tagged "Archived messages." When you nest these "folders", mail gets tagged "Top folder", "Sub Folder", "Subsub Folder" and so on. Apple, on the other hand, does see these "folders" as folders. So, when the new Mavericks Mail goes to synchronize with GMail, it looks out on the folders and goes, "WHOA! Where did all the folders go! Everything is GONE, DUDE!" and proceeds to synchronize the system by wiping out everything in your stored mail, and then, because it's moved all that mail to trash, it somehow still manages to find the e-mail on Google and change all of those labels to Trash. Cue dramatic music.
So, here's what you do. First of all, before opening Mail on your Mac, open System Preferences. Click on Internet Accounts and delete all the Gmail accounts on your system that have this filing structure. This should delete all of the data on your system, but don't worry, it will preserve the data currently stored on Google. Then, through a brower, access your Gmail account. Go through each of your folders, select all messages, and click "Move To" and move those messages to a new folder or a folder of your choice that's on the top level of the directory. Once you have all your messages moved to folders that aren't sub-folders of another folder, you can now re-open System Preferences, click on Internet Accounts, and add your Gmail accounts back. The system will copy the files that are on the Google server back onto your machine and you will be good to go.
I am taking the extra step of moving my archived messages to my iCloud account to prevent something like this happening in the future (because, fingers crossed, Apple should be able to make sure Mail continues to play nice with its own Cloud storage and mail service, right? Right?!), but your mileage may vary. If you do decide to go that route, here's how you do it.
- The very forgiving Dave at Blogography reviews the Mavericks' operating system that almost caused him a heart attack.