{"action":"opened","issue":{"url":"https://api.github.com/repos/apollographql/apollo-client/issues/1987","repository_url":"https://api.github.com/repos/apollographql/apollo-client","labels_url":"https://api.github.com/repos/apollographql/apollo-client/issues/1987/labels{/name}","comments_url":"https://api.github.com/repos/apollographql/apollo-client/issues/1987/comments","events_url":"https://api.github.com/repos/apollographql/apollo-client/issues/1987/events","html_url":"https://github.com/apollographql/apollo-client/issues/1987","id":247685809,"number":1987,"title":"Infinite loop when selecting multiple fragments with the same fields","user":{"login":"altschuler","id":956928,"avatar_url":"https://avatars0.githubusercontent.com/u/956928?v=4","gravatar_id":"","url":"https://api.github.com/users/altschuler","html_url":"https://github.com/altschuler","followers_url":"https://api.github.com/users/altschuler/followers","following_url":"https://api.github.com/users/altschuler/following{/other_user}","gists_url":"https://api.github.com/users/altschuler/gists{/gist_id}","starred_url":"https://api.github.com/users/altschuler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/altschuler/subscriptions","organizations_url":"https://api.github.com/users/altschuler/orgs","repos_url":"https://api.github.com/users/altschuler/repos","events_url":"https://api.github.com/users/altschuler/events{/privacy}","received_events_url":"https://api.github.com/users/altschuler/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-08-03T12:10:25Z","updated_at":"2017-08-03T12:10:25Z","closed_at":null,"body":"Using apollo-angular, given something to the effect of the following schema, `watchQuery` will trigger infinitely. I'm guessing the cause is something like the `PartOne` fragment being updated which triggers a change in the store that triggers the `PartTwo` which triggers `PartOne` and so on. Or something similar. It might be an issue with apollo-angular, sorry if it's the wrong repo to report.\r\n\r\n```\r\ntype Foobar {\r\n    foo: String\r\n    bar: String\r\n}\r\n\r\ntype World {\r\n    something: Foobar\r\n}\r\n\r\nfragment PartOne on World {\r\n    something { foo }\r\n}\r\n\r\nfragment PartTwo on World {\r\n    something { bar }\r\n}\r\n\r\nfragment Full on World {\r\n    ...PartOne\r\n    ...PartTwo\r\n}\r\n\r\ntype Query {\r\n  world(id: Int!) {\r\n    ...Full\r\n  }\r\n}\r\n\r\n// in some .ts file\r\nthis.apollo.watchQuery({\r\n    query: `\r\n        # fragments omitted\r\n        query Foobar($id: Int!) {\r\n            world(id: $id) {\r\n                ...Full\r\n           }\r\n       }\r\n    }`,\r\n    variables: { id: 1 },\r\n});\r\n```\r\n\r\n**Intended outcome:**\r\n`watchQuery` should only trigger only once\r\n\r\n**Actual outcome:**\r\n`watchQuery` triggers continuously without any actual changes to the data.\r\n\r\n**Version**\r\napollo-angular: 0.13.0\r\napollo-client: 1.9.0-1\r\n"}}
{"actor":{"display_login":"altschuler"}}