{"action":"created","issue":{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/1451","repository_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine","labels_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/1451/labels{/name}","comments_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/1451/comments","events_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/1451/events","html_url":"https://github.com/ckeditor/ckeditor5-engine/issues/1451","id":336931511,"node_id":"MDU6SXNzdWUzMzY5MzE1MTE=","number":1451,"title":"Unnecessary logic in Renderer#render()","user":{"login":"Reinmar","id":156149,"node_id":"MDQ6VXNlcjE1NjE0OQ==","avatar_url":"https://avatars2.githubusercontent.com/u/156149?v=4","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":[{"id":284751383,"node_id":"MDU6TGFiZWwyODQ3NTEzODM=","url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/labels/status:confirmed","name":"status:confirmed","color":"e6e6e6","default":false},{"id":164253810,"node_id":"MDU6TGFiZWwxNjQyNTM4MTA=","url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/labels/type:bug","name":"type:bug","color":"dd4444","default":false}],"state":"open","locked":false,"assignee":{"login":"Reinmar","id":156149,"node_id":"MDQ6VXNlcjE1NjE0OQ==","avatar_url":"https://avatars2.githubusercontent.com/u/156149?v=4","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},"assignees":[{"login":"Reinmar","id":156149,"node_id":"MDQ6VXNlcjE1NjE0OQ==","avatar_url":"https://avatars2.githubusercontent.com/u/156149?v=4","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}],"milestone":{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/milestones/21","html_url":"https://github.com/ckeditor/ckeditor5-engine/milestone/21","labels_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/milestones/21/labels","id":3410134,"node_id":"MDk6TWlsZXN0b25lMzQxMDEzNA==","number":21,"title":"iteration 19","description":null,"creator":{"login":"Reinmar","id":156149,"node_id":"MDQ6VXNlcjE1NjE0OQ==","avatar_url":"https://avatars2.githubusercontent.com/u/156149?v=4","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":6,"closed_issues":2,"state":"open","created_at":"2018-06-08T08:57:31Z","updated_at":"2018-06-29T09:38:06Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2018-06-29T09:37:49Z","updated_at":"2018-06-29T09:39:51Z","closed_at":null,"author_association":"MEMBER","body":"After yesterday's [small refactoring in the renderer](https://github.com/ckeditor/ckeditor5-engine/commit/601f5f450c69000d4e6c1e2b2662528c8aa1154d) a CC dropped in the renderer:\r\n\r\n![image](https://user-images.githubusercontent.com/156149/42084564-4dc97c28-7b8e-11e8-885a-3099318307a6.png)\r\n\r\nThe change I did yesterday was supposed to not touch any logic but apparently, it did. Namely, I think that `_updateChildren()` started rendering the filler itself. I tried to understand why it didn't render the filler previously but the code got complicated before the refactoring and I have problems tracking it down.\r\n\r\nAnyway, it seems completely accidental that it didn't do it previously. According to the logic, `_diffChildren()` got the filler position as a param and so it was injecting filler into the `expectedDomChildren`. However, the `_updateChildren()` method didn't use the `expectedDomChildren` returned by `_diffChildren()` but another array which it created earlier... That array should also contain the filler, but maybe the duplication caused some problems. IDK. But the logic didn't make sense, for sure.\r\n\r\nNow it seems that `_updateChildren()` and `_updateText()` always take care of rendering the filler by themselves. It seems logical that there's no need to render the filler in `render()` if these two functions took care of everything."},"comment":{"url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/comments/401304375","html_url":"https://github.com/ckeditor/ckeditor5-engine/issues/1451#issuecomment-401304375","issue_url":"https://api.github.com/repos/ckeditor/ckeditor5-engine/issues/1451","id":401304375,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMTMwNDM3NQ==","user":{"login":"Reinmar","id":156149,"node_id":"MDQ6VXNlcjE1NjE0OQ==","avatar_url":"https://avatars2.githubusercontent.com/u/156149?v=4","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":"2018-06-29T09:39:51Z","updated_at":"2018-06-29T09:39:51Z","author_association":"MEMBER","body":"I'm analysing this comment for clues:\r\n\r\n```\r\n\t\t// Check whether the inline filler is required and where it really is in the DOM.\r\n\t\t// At this point in most cases it will be in the DOM, but there are exceptions.\r\n\t\t// For example, if the inline filler was deep in the created DOM structure, it will not be created.\r\n\t\t// Similarly, if it was removed at the beginning of this function and then neither text nor children were updated,\r\n\t\t// it will not be present.\r\n\t\t// Fix those and similar scenarios.\r\n```\r\n\r\n"}}
{"actor":{"display_login":"Reinmar"}}