{"action":"created","issue":{"url":"https://api.github.com/repos/codemirror/CodeMirror/issues/4307","repository_url":"https://api.github.com/repos/codemirror/CodeMirror","labels_url":"https://api.github.com/repos/codemirror/CodeMirror/issues/4307/labels{/name}","comments_url":"https://api.github.com/repos/codemirror/CodeMirror/issues/4307/comments","events_url":"https://api.github.com/repos/codemirror/CodeMirror/issues/4307/events","html_url":"https://github.com/codemirror/CodeMirror/issues/4307","id":182501094,"number":4307,"title":"Deleting text throws many exceptions in Android Chrome","user":{"login":"TWiStErRob","id":2906988,"avatar_url":"https://avatars.githubusercontent.com/u/2906988?v=3","gravatar_id":"","url":"https://api.github.com/users/TWiStErRob","html_url":"https://github.com/TWiStErRob","followers_url":"https://api.github.com/users/TWiStErRob/followers","following_url":"https://api.github.com/users/TWiStErRob/following{/other_user}","gists_url":"https://api.github.com/users/TWiStErRob/gists{/gist_id}","starred_url":"https://api.github.com/users/TWiStErRob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TWiStErRob/subscriptions","organizations_url":"https://api.github.com/users/TWiStErRob/orgs","repos_url":"https://api.github.com/users/TWiStErRob/repos","events_url":"https://api.github.com/users/TWiStErRob/events{/privacy}","received_events_url":"https://api.github.com/users/TWiStErRob/received_events","type":"User","site_admin":false},"labels":[{"id":139616514,"url":"https://api.github.com/repos/codemirror/CodeMirror/labels/mobile","name":"mobile","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2016-10-12T11:25:34Z","updated_at":"2016-11-28T12:02:34Z","closed_at":null,"body":"Google Chrome 53 (latest) on Galaxy S5 running Android 5.0.1; reproducible with both Google Keyboard and Samsung Keyboard.\n\n**Repro**:\n1. open http://codemirror.net\n2. long-tap inside the demo to select a word (this works around #4306)\n3. Try to delete contents of the textarea by pressing backspace on the soft keyboard  \n\n**Actual**: deleting stops after a while, and content cannot really be deleted\n**Expected**: deletion continues until no content remains before the cursor\n\n**Note**: keeping it pressed or tapping it repeatedly both fail badly. These errors essentially make CodeMirror unusable on Android. Not only the demo, but other sites that use it are affected. And some of these exceptions are thrown when entering text too.\n\n**Diagnostic steps**:\n1. Start Google Chrome on Android device\n2. Visit http://codemirror.net on the device\n3. Plug in the device to a computer\n4. Start Google Chrome on computer\n5. Visit chrome://inspect on the computer\n6. Select codemirror.net tab to inspect  \n   _See https://developers.google.com/web/tools/chrome-devtools/remote-debugging/ for more details if it doesn't work._\n7. Do the repro above to see what's going on\n\nThe following errors show repeatedly:\n\n> Uncaught TypeError: Cannot set property 'data' of undefined\n> (anonymous function) @ codemirror.js:8173\n\n---\n\n> Uncaught TypeError: Cannot read property 'nodeType' of null\n> walk @ codemirror.js:8480\n> domTextBetween @ codemirror.js:8510\n> pollContent @ codemirror.js:8388\n> (anonymous function) @ codemirror.js:8194\n\n---\n\n> Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\n> updateLineGutter @ codemirror.js:2170\n> buildLineElement @ codemirror.js:2223\n> patchDisplay @ codemirror.js:4147\n> updateDisplayIfNeeded @ codemirror.js:4056\n> endOperation_W1 @ codemirror.js:3642\n> endOperations @ codemirror.js:3619\n> (anonymous function) @ codemirror.js:3608\n> finishOperation @ codemirror.js:2050\n> endOperation @ codemirror.js:3605\n> (anonymous function) @ codemirror.js:3750\n"},"comment":{"url":"https://api.github.com/repos/codemirror/CodeMirror/issues/comments/263254240","html_url":"https://github.com/codemirror/CodeMirror/issues/4307#issuecomment-263254240","issue_url":"https://api.github.com/repos/codemirror/CodeMirror/issues/4307","id":263254240,"user":{"login":"40thieves","id":424411,"avatar_url":"https://avatars.githubusercontent.com/u/424411?v=3","gravatar_id":"","url":"https://api.github.com/users/40thieves","html_url":"https://github.com/40thieves","followers_url":"https://api.github.com/users/40thieves/followers","following_url":"https://api.github.com/users/40thieves/following{/other_user}","gists_url":"https://api.github.com/users/40thieves/gists{/gist_id}","starred_url":"https://api.github.com/users/40thieves/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/40thieves/subscriptions","organizations_url":"https://api.github.com/users/40thieves/orgs","repos_url":"https://api.github.com/users/40thieves/repos","events_url":"https://api.github.com/users/40thieves/events{/privacy}","received_events_url":"https://api.github.com/users/40thieves/received_events","type":"User","site_admin":false},"created_at":"2016-11-28T12:02:34Z","updated_at":"2016-11-28T12:02:34Z","body":"Testing an upgrade 5.21 today and confirmed that the error is fixed, and it feels a little smoother to use. However I'm seeing a couple of bugs that I can replicate on the examples.\r\n\r\nEmpty newlines are removed when new words are typed:\r\n\r\n[GIF](https://cloud.githubusercontent.com/assets/424411/20667579/e48cc196-b561-11e6-92cf-485f65fb2233.gif)\r\n\r\nTyping a word then hitting return will delete the last word:\r\n\r\n[GIF](https://cloud.githubusercontent.com/assets/424411/20667608/09cee420-b562-11e6-943b-4db7797db6b5.gif)\r\n\r\n(Although I'm not sure if that's exactly the steps to replicate. There's definitely some weirdness around hitting return)\r\n\r\nI think we're going to ship 5.21 soon, as it does seem to be a bit more stable. Hopefully that will get us a bit more data on devices affected."}}
{"actor":{"display_login":"40thieves"}}