News for hackers. Stuff that matters.
Re:Vimium – The Hacker's Browser by qolop on Monday February 27, 2023 @09:55PM (#34965097)
I've been using Vimium for quite some time now, and while I like it, there are two things which annoy the hell out of me.

Vimium disables the browser's backward-forward cache (by listening to the "unload" event), causing navigation to be much slower.

There is also no way for a website owner to warn a Vimium user of conflicting keybindings. I run a website which implements Vim keybindings and several of my users complain that it doesn't work. I have to remind them to disable Vimium. This issue has been open on their GitHub for more than 4 years with no end in sight.

Re:Vimium – The Hacker's Browser by andrewstuart2 on Monday February 27, 2023 @10:05PM (#34965170)
At least in firefox, I'm not sure that's true. I go back pretty frequently (maybe you mean specifically with vimium back navigation) and get yesterday's cached HN front page, for example.
Re:Vimium – The Hacker's Browser by qolop on Tuesday February 28, 2023 @12:04AM (#34965832)
The bfcache doesn't just store cached resources like static files but the entire javascript heap. It makes back button action instantaneous.

I've observed the effects on both Firefox and Chrome and it's like day and night.

On chrome you can even test it using Devtools > Application> backward forward cache

Re:Vimium – The Hacker's Browser by ris58h on Monday February 27, 2023 @10:20PM (#34965256)
> There is also no way for a website owner to warn a Vimium user of conflicting keybindings.

Or Vimium users could RTFM.

Re:Vimium – The Hacker's Browser by omniglottal on Monday February 27, 2023 @10:06PM (#34965176)
As the website author, you can see which extensions the client browser is running, no? Wouldn't that make it your responsibility to detect then disable your custom keybindings rather than the users's?
Re:Vimium – The Hacker's Browser by tempestn on Monday February 27, 2023 @10:21PM (#34965257)
I wouldn't think so. There are infinite ways for people to customize their browsers; it's not reasonable to expect website developers to account for them all.

Plus in the case of your parent, their website implements vim keybindings, so basically all of them are going to conflict with this extension, and it's going to be pretty useless if they detect that situation and react by changing all of them to something non-standard.

Re:Vimium – The Hacker's Browser by daveidol on Monday February 27, 2023 @10:17PM (#34965244)
> As the website author, you can see which extensions the client browser is running, no?

No, not really. Not unless it specifies certain `web_accessible_resources` which you try to load - but that's a bit of a hack, needs to be done on an extension-by-extension basis, and won't even work for all extensions.

Re:Vimium – The Hacker's Browser by qolop on Monday February 27, 2023 @11:51PM (#34965763)
It's not possible to detect the presence of Vimium.

https://github.com/philc/vimium/issues/2399

Re:Vimium – The Hacker's Browser by cepp on Tuesday February 28, 2023 @12:13AM (#34965885)
I distinctly remember when I first got on-boarded to Superhuman their app detected Vimium running and asked me to disable it for their site.
Re:Vimium – The Hacker's Browser by qolop on Tuesday February 28, 2023 @01:31AM (#34966340)
How long ago was this? There used to be a way to do this for earlier versions of Vimium but that doesn't work anymore. Very interested in knowing if it's still possible. Will check out superhuman.
Re:Vimium – The Hacker's Browser by Timothee on Tuesday February 28, 2023 @08:04AM (#34968808)
I work at Superhuman. We used to have code to detect Vimium, though we evidently we removed it very recently, while working on something tangentially related. It was working but definitely finicky over the years.

The initial way we checked for it was looking for document.body.matches('*[_vimium-has-onclick-listener]') but apparently that stopped working in 2018. We then used a variation of this code: https://github.com/hackape/Detect-Vimium/blob/master/detect-... which seems to work still.