Browser selector appearing only briefly and then disappearing
Is there an existing issue for this?
- [X] I have searched the existing issues
- [X] I have searched the discussions forum
- [X] I understand this form is for reporting bugs, and not for requesting support for new browsers or apps.
Current Behaviour
- The Browserosaurus browser prompter pops up for a fraction of a second and then disappears again, too quick for allowing me to pick the browser of my choice.
https://github.com/user-attachments/assets/cfd99df0-dc95-4746-8b96-7e849c9a8476
Expected Behaviour
- The Browserosaurus browser prompter pops up, allowing me to pick the browser of my choice.
Steps To Reproduce
- Click on a link.
Browserosaurus version
20.9.1
macOS version
15.1
CPU Architecture
ARM
Anything else?
The behavior is quite inconsistent:
- Sometimes, when restarting B the first click on a link works fine. The issue only starts with the second click.
- When I recorded the video for this bug report one click worked, but others didn't. If I have to guess wildly I would say it's related to window focus somehow.
It worked fine with MacOS 15.0 but I think the issue did not immediately start showing with MacOS 15.1 but only a few days later.
I've removed B, including ~/Library/Application Support/Browserosaurus, multiple times with system restarts in between but that didn't fix the issue.
Happy to help with debugging if I could receive some instructions.
I've got exactly the same issue on macOs Sonoma 14.7.1. It's only happening when opening links from Slack.
I am running MacOS 13.7.1 (22H221) and I am experiencing this issue but only on slack. All other apps I am using on the regular basis are working find as expected! I assume with slack's latest update it triggers something that forces a re-focus in or click like event which causes the prompter pops up disappears right away! 🤔
This also happens to me on MacOS Sequoia 15.0.1 (24A348). It occurs mainly (I don't know if only) on the Slack app. For example, it never happens on the WhatsApp desktop app.
UPDATE: I've noticed that on Slack, it happens almost every time if it's at full screen, while it happens less often (but still happens) if the app is on a reduced window.
The issue happens with Slack and Signal, but not with Telegram or Warp (terminal).
I have the same problem within Slack; it would be great to hear if this can be fixed in Browserosaurus or if we should wait for Slack to change something.
It sounds like @nmolham-godaddy has identified the issue as Slack. Or maybe it's macOS doing something odd. If anyone does identify it as an issue with B then please submit a PR and I'll review it ASAP. Thanks everyone 🙂
Same on Mac OS sequioa 15.1 (24B83), I had the impression it always happens after the OS is waking up after sleeping
I am having the same issues mainly with Slack - but also not every time. I also found that if I quit Browsersaurus from the menu bar and try again it always works on the first Slack link I click that restarts it. So what my workflow has turned into is click and if it doesn't work close Browsersaurus and click again and it does. I am doing this a few times a day...
The same here (macOS 15.1 24B83 / latest Slack)
@will-stone unfortunately I am not super familiar with TS nor desktop app development 😅 hopefully someone with the right skills is able to debug this issue.
Another thing I noticed today is when I terminate/quite the B instance, then click on any link in Slack, the browser prompter opens without disappearing normally, but on the 2nd click on any link within slack, the disappearing behaviour returns.
That behaviour suggests that if there a delay between link click and browser prompter appearance the issue could be solved solved 🤔
Is it possible to add a popup delay setting to the app? maybe in milliseconds
Unfortunately it doesn't work like that. You are setting B as your default browser, all that is happening is you are sending the link to the app like any other browser. Try setting one of your browsers as default, have it running, then click the links in Slack. Does Slack re-steal focus?
For those experiencing this issue, could you please try using Finicky too? Set Finicky as your default browser so it handles all links, but then get it to forward, by default, links to B:
module.exports = {
defaultBrowser: "Browserosaurus",
}
This is what I use, as I have a rule set up for MS Teams:
module.exports = {
defaultBrowser: "Browserosaurus",
handlers: [
/**
* Microsoft Teams
*/
{
match: finicky.matchHostnames(["teams.microsoft.com"]),
browser: "Microsoft Teams",
url: ({ url }) => ({ ...url, protocol: "msteams" }),
},
],
}
Set Finicky as your default browser so it handles all links, but then get it to forward, by default, links to B:
When I do this it indeed does work and I don't have this bug. Finicky is kinda cool, so I might keep this setup.
For those experiencing this issue, could you please try using Finicky too? Set Finicky as your default browser so it handles all links, but then get it to forward, by default, links to B:
I can confirm that with Finicky it works perfectly. And honestly using these 2 together is amazing!
I also fixed the problem with Slack by installing Finicky and using the minimal configuration to simulate the original behavior of Browserosaurus 👍
module.exports = {
defaultBrowser: "Browserosaurus",
}
I can confirm also that Finicky solution worked 👌 Thanks @will-stone
I know it might seem odd, but I do use Finicky with the following configuration:
export default {
defaultBrowser: "Browserosaurus",
handlers: [
...
]
};
This issue still occurs in Slack and other apps built with Electron. Is there anything I can do to help debug this @will-stone ?
Best thing to do is create a minimal reproduction using a bare Electron/Forge app. Then send the repo link and bug report to the Electron project where hopefully someone can fix it. Thanks.
I can confirm this issue. It's happing with multiple desktops in my case. The popup is being shown on the desktop where browseraurus was started originally. Now, if my app with the link is on another desktop, the popup does show on the original screen instead of the active one.