my-mind icon indicating copy to clipboard operation
my-mind copied to clipboard

The webdav address cannot be entered.

Open liyboy opened this issue 2 years ago • 4 comments

Mymind is very simple and easy to use, thanks for open source. But when I input the webdav address, the input address conflicts with the shortcut key, which makes it impossible to input. For example: s in https is the shortcut key for down, and there is no response when pressing the backspace key. Additional explanation: my browser is edge.

liyboy avatar Dec 28 '22 03:12 liyboy

Hi @liyboy,

thanks for the bugreport. I am having issues trying to reproduce it, though: when typing the (webdav) URL, no shortuts are evaluated. In Edge: obrazek

Perhaps the issue manifests only under some more arcane conditions? This is the part of the source code responsible for not applying keyboard shortcuts when the UI is focused:

https://github.com/ondras/my-mind/blob/master/src/keyboard.ts#L9 https://github.com/ondras/my-mind/blob/master/src/ui/ui.ts#L22

You can try this to help debug the issue:

  1. open devtools
  2. focus the webdav input field
  3. type document.activeElement into the devtools JS console - it should output the webdav url input field.

ondras avatar Dec 28 '22 20:12 ondras

Thanks. I'll try it.

liyboy avatar Jan 07 '23 05:01 liyboy

Hi @liyboy,

thanks for the bugreport. I am having issues trying to reproduce it, though: when typing the (webdav) URL, no shortuts are evaluated. In Edge: obrazek

Perhaps the issue manifests only under some more arcane conditions? This is the part of the source code responsible for not applying keyboard shortcuts when the UI is focused:

https://github.com/ondras/my-mind/blob/master/src/keyboard.ts#L9 https://github.com/ondras/my-mind/blob/master/src/ui/ui.ts#L22

You can try this to help debug the issue:

1. open devtools

2. focus the webdav input field

3. type `document.activeElement` into the devtools JS console - it should output the webdav url input field.

i have the same issue and i'll type your js code in console this is the output:

