{"action":"created","issue":{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/478","repository_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine","labels_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/478/labels{/name}","comments_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/478/comments","events_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/478/events","html_url":"https://github.com/ckeditor/ckeditor5-engine/issues/478","id":159926955,"number":478,"title":"Multi-byte characters support","user":{"login":"Reinmar","id":156149,"avatar_url":"https://avatars.githubusercontent.com/u/156149?v=3","gravatar_id":"","url":"https://api.github.com/users/Reinmar","html_url":"https://github.com/Reinmar","followers_url":"https://api.github.com/users/Reinmar/followers","following_url":"https://api.github.com/users/Reinmar/following{/other_user}","gists_url":"https://api.github.com/users/Reinmar/gists{/gist_id}","starred_url":"https://api.github.com/users/Reinmar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Reinmar/subscriptions","organizations_url":"https://api.github.com/users/Reinmar/orgs","repos_url":"https://api.github.com/users/Reinmar/repos","events_url":"https://api.github.com/users/Reinmar/events{/privacy}","received_events_url":"https://api.github.com/users/Reinmar/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/labels/module:conversion","name":"module:conversion","color":"fef2c0"},{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/labels/module:model","name":"module:model","color":"fef2c0"},{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/labels/module:view","name":"module:view","color":"fef2c0"},{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/labels/status:confirmed","name":"status:confirmed","color":"e6e6e6"},{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/labels/status:inprogress","name":"status:inprogress","color":"ededed"},{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/labels/type:feature","name":"type:feature","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"scofalik","id":1502228,"avatar_url":"https://avatars.githubusercontent.com/u/1502228?v=3","gravatar_id":"","url":"https://api.github.com/users/scofalik","html_url":"https://github.com/scofalik","followers_url":"https://api.github.com/users/scofalik/followers","following_url":"https://api.github.com/users/scofalik/following{/other_user}","gists_url":"https://api.github.com/users/scofalik/gists{/gist_id}","starred_url":"https://api.github.com/users/scofalik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scofalik/subscriptions","organizations_url":"https://api.github.com/users/scofalik/orgs","repos_url":"https://api.github.com/users/scofalik/repos","events_url":"https://api.github.com/users/scofalik/events{/privacy}","received_events_url":"https://api.github.com/users/scofalik/received_events","type":"User","site_admin":false},"assignees":[{"login":"scofalik","id":1502228,"avatar_url":"https://avatars.githubusercontent.com/u/1502228?v=3","gravatar_id":"","url":"https://api.github.com/users/scofalik","html_url":"https://github.com/scofalik","followers_url":"https://api.github.com/users/scofalik/followers","following_url":"https://api.github.com/users/scofalik/following{/other_user}","gists_url":"https://api.github.com/users/scofalik/gists{/gist_id}","starred_url":"https://api.github.com/users/scofalik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scofalik/subscriptions","organizations_url":"https://api.github.com/users/scofalik/orgs","repos_url":"https://api.github.com/users/scofalik/repos","events_url":"https://api.github.com/users/scofalik/events{/privacy}","received_events_url":"https://api.github.com/users/scofalik/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/milestones/2","html_url":"https://github.com/ckeditor/ckeditor5-engine/milestones/iteration%202","labels_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/milestones/2/labels","id":1823099,"number":2,"title":"iteration 2","description":"Cleanup, refactoring and API stabilization.\n\nMain goals:\n\n* API cleanup and improvements.\n* Code and project structure refactoring.\n* Stabilize the project in terms of the API, to allow for more rapid feature development.\n* Review existing documentation and create architecture documentation.","creator":{"login":"Reinmar","id":156149,"avatar_url":"https://avatars.githubusercontent.com/u/156149?v=3","gravatar_id":"","url":"https://api.github.com/users/Reinmar","html_url":"https://github.com/Reinmar","followers_url":"https://api.github.com/users/Reinmar/followers","following_url":"https://api.github.com/users/Reinmar/following{/other_user}","gists_url":"https://api.github.com/users/Reinmar/gists{/gist_id}","starred_url":"https://api.github.com/users/Reinmar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Reinmar/subscriptions","organizations_url":"https://api.github.com/users/Reinmar/orgs","repos_url":"https://api.github.com/users/Reinmar/repos","events_url":"https://api.github.com/users/Reinmar/events{/privacy}","received_events_url":"https://api.github.com/users/Reinmar/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":26,"state":"open","created_at":"2016-06-13T09:22:35Z","updated_at":"2016-07-26T14:18:56Z","due_on":"2016-07-28T22:00:00Z","closed_at":null},"comments":10,"created_at":"2016-06-13T11:17:17Z","updated_at":"2016-07-27T13:23:50Z","closed_at":null,"body":"At the moment, neither the engine (except some fragments) nor the features support multi-byte characters in the content (you can read about them in https://mathiasbynens.be/notes/javascript-unicode).\r\n\r\nThis means that if we insert e.g. `'\\u{1F4A9}'` into the model and press backspace after it only half of that character will be deleted.\r\n\r\nThe model features `CharacterProxy` class but other pieces of code don't expect the character to be of length 2. The same knowledge will need to be spread in the view."},"comment":{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/comments/235583230","html_url":"https://github.com/ckeditor/ckeditor5-engine/issues/478#issuecomment-235583230","issue_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/478","id":235583230,"user":{"login":"Reinmar","id":156149,"avatar_url":"https://avatars.githubusercontent.com/u/156149?v=3","gravatar_id":"","url":"https://api.github.com/users/Reinmar","html_url":"https://github.com/Reinmar","followers_url":"https://api.github.com/users/Reinmar/followers","following_url":"https://api.github.com/users/Reinmar/following{/other_user}","gists_url":"https://api.github.com/users/Reinmar/gists{/gist_id}","starred_url":"https://api.github.com/users/Reinmar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Reinmar/subscriptions","organizations_url":"https://api.github.com/users/Reinmar/orgs","repos_url":"https://api.github.com/users/Reinmar/repos","events_url":"https://api.github.com/users/Reinmar/events{/privacy}","received_events_url":"https://api.github.com/users/Reinmar/received_events","type":"User","site_admin":false},"created_at":"2016-07-27T13:23:50Z","updated_at":"2016-07-27T13:23:50Z","body":"Comparison of deleting characters and graphemes (backspace vs forward delete):\r\n\r\n<a href=\"http://giphy.com/gifs/3o6ZteAM6iXMbDVHva\"><img src=\"http://i.giphy.com/3o6ZteAM6iXMbDVHva.gif\" alt=\"Comparison of delete and forward delete behaviour with graphemes\"></a>"}}
{"actor":{"display_login":"Reinmar"}}