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

Not working with links from Full Screen apps and multiple workspaces/desktops (need to restart app frequently) #595

Open
3 tasks done
varunyellina opened this issue Dec 6, 2022 · 54 comments

Comments

@varunyellina
Copy link

Is there an existing issue for this?

Current Behaviour

I use apps in Full screen mode on macOS Ventura 13.0.1. When Browserosaurus app starts, clicking links in the full-screen apps works. The Browser selection overlay shows up on the full screen app.

After sometime (indeterminate) when I click on a link in a full screen app, the space changes to the Desktop and Browserosaurus selection overlay shows up for a split second and disappears.

Browserosaurus.Bug.mov

Expected Behaviour

The Browser selection overlay should show on the Full screen app and allow me to tap on a Browser.

Steps To Reproduce

  1. Make an app Full screen
  2. Click on a link

Browserosaurus version

19.3.3

macOS version

13.0.1

CPU Architecture

ARM

Anything else?

No response

@will-stone
Copy link
Owner

Thanks for the bug report. I think this has happened before, some sort of Electron limitation, I can't remember. Anyway, I'll mark it as "help wanted" as I don't fullscreen apps 🙂

@metacurb
Copy link

metacurb commented Dec 9, 2022

I have had this same issue on and off for a long time, but in the last week or see it seems to have really ramped up how often this occurs. @will-stone do you remember anything about how it happened before to help figure out which direction to go in?

@will-stone
Copy link
Owner

Sorry, no. There may be some clue in searching the issues but nothing off the top of my head, no.

@riotrah
Copy link

riotrah commented Dec 11, 2022

I have occasionally noticed this in the rare times I use full screen mode, but if I observe an obvious pattern and have a hunch I'd be happy to discuss it further here and potentially think of a solution or PR

@cesmend
Copy link

cesmend commented Dec 13, 2022

I do fullscreen apps every day and can say that I've been seeing this issue more and more lately. Perhaps since updating to Ventura. I didn't know this was happenning specifically with fullscreen apps, so I'll try to not fullscreen them and check if I see it again.

@will-stone
Copy link
Owner

Looks related: electron/electron#36364

@jishnu7
Copy link

jishnu7 commented Dec 15, 2022

This is occurring for applications that are not in fullscreen mode as well. The only workaround is to quit and re-open browserosaurus.

@will-stone
Copy link
Owner

@jishnu7 Are you using virtual desktops?

Please note, I do not maintain the code for the underlying framework, Electron. If you'd really like to help, please add reproducible examples to the issue on their tracker: electron/electron#36364 Thank you ☺️

@iurikothe

This comment was marked as duplicate.

@jishnu7
Copy link

jishnu7 commented Dec 20, 2022

I did dig deep and found reproducible steps.

  1. Open Google Chrome on Desktop 1.
  2. Open Mail or any other application which has the link that we are going to open, on Desktop 2
  3. Clicking on the link in Desktop 2 will open browser prompt on correct Desktop.
  4. Go to Google Chrome, visit YouTube, play any video and click on full-screen button in the seek bar.
  5. Exit full screen
  6. Go to Desktop 2 and click on the link again. You can see that Browserosaurus is opening in an incorrect desktop and not allowing you to click on the browser list.

@will-stone
Copy link
Owner

Thanks @jishnu7 Now if you could boil that down to a very simple reproducible example for the Electron project, that would be awesome 😎 I use neither virtual desktops nor full screen apps so this will never be a priority for me 👍

@jishnu7
Copy link

jishnu7 commented Dec 20, 2022

What do you mean by example for the electron project? If you can share some pointers, I might be able to help on that.

@will-stone
Copy link
Owner

@jishnu7 Your best bet is probably to use Electron Fiddle to make a reproducible example, you can then publish that and post it as an issue on the Electron repo 🙂 👍

@kristiannotari

This comment was marked as duplicate.

@MaickelHubner
Copy link

Same problem here

@MaickelHubner
Copy link

@ will-stone, you could restart the App automatically every 15 minutes (make it a parameter) to solve this (temporarily). What do you think?

@will-stone
Copy link
Owner

Sorry, that doesn’t sound like a good idea. The best solution is for someone to create a small reproducible example and submit to Electron.

@will-stone will-stone changed the title Not working with links from Full Screen apps (need to restart app frequently) Not working with links from Full Screen apps and multiple workspaces/desktops (need to restart app frequently) Jan 12, 2023
@metamole
Copy link

metamole commented Jan 13, 2023

I see this issue also. or a variant at least. If I have an application like Outlook, with a link in one of the email, the expected behaviour is to click on the link and to get the menu choice of which browser to open the link in.

Having restarted Browsersaurus, that happens.

However, after a period of time (varies) one of two things happens:

  • I click on the link, select the browser I want to open it in but nothing happens and I stay in the current window
  • the menu of browser options stops appearing.

A reboot of Browsersaurus resolves the issue. Until it re-occurs.

To me it feels like there might be an issue with the browser requested being on a different desktop to the application where the ink menu is triggered, so in effect it can't fine the target and fails.

