{"action":"created","issue":{"url":"https://api.github.com/repos/freeorion/freeorion/issues/1916","repository_url":"https://api.github.com/repos/freeorion/freeorion","labels_url":"https://api.github.com/repos/freeorion/freeorion/issues/1916/labels{/name}","comments_url":"https://api.github.com/repos/freeorion/freeorion/issues/1916/comments","events_url":"https://api.github.com/repos/freeorion/freeorion/issues/1916/events","html_url":"https://github.com/freeorion/freeorion/pull/1916","id":281144215,"number":1916,"title":"Prevent Fleet::Copy() from referencing unknown systems","user":{"login":"LGM-Doyle","id":17235966,"avatar_url":"https://avatars2.githubusercontent.com/u/17235966?v=4","gravatar_id":"","url":"https://api.github.com/users/LGM-Doyle","html_url":"https://github.com/LGM-Doyle","followers_url":"https://api.github.com/users/LGM-Doyle/followers","following_url":"https://api.github.com/users/LGM-Doyle/following{/other_user}","gists_url":"https://api.github.com/users/LGM-Doyle/gists{/gist_id}","starred_url":"https://api.github.com/users/LGM-Doyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LGM-Doyle/subscriptions","organizations_url":"https://api.github.com/users/LGM-Doyle/orgs","repos_url":"https://api.github.com/users/LGM-Doyle/repos","events_url":"https://api.github.com/users/LGM-Doyle/events{/privacy}","received_events_url":"https://api.github.com/users/LGM-Doyle/received_events","type":"User","site_admin":false},"labels":[{"id":193301672,"url":"https://api.github.com/repos/freeorion/freeorion/labels/category:bug","name":"category:bug","color":"5319e7","default":false},{"id":430445128,"url":"https://api.github.com/repos/freeorion/freeorion/labels/component:internal","name":"component:internal","color":"d93f0b","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/freeorion/freeorion/milestones/18","html_url":"https://github.com/freeorion/freeorion/milestone/18","labels_url":"https://api.github.com/repos/freeorion/freeorion/milestones/18/labels","id":2316533,"number":18,"title":"v0.4.8 (mandatory)","description":"Bugs, features and pull requests that *must* be fixed/finalized for the 0.4.8 release. All issues and PRs assigned to this milestone are considered release-blocking.","creator":{"login":"Vezzra","id":10279417,"avatar_url":"https://avatars2.githubusercontent.com/u/10279417?v=4","gravatar_id":"","url":"https://api.github.com/users/Vezzra","html_url":"https://github.com/Vezzra","followers_url":"https://api.github.com/users/Vezzra/followers","following_url":"https://api.github.com/users/Vezzra/following{/other_user}","gists_url":"https://api.github.com/users/Vezzra/gists{/gist_id}","starred_url":"https://api.github.com/users/Vezzra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vezzra/subscriptions","organizations_url":"https://api.github.com/users/Vezzra/orgs","repos_url":"https://api.github.com/users/Vezzra/repos","events_url":"https://api.github.com/users/Vezzra/events{/privacy}","received_events_url":"https://api.github.com/users/Vezzra/received_events","type":"User","site_admin":false},"open_issues":15,"closed_issues":267,"state":"open","created_at":"2017-02-12T13:01:43Z","updated_at":"2017-12-13T18:22:24Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2017-12-11T19:45:37Z","updated_at":"2017-12-13T18:22:40Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/freeorion/freeorion/pulls/1916","html_url":"https://github.com/freeorion/freeorion/pull/1916","diff_url":"https://github.com/freeorion/freeorion/pull/1916.diff","patch_url":"https://github.com/freeorion/freeorion/pull/1916.patch"},"body":"This PR prevents `Fleet::Copy()` from copying `m_next_system` and `m_prev_system` when the system is not visible to the referenced empire.\r\n\r\nThis was creating an error in the human client when it tried to follow a path to an invisible `m_next_system`"},"comment":{"url":"https://api.github.com/repos/freeorion/freeorion/issues/comments/351478071","html_url":"https://github.com/freeorion/freeorion/pull/1916#issuecomment-351478071","issue_url":"https://api.github.com/repos/freeorion/freeorion/issues/1916","id":351478071,"user":{"login":"LGM-Doyle","id":17235966,"avatar_url":"https://avatars2.githubusercontent.com/u/17235966?v=4","gravatar_id":"","url":"https://api.github.com/users/LGM-Doyle","html_url":"https://github.com/LGM-Doyle","followers_url":"https://api.github.com/users/LGM-Doyle/followers","following_url":"https://api.github.com/users/LGM-Doyle/following{/other_user}","gists_url":"https://api.github.com/users/LGM-Doyle/gists{/gist_id}","starred_url":"https://api.github.com/users/LGM-Doyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LGM-Doyle/subscriptions","organizations_url":"https://api.github.com/users/LGM-Doyle/orgs","repos_url":"https://api.github.com/users/LGM-Doyle/repos","events_url":"https://api.github.com/users/LGM-Doyle/events{/privacy}","received_events_url":"https://api.github.com/users/LGM-Doyle/received_events","type":"User","site_admin":false},"created_at":"2017-12-13T18:22:40Z","updated_at":"2017-12-13T18:22:40Z","author_association":"CONTRIBUTOR","body":"I don't think that this is a problem for the following reasons.\r\n\r\nEffect mediated ownership changes will happen on the server in `PostCombatProcessTurns()` and be followed by a visibility update.\r\n````\r\nvoid ServerApp::PostCombatProcessTurns() {\r\n...\r\n    m_universe.ApplyAllEffectsAndUpdateMeters(false);\r\n...\r\n    m_universe.UpdateEmpireObjectVisibilities();\r\n...\r\n````\r\n\r\n`UpdateEmpireObjectVisibilities()` calls `SetTravelledStarlanEndpointsVisible()` which grants basic visibility of systems from/to which owned fleets are traveling.\r\n````\r\nvoid Universe::UpdateEmpireObjectVisibilities() {\r\n...\r\n    SetTravelledStarlaneEndpointsVisible(Objects(), m_empire_object_visibility);\r\n...\r\n````\r\n\r\nIt is only after this that the fleets are copied out to the individual empires/clients. A copied fleet ***owned by a different empire*** would lose knowledge of where it is going to/coming from if the empire/client does not already know of the system.\r\n\r\n"}}
{"actor":{"display_login":"LGM-Doyle"}}