kindaVim.docs icon indicating copy to clipboard operation
kindaVim.docs copied to clipboard

Sometimes Vim mode doesn't work for Arc browser

Open celve opened this issue 1 year ago • 14 comments

I've encountered a recurring issue with Vim mode functionality within the Arc browser. For example, when I want to use w to move the cursor to the beginning of the next word, it just moves the cursor right, just like what "l" does.

However, there is a temporary fix:

  1. Click on the kindaVim icon in the Arc browser's menu bar.
  2. Select "Check what the wizard says".
  3. Close the wizard window without making any changes.

Post-implementation of this workaround, Vim mode functions correctly for a duration. However, the issue re-emerges after continuous use.

celve avatar Mar 26 '24 06:03 celve

  1. Click on the kindaVim icon in the Arc browser's menu bar.
  2. Select "Check what the wizard says".
  3. Close the wizard window without making any changes.

the temporary fix is just a coincidence. if you don't add Arc in any of kV's Family, then a check of how kV should behave is done at every keystroke. the issue with web browsers is that they're really not consistent. depends on the type of text input/fields etc. lemme have a quick look.

also would help if you let me know where exactly the issue happens. Arc own interface? web page? which web page. etc.

godbout avatar Mar 26 '24 07:03 godbout

as you can see:

https://github.com/godbout/kindaVim.docs/assets/121373/1f8ee22a-0045-488a-9f2a-8cfe273e0f26

in Arc's UI, the tab thing, kV can use the full macOS AX and it works fine. now in browser pages it doesn't (you can see that in the first two characters in the google search there's a block cursor, that's because for those two characters the macOS AX data is correct. after that it's not and kV has to revert to using key remapping instead of the (wrong) AX data). to get the whole thing consistent, kV tells you to put Arc in the Key Mapping Family (coz i've investigated Arc maybe some months or years ago). then using kV in Arc will be more consistent. still, there may be webpages that override key mapping, like some code editors online etc. in that case yeah, their own overriding will take precedence, unfortunately. Vimming is hard ☹️

godbout avatar Mar 26 '24 07:03 godbout

I have already put it in Key Mapping family, and the issue only happens in Google Docs and Google search box currently. I've prepared a video demonstration to illustrate the problem.

https://github.com/godbout/kindaVim.docs/assets/95223577/8ff15b09-3152-4cfd-ab12-ed7f0e3f8b02

celve avatar Mar 26 '24 08:03 celve

for Google Docs have a look at this: https://github.com/godbout/kindaVim.docs/issues/34#issuecomment-1010174583 and the rest of the thread. may help for now. will check more.

godbout avatar Mar 26 '24 09:03 godbout

after i've enabled the AX in Google Docs settings and refreshed the page, then the motions work correctly. can you try?

godbout avatar Mar 26 '24 09:03 godbout

I tried, but still the same. Also it seems like all input field would have this issue.

https://github.com/godbout/kindaVim.docs/assets/95223577/b44e1d4e-d48e-49ef-9e6b-ad36edb598e6

celve avatar Mar 26 '24 10:03 celve

have you restarted Arc?

works fine here in Google Docs after having specified that it should enable AX, and in all inputs. showing The Wizard is really not gonna help kV do anything. it's a refreshing issue from Arc, maybe:

https://github.com/godbout/kindaVim.docs/assets/121373/53e3abd1-4753-4ffe-bc89-5955c096b0a9

godbout avatar Mar 26 '24 10:03 godbout

I find a way to reproduce it:

  1. Put cursor in any input box
  2. Wait for about 15 seconds

celve avatar Mar 26 '24 10:03 celve

i can reproduce. it's because Arc disables the web pages accessibility elements automatically after a while. why? no fucking idea. it's very clear when i use my other app that highlights AX Elements. video incoming.

godbout avatar Mar 26 '24 18:03 godbout

https://github.com/godbout/kindaVim.docs/assets/121373/db762555-6f6f-4d24-bc60-fe53ac71bd6c

godbout avatar Mar 26 '24 18:03 godbout

so:

  1. after a moment of inactivity, Arc disables the webpage AX. hence kV can't get any information at all
  2. if you hide Arc and show it again, kV gets Arc to reactivate the AX in the webpage (every time an app becomes the frontmost app, kV checks which app it is and do the necessary to enable the AX)

currently there's two things you can do. one is point 2. when the issue happens, you hide and show Arc again. that's a short term trick coz that's shit in the long term for sure. another way to solve this for now is to add Arc in the 911 Family. in that case kV will not even care whether he can detect any AX at all and will enforce the key remapping everywhere like if everything was an input (coz the Key Mapping Family still uses the AX to determine if we're dealing with some sort of text element, or with any other input like menu, dropdown, etc. but as you see, Arc disable the AX so we can't even know with what kind of element we're dealing with).

for the rest i'll check through Arc's option, and i'll contact the devs.

