Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't work with multiple spaces correctly on Mac OS #175

Closed
kopach opened this issue Feb 19, 2020 · 22 comments
Closed

Doesn't work with multiple spaces correctly on Mac OS #175

kopach opened this issue Feb 19, 2020 · 22 comments
Labels
Milestone

Comments

@kopach
Copy link

kopach commented Feb 19, 2020

I'm big fan of this app. And thank you for this App. Here I've found some defect. Please, help to reproduce/fix it, if possible. Thanks.

Describe the bug
App version: 9.2.0
App redirects me to the "space/desktop" where it was opened for the first time

To Reproduce
Steps to reproduce the behaviour:

  1. Install App v.9.2.0
  2. Add multiple native macOS desktops
  3. Open App while being on Desktop 1
  4. Open link from any app while being on any other Desktop then 1 (e.g. Desktop 2)
  5. See the defect => App's pop-up is getting opened on Desktop 1 (and not 2) and therefore desktop is getting changed for me. Also, App's pop-up is getting hidden immediately.

Expected behaviour
I do expect App to open it's pop-up with list of browsers in the same Desktop as link was clicked (same as it was with App version 9.1.0)

Screenshots

Desktop (please complete the following information):

  • OS: macOS 10.14.6
  • Version 9.2.0
@kopach kopach added the bug label Feb 19, 2020
@will-stone
Copy link
Owner

will-stone commented Feb 19, 2020

Thanks for the detailed report. Seems this is linked to this comment: #148 (comment)

I can imagine this is linked to the upgrade of Electron. If you or anyone else would like to go through their changelog to see what it could be, that would be much appreciated.

  • B v9.1.0 used Electron v7.1.9
  • B v9.2.0 uses Electron v8.0.1

@optimusdag
Copy link

Same happens for me, when clicking on a different desktop than the one where I opened Browserosaurus, the desktop is changed and the Browserosaurus dialog disappears. It started happening on last version, since it worked fine in the version before.

@will-stone
Copy link
Owner

Thanks @optimusdag. Please have a look on the Electron issues to see if you can find a cause. The thing is, we're essentially making Electron do something it wasn't designed to do.

@optimusdag
Copy link

Hi @will-stone I have looked into Electron's changelog from v7.1.9 to v8.0.1 as you suggested, and I didn't find anything that could be related to the reported behavior. Can you point what Electron methods are you using in that operation so I could take a closer look?

@will-stone
Copy link
Owner

I think this is what used to work: https://github.com/will-stone/browserosaurus/blob/master/src/main/main.ts#L62 I can't see anything else in my main that would allow for moving windows above full-screen'd windows. This has had issues before. I'm in two minds to change the way B works. I may sketch out some ideas and post an RFC. In the meantime, I will consider a roll back to Electron 7 but I'm not a fan of going backwards 😢

@optimusdag
Copy link

Hi @will-stone maybe using win.setVisibleOnAllWorkspaces(visible[, options]) would avoid the desktop switching...

@will-stone
Copy link
Owner

I tried that over the weekend. Unfortunately it didn't work.

@catarino
Copy link

catarino commented Mar 3, 2020

I'm having an issue just with mail.app.

I'm not adding a new issue since I suspect that it's related to having multiple spaces.

I can replicate all @kopach issue points

What I can add is that if I quit Browserosaurus and start again, the problem will go away for a a few clicks and then return.

——
Macos 10.14.6 (18G3020)
Browserosaurus v9.2.0

@kopach
Copy link
Author

kopach commented Mar 3, 2020

@catarino, it may be related to the space where you initially start an app. Suppose I'm on Desktop 1, I'm starting Browserosaurus and until I switch space to other desktop - Browserosaurus will work just fine.

Btw, @will-stone, Any chance to add some option to Browserosaurus in order to disable automatic update but instead have some notification about new release? In that case, when such defects happen which makes Browserosaurus very hard to use, it would be possible to easily downgrade app and wait for fix.

@will-stone
Copy link
Owner

@kopach Sure. B can actually read from a dot file in your home folder: https://github.com/will-stone/browserosaurus/blob/master/src/main/main.ts#L39 I currently use it for ignoring browsers as I have so many installed to test this app. I don't advertise this as it's not fully tested. I suggest adding a noUpdate: true key/value in there. Put in a PR and we can discuss it there.

@kopach
Copy link
Author

kopach commented Mar 4, 2020

@will-stone, I've just had a chance to try this noUpdate option and it doesn't work for me with v9.1.0. App just doesn't startup. What I did was crating .browserosaurus.json file in home directory with following content:

{
  "noUpdate": true
}

And another defect I've noted - There is no opting to quit/restart app when update is available.
See below - there is no Quit button.

image

In comparison to view when there is no new update:
image

@will-stone
Copy link
Owner

Hmmm, apologies as I don't think I was clear. noUpdate doesn't exist. You will need to write the code to support it. Start off a PR and I'll help out.

@kopach
Copy link
Author

kopach commented Mar 4, 2020

aha, ok. got it. thanks. will try to check it out in a while

@CedricGatay
Copy link
Contributor

It was working fine before the update to 10.15.4 for me

@catarino
Copy link

catarino commented Mar 27, 2020

@CedricGatay

v9.1 works great.

Download it from releases:
https://github.com/will-stone/browserosaurus/releases/tag/v9.1.0

@pdxbmw
Copy link

pdxbmw commented Mar 28, 2020

Hi @will-stone maybe using win.setVisibleOnAllWorkspaces(visible[, options]) would avoid the desktop switching...

I tried that over the weekend. Unfortunately it didn't work.

I tested this setter method locally and it worked for me. I've opened PR #184 with my changes (perhaps there are other use-cases I didn't test). If this needs further work, please let me know and I can continue troubleshooting.

@catarino
Copy link

@pdxbmw thanx Andi, will test it.

@chrisands
Copy link
Contributor

chrisands commented Mar 30, 2020

I got the same issue.

I figure out that this part of the code is responsible.

pickerWindow.hide()

If I change it to .minimize() then on clicking a link in another workspace will switch to the main window (where browserosaurus was opened) and show the browserosaurus.

I couldn't find any solution to show the window every time in an active workspace. I think it possible to write webworker that will listen for link clicks and every time will start createPickerWindow, but it is just a thought.

@pdxbmw I tested your fix and it didn't fix for me. Tho I didn't try to build an app, only yarn start.

Tested on macos: 10.15.3

@sushione
Copy link

Same here with High Sierra 10.13.6
It's very sad because it's almost unusable because of this bug :(

@will-stone
Copy link
Owner

It's very sad because it's almost unusable because of this bug :(

Is It? I use it everyday (and I built it for me 😜). Embrace the one workspace world 🥳 See my side rant which is applicable to multiple desktops too.

Anyway... v10 may solve these issues. It's going to be quite different and I'll be looking for feedback. I will be posting an alpha and I will try to invite (tag) all of those that have logged issues and PRs.

@sushione
Copy link

I mean, I love your work and this app ! The most usefull and well designed out of there. To bad I use many virtual spaces ;)

@will-stone will-stone added this to the v10 milestone May 30, 2020
@will-stone
Copy link
Owner

Fixed in v10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants