icalBuddy icon indicating copy to clipboard operation
icalBuddy copied to clipboard

Support for Mojave and app access to calendar

Open magicdude4eva opened this issue 5 years ago • 13 comments

Mojave introduces stricter privacy controls and icalBuddy sigterms when being used on iTerm2.

To reproduce:

  1. Install iTerm2 and make it default terminal
  2. brew install ical-buddy
  3. /usr/local/bin/icalBuddy calendars

Result:

/usr/local/bin/icalBuddy calendars
[1]    2038 abort      /usr/local/bin/icalBuddy calendars

On regular Terminal the above works. Not sure if iTerm2 requires some specific handling to support this. I logged iTerm2 issue as well.

magicdude4eva avatar Aug 24 '18 05:08 magicdude4eva

iTerm2 author here: I'm at a loss—the terminal emulator shouldn't have any effect on this. Do you have any idea what might be going on?

gnachman avatar Aug 26 '18 01:08 gnachman

Ah, after more investigation I see what's going on—the terminal needs to provide reason strings for every possible permission. Sigh. I'll take this one :)

gnachman avatar Aug 26 '18 01:08 gnachman

Thanks @gnachman - could you perhaps post an update here once this is fixed in iTerm2?

magicdude4eva avatar Sep 29 '18 04:09 magicdude4eva

Is fixed in 3.2.1 and nightly build.

gnachman avatar Sep 30 '18 02:09 gnachman

@gnachman I am running 3.2.2b1 and I can't get it to work. It does work in Terminal and here I notice that I have Terminal granted permission for both Calendars and Reminders.

Not sure how to debug this.

image

magicdude4eva avatar Sep 30 '18 04:09 magicdude4eva

Do you get a window saying "iTerm2" would like to access your calendar? If not you need to go to System Prefs > Security & Privacy, pick Calendars on the left, and then make sure iTerm2 is enabled on the right.

screen shot 2018-09-29 at 11 20 31 pm

gnachman avatar Sep 30 '18 06:09 gnachman

iTerm is there, but Reminders did never prompt: image

image

I did a full uninstall/reinstall of iTerm2 and icalBuddy. icalBuddy works in the stock-terminal app.

magicdude4eva avatar Oct 01 '18 04:10 magicdude4eva

I think I found one issue with iTerm2: I reset all Calendar and Reminders access via:

tccutil reset Calendar
tccutil reset Reminders

After a reboot, starting iTerm2 and then doing a icalBuddy calendars I get prompted for Calendar access and this works: image

In comparison, "Terminal" prompts for both "Calendars" and "Reminders": image

image

icalBuddy works under Terminal, but not iTerm2: image

magicdude4eva avatar Oct 02 '18 12:10 magicdude4eva

Are you on 3.2.2? I added a usage description for calendars and after doing tccutil reset Calendar; icalBuddy calendars I get:

screen shot 2018-10-02 at 3 05 59 pm

gnachman avatar Oct 02 '18 22:10 gnachman

I am on 3.2.2beta3. I do get the prompt for Calendars: image

I think that iTerm2 should also prompt for Reminders though.

After allowing icalBuddy, when using icalBuddy calendars, I get no output: image

Doing the same on Terminal, icalBuddy shows them: image

I am using the same shell (zsh) on both iTerm2 and Terminal, so I am not quite sure what else could be different:

brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)

magicdude4eva avatar Oct 03 '18 04:10 magicdude4eva

I added all the prompts I could find. Calendars, reminders, camera, location, etc.

gnachman avatar Oct 03 '18 04:10 gnachman

Thanks @gnachman - I think you have done enough. It does not look like @ali-rantakari is monitoring issues and since last release was in 2014, I doubt we will be able to further troubleshoot or fix.

It is just quite strange that the stock-terminal app works, but iTerm2 does not. I don't have the time to fork the iCalBuddy project and debug it.

Thanks for all your help....

magicdude4eva avatar Oct 03 '18 05:10 magicdude4eva

FWIW, running iTerm2 3.2.6beta4 and when I ran icalBuddy I received two prompts, one for calendar access and one for reminders.

bradhowes avatar Dec 01 '18 15:12 bradhowes