godbout avatar Mar 26 '24 18:03 godbout

Thank you so much for taking the time to explain this so thoroughly. It was very helpful.

celve avatar Mar 27 '24 08:03 celve

my pleasure. thanks for using my babies!

i'll contact Arc's devs tomorrow and will update here.

godbout avatar Mar 27 '24 17:03 godbout

pinged the dev. but not case follow up etc. will see what they say.

Screenshot 2024-03-28 at 16 29 39

godbout avatar Mar 28 '24 08:03 godbout

@Celve is it just me or Arc is now exposing its AX Tree constantly? i don't seem to be able to make it fail again.

godbout avatar Dec 22 '24 12:12 godbout

I can still reproduce this issue after 30 seconds of inactivity on the latest Arc browser. I don’t have the tool to inspect the AX tree.

My arc browser is version is:

  • Version 1.74.0 (57065)
  • Chromium Engine Version 131.0.6778.205

celve avatar Dec 22 '24 19:12 celve

I can still reproduce this issue after 30 seconds of inactivity on the latest Arc browser.

weird. i don't seem to be able to reproduce anymore lol. or maybe i'm not doing it correctly? will re-read the thread.

godbout avatar Dec 23 '24 03:12 godbout

btw i made another report to the Devs

godbout avatar Dec 23 '24 03:12 godbout

ok can reproduce again. forgot that if you moved Arc then it exposes its AX again. it's just so crap lol

godbout avatar Dec 23 '24 03:12 godbout

actually just even clicking without moving the window works. it's so shit 🤣️

godbout avatar Dec 23 '24 06:12 godbout

hmm so it seems that i can FORCE the position of the Arc window, positioning AT THE EXACT SAME CURRENT PLACE so that the user doesn't notice anything, and that is enough to reactivate the AX. the thing is, it would already be funky to do for Wooshy or Scrolla by doing something special just for this app when you activate Ws/Sl, but for kV it's even worse to implement. not sure i wanna go down that road to avoid some kinda quirks from Arc itself. i implement stuff in kV/Ws/Sl to make sure most of the edge cases are handled, customizing engines for shit group of apps etc., sometimes even for individual apps, but this is too much. rather than adding a new custom engine for Arc it requires me to kinda change my whole system. so yeah, most surely a no no.

godbout avatar Dec 23 '24 06:12 godbout

so

  1. i tried a couple of Arc/Chrome Extensions that are supposed to work with the Accessibility, like Grammarly, ChromeVox, Accessibility Hints, etc. nothing helped. they have access to something (maybe just the DOM?), but the AX Tree is still inaccessible from macOS
  2. when running VoiceOver (command F5) the AX Tree is accessible at ALL TIMES. so while it's not very conveninent and a proper solution, it tells me that it's possible to keep the AX Tree exposed. but one thing is, i have no idea if it's VoiceOver doing something, or if it's Arc scanning for when VoiceOver is ON. that still gives me a little path to work on. although i had some sort of similar issue with some other apps and i've solved them. now trying with Arc those solutions don't work. so it would seem that it's Arc doing something rather than VO. but i'm still gonna investigate deeper. new road to dig into and grab some new knowledge from.

godbout avatar Dec 23 '24 08:12 godbout

i'm having a new idea! 💡️

godbout avatar Dec 25 '24 05:12 godbout

seems it's working WOOOHOOHOHOHOHOOHOHOHOHOHOOHOHO

godbout avatar Dec 25 '24 11:12 godbout

@Celve do you use Scrolla? planning a release of Scrolla first in the new hours, that should take care of the Arc issue. (releasing Scrolla first coz Apple recommended making changes in my projects but i'm kinda pretty sure the apps are gonna crash on some machines so better make Scrolla crash first lol.)

godbout avatar Dec 28 '24 15:12 godbout

@Celve do you use Scrolla? planning a release of Scrolla first in the new hours, that should take care of the Arc issue. (releasing Scrolla first coz Apple recommended making changes in my projects but i'm kinda pretty sure the apps are gonna crash on some machines so better make Scrolla crash first lol.)

I don't use Scrolla:) but I would love to help you to test it

celve avatar Dec 28 '24 21:12 celve

no need then :D just in case you were using Scrolla or Wooshy you could have access to the fix first. will release kV last. hopefully in a few days!

godbout avatar Dec 29 '24 06:12 godbout

@Celve if you use Wooshy then the latest release will make Arc behave, even when using kV: https://github.com/godbout/Wooshy.docs/releases/tag/31

if you're not using Wooshy either, then you'll have to wait still a bit more 😂️ 差不多

godbout avatar Jan 02 '25 16:01 godbout

support should be improved in kV70: https://github.com/godbout/kindaVim.docs/releases/tag/70

please reopen if you're still having issues.

godbout avatar Jan 04 '25 13:01 godbout