Opening this to track a bug I accidentally introduced adding bindings to the browser window, seems that when inputing text if the l character is hit the l isn't being input as text but the command is being triggered. A fix for this would be to use a similar check as the other bindings to ensure the mapping only applies when not inserting text
Ah ya, I've hit this too - it seems like it breaks sneak mode and entering text in the address bar. Thanks for logging it!
Most of those commands seem to use this enabled filter:
const isBrowserLayerActive = () =>
!!activeLayers[editorManager.activeEditor.activeBuffer.id] &&
browserEnabledSetting.getValue()
We might need to refine that a bit - we really only want those commands enabled when the focus is in the browser, but not in any of the textareas.
When having a browser tab open "l" character seems to be swallowed. Also in the command palette or the command mode of vim...
Is that to be expected with what you described @Akin909 ?
This has stopped me using the browser a bit, any pointers on how we can update the bind?
@CrossR not sure of a simple way tbh the easiest fix would be to change the bindings to have <ctrl> prefixes, the best (imo) way though I can think of would be to pass a callback to the BrowserView component from the BrowserLayout component which updates the Layer with if user is inputting i.e. onChange and onBlur of the input element update a boolean then that would hopefully allow for BrowserLayer.inputInProgress: boolean check in the function above.
Sounds reasonable, perhaps a short-term workaround would be swapping the binds for now?
The second does sound much better overall, so we maintain vim keybinds like people expect.
Fixed by #2239
Most helpful comment
When having a browser tab open "l" character seems to be swallowed. Also in the command palette or the command mode of vim...
Is that to be expected with what you described @Akin909 ?