I'm on the latest Mac OS and latest patch. Any assistance in fixing this would be much appreciated as this is a really killer application :-)

@will-stone
Copy link
Owner

Any assistance in fixing this would be much appreciated

Indeed! 😄

Create a reproducible minimal example, and send it to the Electron project.

Please only update the issue if you can provide more information than has already been gleaned above: there will be quite a few people watching this now, and every time a new post is made they will be notified and disappointed it is not progression.

Thanks 🙂

@vkravets
Copy link

It seems fixed after upgrade to Ventura 13.2.1... Will see after some time. Will update if issue will appears again

@gardamork
Copy link

It seems fixed after upgrade to Ventura 13.2.1... Will see after some time. Will update if issue will appears again

I was still seeing this issue on 13.2.1 but then I realised I was running Browserosaurus 20.0.2 so I just updated to 20.1.0. Will report back if problem persists.

@kopach
Copy link

kopach commented Mar 9, 2023

Just for reference: #175. Seems like same issue resolved in the past
Anyway, 20.1.0 on Ventura 13.2.1 works fine for me for some time only and then stops. Restart required

@kopach
Copy link

kopach commented Mar 15, 2023

I'm using multiple desktops daily, so this is critical for me. As a workaround - I've downgraded to https://github.com/will-stone/browserosaurus/releases/tag/v19.3.3 and blocked network access for the app, so it can't auto upgrade - testing.


Update: doesn't work also 😢

@joaovfsousa
Copy link

@will-stone Are you okay with adding a feature(disabled by default) that will quit Browserosaurus after you select a browser? That solves the issue.
I am willing to develop this feature if you agree to have it added.

@will-stone
Copy link
Owner

Sorry, not really. Although that works for you, it solves a problem I don’t have. Apple needs to fix this, or you could help Electron find a workaround.

However, this is open source. Fork the project and add your restarter code, there’s no requirement it has to make it to the parent project.

@breuerfelix
Copy link

breuerfelix commented Sep 20, 2023

@joaovfsousa would you fork the project and implement this? i am looking forward for this quick fix since the constant manual restarting after fullscreening one app drives me nuts :D

homebrew should make it easy to install forks instead of the official one :)

@will-stone
Copy link
Owner

Sounds weird to tout the competition, but you could always try Sindre's Velja? 🤷‍♂️

@joaovfsousa
Copy link

@will-stone Thanks for your suggestion. I tried it, and it works well with multiple desktops.

@breuerfelix I have most of the code done. I'll push the code to my fork later today if you are interested in building/using it.
However, as Velja worked well for me and maintaining the fork would require a lot of time, I'll archive it after the changes are pushed.

@breuerfelix
Copy link

@will-stone Thanks for your suggestion. I tried it, and it works well with multiple desktops.

@breuerfelix I have most of the code done. I'll push the code to my fork later today if you are interested in building/using it. However, as Velja worked well for me and maintaining the fork would require a lot of time, I'll archive it after the changes are pushed.

Velja also works well for me and since i configured rules now, i don't need a browser picker anymore, hence i don't know if i will go back to browserosaurus anyways but thanks!

@dylan-chong
Copy link

dylan-chong commented Oct 3, 2023