<input class="url" type="text">
​accept: ""
​accessKey: ""
​accessKeyLabel: ""
​align: ""
​alt: "" 
​ariaAtomic: null
​ariaAutoComplete: null
​ariaBrailleLabel: null
​ariaBrailleRoleDescription: null
​ariaBusy: null
​ariaChecked: null
​ariaColCount: null
​ariaColIndex: null
​ariaColIndexText: null
​ariaColSpan: null
​ariaCurrent: null
​ariaDescription: null
​ariaDisabled: null
​ariaExpanded: null
​ariaHasPopup: null
​ariaHidden: null
​ariaInvalid: null
​ariaKeyShortcuts: null
​ariaLabel: null
​ariaLevel: null
​ariaLive: null
​ariaModal: null
​ariaMultiLine: null
​ariaMultiSelectable: null
​ariaOrientation: null
​ariaPlaceholder: null
​ariaPosInSet: null
​ariaPressed: null
​ariaReadOnly: null
​ariaRelevant: null
​ariaRequired: null
​ariaRoleDescription: null
​ariaRowCount: null
​ariaRowIndex: null
​ariaRowIndexText: null
​ariaRowSpan: null
​ariaSelected: null
​ariaSetSize: null
​ariaSort: null
​ariaValueMax: null
​ariaValueMin: null
​ariaValueNow: null
​ariaValueText: null
​assignedSlot: null
​attributes: NamedNodeMap [ type="text", class="url" ]
​autocapitalize: ""
​autocomplete: ""
​autofocus: false
​baseURI: "https://myserver.local/mymind/"
​checked: false
​childElementCount: 0
​childNodes: NodeList []
​children: HTMLCollection { length: 0 }
​classList: DOMTokenList [ "url" ]
​className: "url"
​clientHeight: 29
​clientLeft: 1
​clientTop: 1
​clientWidth: 166
​contentEditable: "inherit"
​currentCSSZoom: 1
​dataset: DOMStringMap(0)
​defaultChecked: false
​defaultValue: ""
​dir: ""
​dirName: ""
​disabled: false
​draggable: false
​enterKeyHint: ""
​files: null
​firstChild: null
​firstElementChild: null
​form: null
​formAction: "https://myserver.local/mymind/"
​formEnctype: ""
​formMethod: ""
​formNoValidate: false
​formTarget: ""
​height: 0
​hidden: false
​id: ""
​indeterminate: false
​inert: false
​innerHTML: ""
​innerText: ""
​inputMode: ""
​isConnected: true
​isContentEditable: false
​labels: NodeList [ label
]
​lang: ""
​lastChild: null
​lastElementChild: null
​list: null
​localName: "input"
​max: ""
​maxLength: -1
​min: ""
​minLength: -1
​multiple: false
​name: ""
​namespaceURI: "http://www.w3.org/1999/xhtml"
​nextElementSibling: null
​nextSibling: null
​nodeName: "INPUT"
​nodeType: 1
​nodeValue: null
​nonce: ""
​offsetHeight: 30
​offsetLeft: 16
​offsetParent: <div id="io" class="pane">
​offsetTop: 191
​offsetWidth: 168
​onabort: null
​onanimationcancel: null
​onanimationend: null
​onanimationiteration: null
​onanimationstart: null
​onauxclick: null
​onbeforeinput: null
​onbeforetoggle: null
​onblur: null
​oncancel: null
​oncanplay: null
​oncanplaythrough: null
​onchange: null
​onclick: null
​onclose: null
​oncontextlost: null
​oncontextmenu: null
​oncontextrestored: null
​oncopy: null
​oncuechange: null
​oncut: null
​ondblclick: null
​ondrag: null
​ondragend: null
​ondragenter: null
​ondragexit: null
​ondragleave: null
​ondragover: null
​ondragstart: null
​ondrop: null
​ondurationchange: null
​onemptied: null
​onended: null
​onerror: null
​onfocus: null
​onformdata: null
​onfullscreenchange: null
​onfullscreenerror: null
​ongotpointercapture: null
​oninput: null
​oninvalid: null
​onkeydown: null
​onkeypress: null
​onkeyup: null
​onload: null
​onloadeddata: null
​onloadedmetadata: null
​onloadstart: null
​onlostpointercapture: null
​onmousedown: null
​onmousemove: null
​onmouseout: null
​onmouseover: null
​onmouseup: null
​onpaste: null
​onpause: null
​onplay: null
​onplaying: null
​onpointercancel: null
​onpointerdown: null
​onpointerenter: null
​onpointerleave: null
​onpointermove: null
​onpointerout: null
​onpointerover: null
​onpointerup: null
​onprogress: null
​onratechange: null
​onreset: null
​onresize: null
​onscroll: null
​onscrollend: null
​onsecuritypolicyviolation: null
​onseeked: null
​onseeking: null
​onselect: null
​onselectionchange: null
​onselectstart: null
​onslotchange: null
​onstalled: null
​onsubmit: null
​onsuspend: null
​ontimeupdate: null
​ontoggle: null
​ontransitioncancel: null
​ontransitionend: null
​ontransitionrun: null
​ontransitionstart: null
​onvolumechange: null
​onwaiting: null
​onwebkitanimationend: null
​onwebkitanimationiteration: null
​onwebkitanimationstart: null
​onwebkittransitionend: null
​onwheel: null
​outerHTML: '<input type="text" class="url">'
​outerText: ""
​ownerDocument: HTMLDocument https://myserver.local/mymind/
​parentElement: <label>​
arentNode: <label>​
part: DOMTokenList []
​pattern: ""
​placeholder: ""
​popover: null
​popoverTargetAction: ""
​popoverTargetElement: null
​prefix: null
​previousElementSibling: <span>​
previousSibling: #text "\n\t\t\t\t\t"
​preadOnly: false
​required: false
​role: null
​scrollHeight: 29
​scrollLeft: 0
​scrollLeftMax: 0
​scrollTop: 0
​scrollTopMax: 0
​scrollWidth: 166
​selectionDirection: "backward"
​selectionEnd: 7
​selectionStart: 0
​shadowRoot: null
​size: 20
​slot: ""
​spellcheck: false
​src: ""
​step: ""
​style: CSS2Properties(0)
​tabIndex: 0
​tagName: "INPUT"
​textContent: ""
​textLength: 7
​title: ""
​translate: true
​type: "text"
​useMap: ""
​validationMessage: ""
​validity: ValidityState { valueMissing: false, typeMismatch: false, patternMismatch: false, … }
​value: "http://"
​valueAsDate: null
​valueAsNumber: NaN
​webkitEntries: Array []
​webkitdirectory: false
​width: 0
​willValidate: true
​<prototype>: HTMLInputElementPrototype { stepUp: stepUp(), stepDown: stepDown(), checkValidity: checkValidity(), … }```

erdemgazeloglu avatar May 26 '24 19:05 erdemgazeloglu

The output looks okay. I am afraid this will need someone with

  1. the Edge browser where the issue manifests,
  2. deep JS debugging skills in order to troubleshoot why the shortcut gets triggered, even though the input field is active

ondras avatar Jun 03 '24 07:06 ondras