You would think that after 50 years of the calendaring madness that it would end, but with two non-profits, a for-profit and two personal calendars, like is just not easy and conflicts are happening everywhere. So starting at 2AM last night, I finally resolved to try to fix this problems, but the main issue is Apple Calendar seems to have a huge number of bugs:
- All these calendaring applications assumes there is only one master calendar. Man, folks who do things like https://calendly.com do not live in the real world of startups and organizations. Right now I have a personal Google account and then three other entities that are trying too schedule meetings. As well as Apple share calendars that is our true home.
- So here are the issues. There is no way for any organization to determine whether I'm really free or busy. The only solution I've come up with is that all calendar data should have a home. In my case, that's the iCloud account. Then every other identity has to be invited to all meetings. It adds four more addresses, but at least theoretically I won't get duplicate and conflicting calendar entries.
- This should all work find since Apple Calendar supports iCloud and Google Calendar directly and I can see all of them.
- However, MacOS Calendar has a huge number of bugs, so it can go into in infinite loop spamming all your attendees if you are not careful. So probably best not to use Calendar for a while if you care about sending invites outside of Apple.
At least that's the theory. In reality, this is all just super broken, so here are some of the bugs:
- When I create an entry in Apple Calendar and try to specify my personal Google calendar with an email, it refuses to send an invite. It just deletes that entry. I think this is because my Apple login is the same as my Google login, so it thinks I'm trying to send to myself. There appears to be no user interface to allow this.
- When you get a Google calendar invite that goes to my Google email@example.com, it automagically accepts it. So I never see it in the Apple side. The invitation email seems to be consumed by Google automatically.
- Even if you have all those invites on an organizational calendar, Google Calendar (or maybe the Apple Calendar client) will blithely automatically accept everything.
- The calendar invites do not appear across the three organizational calendars. Sometimes it is one, sometimes two, but never three. Sigh, I think more consumption is happening.
- For one calendar, I get a nicely formatted mail from iCloud that let's me accept and reject, but it is always automatically accepted.
The solution appears to be to first:
- Turn off all the automatic calendar acceptances in Google. This is in General Settings > Event settings and has to be done in each Google account. The settings are actually pretty complex. Under Event Settings, you need to change Default Guest Permissions to Modify Event, so that if someone changes something they can (that is super annoying for most meetings), then say No to Automatically add invitations and finally in event from Gmail, turn off Automatically add events.
- Get rid of Google Meet video conferences. Probably the most aggravating feature. But, you need to turn off Automatically add Google Meet Video Conference to events I create. if you have Gsuite, then the only way to do this is as the system administrator and go to Admin > Apps > G Suite > Calendar > Sharing Settings. While you are there, you probably want to change Internal Sharing Options for Primary Calendar to
ONly Free Busyotherwise the default is that everyone can see every calendar entry. EAch user can change it, but it's hard to imagine most people want everyone to see all their calendar options.
- I don't understand what Apple Calendar is doing under the covers, theoretically, it never accepts an invite, you go to the Notification Center and decide what you want.
Here are the heaps of bugs
The Results are that there is an Apple to Google bug
Right now, I have three different Google Suite accounts and all are identically configured but have completely different results:
- One account works fine. it actually syncs new events.
- Another account shows an exclamation point saying there is a server error.
- And a final one shows a question mark, so you can't tell what is going on.
Apple has some other bizarre features like, if you don't use iCloud Calendar, but have an Apple account, it will dump invitations automagically into that calendar and consume them argh!
Also if you get an plain email with an
ics file, it doesn't seem to work well with Apple. you get repeated server errors.
There is another Catalina bug where it can't read the ICS files and gives an error message, but if you rename to VCS it works that looks like
Import failed to save. There was an internal error attempting to save this import. The changes made were not saved.
It works fine on IOS, so some regression in the Mac code. I'm really going to like it when they converge code bases.
There also appear to be bugs using the location field. These do appear to send correctly either. But for us at least this doesn't seem to be exactly the issue.
The only solution looks like using a Google Calendar as the core of syncing which is really unfunny.
Apple Calendar does work with Google Calendars if you don't use iCloud Calendaring
Ok, so the way that seems to work is not to use Apple Calendaring, if you use Apple Calendar directly again Google Calendar, then the notifications work. You will get email to your account and if you click on Yes, it will add it annoyingly to your Google Calendar when you click on Yes
It turns out you have to use that option because of the ICS file reading bug. It won't just stick it on the local calendar.
Learn to manually refresh calendars, duplicate and fork
Finally thing to realize is the default is a calendar update every 15 minutes. I turn it up to 5 and also use Command-R to force a refresh
So the final work around is:
- Then from there do all the invites there back to your other identities. Kludgy but it works.
- Turn off all the auto accepts in the mean time and you will see a bunch of them come along, so you have more work to do to hit accept.
- When you do the duplicate there is latency. It is probably talking with the server, so wait a minute otherwise you won't be able to add new people. If you do want to use iCloud, then know your iCloud email address and invite from there.
Do not duplicate invites
If you get a new invite, duplicate it to a single google calendar.Note that there appear to be some serious bugs with Apple Calendar as well when you duplicate. When trying to change, I had an infinite loop of "You have updated the link please acknowledge" so perhaps it is best not to duplicate.
As an aside, even a simple duplicate doesn't work well. If you duplicate and you have attendees, they get another event request. Which is not what you want.
If you mistype an email attendee, you can never fix it, you must delete a cache
Wow this is super terrible quality control, but if you mistype an email address for an attendee, you can never correct it, autocorrect will always get you back to the wrong address, typing backspace doesn't work.
The developer didn't set the flag saying override, so you end up in infinite autocorrect incorrectly. Sigh. Apparently, this autocomplete cache is buried in a special location, but this is not what Calendar is using. The actual location is nearly impossible to find go to Calendar > Preferences > Advanced and there is a button
Remove all recent locations and attendees
sudo rm -rf ~/Library/Containers/com.apple.corerecents.recentsd/
Resetting the calendar is not easy
The simplest thing to do is to go the
~/Library/Calendar and just delete everything and let it recreate it. You also need to click and unclick the calendar entries
Moving from Apple to Google Calendar does not work
It says it will move it, but it fails and you lose the event. So you need to retype. Sigh.
If you need to invite more people you must recreate the invite
At least with Google Calendar underneath, adding more people does not cause invites to appear. Even clicking on
invite again` does not work.
So net, net, it's best for right now if you are doing inviting outside of the Apple world, to revert Google Calendar
Invites from Google Calendar to not appear in iCloud Calendar
This is a really mysterious one. If you send a Calendar request from Google Calendar to an iCloud.com address, it gets eaten, so if you want to send invite, you need to use your Apple Calendar on one side and Google Calendar on the other. Sigh.