{"action":"created","issue":{"url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/2625","repository_url":"https://api.github.com/repos/MovingBlocks/Terasology","labels_url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/2625/labels{/name}","comments_url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/2625/comments","events_url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/2625/events","html_url":"https://github.com/MovingBlocks/Terasology/pull/2625","id":191807469,"number":2625,"title":"Fixing JS","user":{"login":"portokaliu","id":1146114,"avatar_url":"https://avatars.githubusercontent.com/u/1146114?v=3","gravatar_id":"","url":"https://api.github.com/users/portokaliu","html_url":"https://github.com/portokaliu","followers_url":"https://api.github.com/users/portokaliu/followers","following_url":"https://api.github.com/users/portokaliu/following{/other_user}","gists_url":"https://api.github.com/users/portokaliu/gists{/gist_id}","starred_url":"https://api.github.com/users/portokaliu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/portokaliu/subscriptions","organizations_url":"https://api.github.com/users/portokaliu/orgs","repos_url":"https://api.github.com/users/portokaliu/repos","events_url":"https://api.github.com/users/portokaliu/events{/privacy}","received_events_url":"https://api.github.com/users/portokaliu/received_events","type":"User","site_admin":false},"labels":[{"id":474073518,"url":"https://api.github.com/repos/MovingBlocks/Terasology/labels/in%20progress","name":"in progress","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-11-26T14:01:39Z","updated_at":"2016-11-26T14:10:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/MovingBlocks/Terasology/pulls/2625","html_url":"https://github.com/MovingBlocks/Terasology/pull/2625","diff_url":"https://github.com/MovingBlocks/Terasology/pull/2625.diff","patch_url":"https://github.com/MovingBlocks/Terasology/pull/2625.patch"},"body":"This should fix  #2594 .\r\nThe issue was that the client told the server to create an entity he never created locally. For some reason (TBA), the created block doesn't exist for the host player but exists for the client player after it's seen in the world.\r\n\r\nSeeing as any network component was created only if the entity the player was looking at (this as well may prove a problem and shouldn't be relied on, since currently the network component isn't created on block placement) doesn't exist, the client never considered it a networked entity, thus it had none of the proper components. As the systems relied on the block having these components, it caused a crash when trying to access null values.\r\n\r\nAs of this change, any block existence check will create the block if it doesn't have a network component. This might have the side-effect of creating network components for some blocks that don't need them, but I'm not entirely sure about that side of things. (still in testing :) )\r\n\r\nHow to test:\r\nPlace any machine block, or pretty much anything that should have a widget, as a client while the host isn't looking at said block. No crash == no problem.\r\n\r\nOutstanding before merging:\r\n- I've only tried it on my system with 2 players and I had 2 servers that worked pretty wonky (probably due to the 1.5gb limit. After increasing the limit I had no more problems)\r\n- It might deserve further testing before fully merging. My personal ones were conclusive, but it's just one system \r\n\r\n"},"comment":{"url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/comments/263065355","html_url":"https://github.com/MovingBlocks/Terasology/pull/2625#issuecomment-263065355","issue_url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/2625","id":263065355,"user":{"login":"GooeyHub","id":4524000,"avatar_url":"https://avatars.githubusercontent.com/u/4524000?v=3","gravatar_id":"","url":"https://api.github.com/users/GooeyHub","html_url":"https://github.com/GooeyHub","followers_url":"https://api.github.com/users/GooeyHub/followers","following_url":"https://api.github.com/users/GooeyHub/following{/other_user}","gists_url":"https://api.github.com/users/GooeyHub/gists{/gist_id}","starred_url":"https://api.github.com/users/GooeyHub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GooeyHub/subscriptions","organizations_url":"https://api.github.com/users/GooeyHub/orgs","repos_url":"https://api.github.com/users/GooeyHub/repos","events_url":"https://api.github.com/users/GooeyHub/events{/privacy}","received_events_url":"https://api.github.com/users/GooeyHub/received_events","type":"User","site_admin":false},"created_at":"2016-11-26T14:10:36Z","updated_at":"2016-11-26T14:10:36Z","body":"Uh oh, something went wrong with the build. Need to check on that\n"}}
{"actor":{"display_login":"GooeyHub"}}