sfsam / Itsycal

Itsycal is a tiny calendar for your Mac's menu bar. http://www.mowglii.com/itsycal
MIT License
3.3k stars 235 forks source link

Calendar remains onscreen and becomes transparent to clicks #134

Closed drevicko closed 4 years ago

drevicko commented 5 years ago

Sometimes the Itsycal popup remains visible onscreen after closing it. In this state, clicks "pass through" to the window behind. I can open it again, giving normal fucntionality (eg: clicks go to the popup) but the "ghost" image can be seen "under" the functional Itsycal (eg: when the "ghost" is longer) and the "ghost" remains when I close the popup.

I've not yet identified a clear pattern to when this happens. It may be the first time I open it after I reboot? I'll add info here if I identify a pattern.

After killing the process and re-launching Itsycal, things go back to normal (at least for a longish while).

sfsam commented 5 years ago

Can you describe your setup? macOS version, Itsycal version, # of monitors. I haven't seen this so any info you can provide so I can reproduce would be helpful.

drevicko commented 5 years ago

Mojave 10.14.4 (18E226) Itsycal 0.11.15 (1352)

I've been running 3 screens (2+LCD) in case that may make a difference? I just noticed I had been subscribing to an exchange calendar to which I no longer have access.

Itsycal has now become unstable, runs for a while then sits waiting... (one time it sat running 100% on a cpu)... I've been killing it after a bit. I just ran in a terminal and it came up with this (4 times then seems to try again every now and then):

Unable to get cache filename for attachment: <CalManagedAttachment: 0x7fc5c3d450b0> (entity: Attachment; id: 0x864dfebc95c23d57 <x-coredata://41203B2E-AFE1-4BCC-BBA1-DACEA3D27E56/Attachment/p9> ; data: { attachmentID = nil; contentType = nil; filename = nil; filenameInCache = nil; filenameSuggestedByServer = nil; isAutoArchived = 0; isCached = 1; item = "0x864dfebba6c23c57 <x-coredata://41203B2E-AFE1-4BCC-BBA1-DACEA3D27E56/Event/p7365>"; omitSyncRecord = 0; pathOnDisk = nil; pathOnDiskString = nil; url = "(...not nil..)"; urlString = "?view=att&th=16ad8246e13c9324&attid=0.1&disp=attd&zw"; uuid = "85D3B851-FF67-40D4-988A-B8B46E665AB0"; })

Happy to do some diagnostics (might need instructions though)

sfsam commented 5 years ago

Could you run the Console app and see what it logs when Itsycal hangs? You need to launch Console.app first before launching Itsycal or it won't log the events. In Console's filter field in the top left type "itsycal" to limit the output to relevant messages. You can email me the output instead of pasting it here.

  1. Quit Itsycal
  2. Launch Console.app
  3. Filter for itsycal messages in Console
  4. Launch Itsycal
drevicko commented 5 years ago

I'll try it, but will that differ from output in a terminal window when run from the command line?

fwiw, my "CalendarAgent" was really busy just now for several minutes (>100%cpu), with Itsycal intermittently running hot also (associated?)

sfsam commented 5 years ago

I think Console gives more output.

Re: CalendarAgent - I don't know. Itsycal uses Apple's EventKit framework to fetch events. Itsycal never talks to anything called CalendarAgent, but EventKit might under the hood. In EventCenter.m, you can see all the places Itsycal calls EventKit methods. There aren't too many.

I'm also wondering if this happens on the previous version. If not, that would help narrow things down.

drevicko commented 5 years ago

No, it's since the last update. Pretty sure it was up to date before that too.I'll try it with the console when I get a chance. Thanks for an awesome app by the way :) On 21 Jun. 2019 2:39 pm, Sanjay notifications@github.com wrote:I think Console gives more output. Re: CalendarAgent - I don't know. Itsycal uses Apple's EventKit framework to fetch events. Itsycal never talks to anything called CalendarAgent, but EventKit might under the hood. In EventCenter.m, you can see all the places Itsycal calls EventKit methods. There aren't too many. I'm also wondering if this happens on the previous version. If not, that would help narrow things down.

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

drevicko commented 5 years ago

I've been running the build you sent with --args NoResetOnRefetch and it appears to have fixed the problem.