I have found a (it's a feature not a bug) workaround in the meantime. When you click the link in the fullscreen app, if you quickly press the shortcut key to open the right browser, it will open that browser during the mission control space switch animation.

So, click link then immediately press s for safari

@kopach
Copy link

kopach commented Oct 5, 2023

Mac has feature to "Assign apps to spaces". In this case, I believe, Browserosaurus should be assigned to All desktops by default. See: https://support.apple.com/guide/mac-help/work-in-multiple-spaces-mh14112/14.0/mac/14.0#mchlp03b679a
The problem is, that as a user I can't do this manually as Browserosaurus dosen't appear in Dock (which is required to assign app to "All desktops")


From docs:

By default, when switching to an app, the desktop automatically switches to a space that has open windows for the app.

@kopach
Copy link

kopach commented Oct 5, 2023

Here is solution https://superuser.com/a/1320800/969522

For an app (like Touch Bar Simulator) that has a floating window without an icon in the Dock, you have to find the .app file and drag it to your Dock.
From there you can use the method that Tesujin mentioned to have it available on all workspaces by right clicking on app icon, Options, Assign To All Desktops.


After some more testing discovered this doesn't work. Popup window seems to be not the same “window” instance as main Browserosaurus process.

@tomasvotava
Copy link

I've been dealing with this for a long time, so I've added this to my crontab (crontab -e):

1/3 * * * * killall Browserosaurus > /dev/null 2>&1 || echo "not found" > /dev/null

It will kill Browserosaurus every 3 minutes, the next time you click a link, it will simply take a little bit longer to start, but it mitigates the problem altogether. A fix for this would be appreciated, though, as it may take few seconds to start Browserosaurus and opening links has become a PITA.

Thanks for the app anyways, Mac OS wouldn't be usable for me without it ❤️

@mrdavemorgan
Copy link

Regarding the "assign app to spaces" solution @kopach suggested, while it does not work with the main app, it does work if you drag the embedded "Browserosaurus Helper" to the dock and assign to all spaces.

@sushione
Copy link

it does work if you drag the embedded "Browserosaurus Helper" to the dock and assign to all spaces.

Where is that helper ? Couldn't find it inside app package.

@kopach
Copy link

kopach commented Apr 12, 2024

@mrdavemorgan , I'm also curious how you did that. By "Browserosaurus Helper" do you mean this small popup window with browsers list? how have you dragged it into dock? I can't drag it :(

@kopach
Copy link

kopach commented Apr 12, 2024

@sushione , ok, I guess, I've found it. You have to find "Browserosaurus.app" (under /Applications), right click and select "Show Package Contents". Then navigate to Contents -> Frameworks. You will find "Browserosaurus Helper" there which you can drag into Dock and change window options.
Doesn't seem to work for me though (but I'm testing it)

@fishhead108
Copy link

fishhead108 commented Apr 17, 2024

Apple M1
macOS: 14.4.1 (23E224)
Browserosaurus: 20.8.0

"Browserosaurus Helper" - works, but it's an ugly solution :(

@js-d-coder

This comment was marked as duplicate.

@benjamingwynn
Copy link
Contributor

@will-stone sorry if this has been asked before, but does browserosaurus need to run in background? is there a reason it can't just spawn when asking for a browser then entirely exit when done?

I believe that this would fix this issue by proxy, which would be good because I can't use this excellent program as soon as I go into a fullscreen youtube video

benjamingwynn added a commit to benjamingwynn/browserosaurus that referenced this issue May 23, 2024
Using this option fixes will-stone#595 by proxy of spawning a new instance on the
current desktop.

I imagine cleaning up Browserosaurus can also help conserve memory usage
on those systems with little of it, at the cost of startup time.

Keep in mind if this option is set during development, Browserosaurus
*will* exit and you'll have to restart it on the command line to use
it as the default HTTP handler; but in production this would seamlessly
spin up the app when the user clicks a link.

This returns a promise from `openApp` which could perhaps be used for
more extensive error handling in the future.
@will-stone
Copy link
Owner

B’s first load is quite slow. I don’t think this would be a viable solution.

Unless someone knows how to fix this issue upstream, and you need full screen support, I’d suggest using Velja by Sindre Sorhus for now.

@AlexStrNik
Copy link
Contributor

I've been waiting for a fix too long, so i written SwiftUI port today. Still testing, but at least this bug seems to be fixed.

https://github.com/AlexStrNik/Browserino/

@will-stone
Copy link
Owner

@AlexStrNik this is great (not that I’ve tested it), and I would have switched to Swift too if I had the know-how (by that I mean: I am a TS engineer by trade, and recently became a father, so do not currently have the time or energy to learn a new language).

May I please suggest that you carve out your own identity for the app? For example, the readme could highlight what it does and how to use it, rather than simply dunking on Browserosaurus.

I know it’s early days for Browserino, and you probably just wanted to get something up to show people quickly, but let’s respect each other’s efforts. This project has been provided for free for seven years.

@AlexStrNik
Copy link
Contributor

AlexStrNik commented Jun 7, 2024

Hey @will-stone! Sorry, never meant to disrespect you or your app. Was a little bit busy on job to write good Readme but wanted to already share. I changed description in the repository.

P.S I'm too web developer at my position. Changed my thoughts about typescript a lot after learning Swift)

@will-stone
Copy link
Owner

And a screenshot, that looks great 😄 Out of interest, which do you prefer, TS or Swift?

@AlexStrNik
Copy link
Contributor

And a screenshot, that looks great 😄 Out of interest, which do you prefer, TS or Swift?

Swift type system much better as for me, although it not so powerful so you cant write compile time spell checking, but i really missing Swift enums with associated values in other languages. And there something similar between TS and Swift, sometimes when expression is complex enough it fails to derive types :)

@will-stone
Copy link
Owner

@AlexStrNik Would you like to submit your app to "Notable Forks" section of README: https://github.com/will-stone/browserosaurus?tab=readme-ov-file#notable-forks Feel free to change the title of that section too, maybe Projects inspired by Browserosaurus?

@AlexStrNik
Copy link
Contributor

@AlexStrNik Would you like to submit your app to "Notable Forks" section of README: https://github.com/will-stone/browserosaurus?tab=readme-ov-file#notable-forks Feel free to change the title of that section too, maybe Projects inspired by Browserosaurus?

If you don't mind, so I would. Maybe later this week, a little busy now

@vigasdeep
Copy link

vigasdeep commented Jul 10, 2024

I just installed 20.8.0 on MacOS 14.4.1, and I don't have the issue anymore. I can open the links from any workspace even if it is a fullscreen VS Code. Browserosorous work just fine, the prompt appears on any screen/workspace you're on.

thanks guys I love this tool :)

If this issue still needs help, I'll be happy to dive into code. Let me know, thanks.

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

Successfully merging a pull request may close this issue.