jordanbaird / Ice

Powerful menu bar manager for macOS
https://icemenubar.app
GNU General Public License v3.0
14.66k stars 268 forks source link

[Bug]: XXX is unresponsive (yellow exclamation) until Ice is quit and relaunched #269

Closed luckman212 closed 4 months ago

luckman212 commented 4 months ago

Check Existing Issues

Description

I recently updated Syncthing on my Mac, whose icon I had previously put in the "Always Hidden" section. After relaunching it, the menubar icon appeared at the left of the menubar (not the Ice bar) and when I tried to open the Ice settings to move it, I saw a yellow ⚠️ symbol and the message:

Item is not movable. Syncthing is unresponsive. Until it is restarted, it cannot be moved. Movement of other items may also be affected until this is resolved.

Quitting Ice and relaunching it allowed me to move it back to the Hidden Ice Bar.

Steps to Reproduce

? unsure

Ice Version

0.10.3

macOS Version

14.5

Screenshots

image

luckman212 commented 4 months ago

Forgot to mention that:

jordanbaird commented 4 months ago

I believe we're using the same API as Activity Monitor to check for responsiveness. So it's weird that it would give a false positive. I'm thinking it has to have been unresponsive at some point, and maybe Ice just hasn't updated its state to reflect the fact that it is now responsive? I'll look into it.

luckman212 commented 4 months ago

This may be important:

I was compiling a custom build of Syncthing from source. So the steps I took were:

  1. Quit Syncthing
  2. Compile new build (app's code signature changed because I sign with my own Developer ID)
  3. Replaced old version of Syncthing app with new build in /Applications
  4. Launch new build
  5. Menubar icon appeared to the left of Ice's "chevron" (previously it was supposed to be in the Always Hidden section)
  6. I opened Ice's preferences to try to put it back in Hidden, that's when I saw the exclamation and error message above.
  7. Quitting and relaunching Ice cleared the issue...

Thanks @jordanbaird

luckman212 commented 4 months ago

After restarting my Mac, this happened again, so it actually does seem to be somehow specific to Syncthing or perhaps the fact that this build is not notarized?

screenshot_G0J58rMo

dblinnikov commented 4 months ago

It's not tied to your specific app. I have exactly the same issue with BetterTouchTool app if i do "Restart BTT" option. As well, it's moveable via standard Cmd+drag.

image
s235784 commented 4 months ago

The steps I found to reproduce the problem are:

  1. Click the icon in the separate bar, and it will appear in the menu bar.
  2. Quit the app.
  3. Relaunch the app.

Now the icon is shown in the menu bar and will not be hidden. Currently, the only way to resolve this is to relaunch ice and drag the app back into the hidden section.

jordanbaird commented 4 months ago

@s235784 This isn't the same issue. This issue is specifically about the yellow unresponsive image and alert. What you're describing is due to the fact that Ice doesn't actually control the order of items. Showing items using the Ice Bar is a special case, where it remembers the item's original location and returns it after a certain amount of time, but if you quit the app while it's shown, it cancels that operation, so you need to manually move it back. Ice will eventually get profiles, which will resolve this, as every item will always be remembered.

EDIT: Although, upon further investigation, this may actually be related. I'll need to look into this more.

s235784 commented 4 months ago

Thanks, @jordanbaird. It's my fault for not describing the steps carefully. Open the ice settings instead of relaunching it, and you'll see the yellow unresponsive icon and alert.