{"action":"created","comment":{"url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/comments/227810791","pull_request_review_id":167936433,"id":227810791,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNzgxMDc5MQ==","diff_hunk":"@@ -1,20 +1,22 @@\n import {RetryLink} from \"apollo-link-retry\";\n import { getOperationDefinition } from \"apollo-utilities\";\n \n-export const retryOnErrorLink = (numOfAttempts, firstAttempAfter) => (\n+export const retryOnErrorLink = (numOfAttempts = 5, firstAttempAfter = 2000) => (\n   new RetryLink({\n-    delay: {initial: firstAttempAfter || 1000},\n+\n+    delay: {initial: firstAttempAfter, jitter: false},\n     attempts: (count, operation, error) => {\n       const { operation: operationType } = getOperationDefinition(operation.query);\n       const isMutation = operationType === 'mutation';\n-      console.info(`retryOnErrorLink: {      \n-        numOfAttempts: ${count}, \n+      console.info(`retryOnErrorLink: {\n+        firedAt: ${new Date()},      \n+        numOfAttempts: ${numOfAttempts}, \n         firstAttempAfter: ${firstAttempAfter},\n         count: ${count},\n         operation: ${operationType},\n         error: ${error}\n       }`);\n-      return (isMutation && (count <= numOfAttempts || 5));\n+      return (isMutation && (count <= numOfAttempts));","path":"web/src/sdk/links/retryLink.js","position":null,"original_position":24,"commit_id":"8d984c7ff332a33f166f88c10ccd83115398af53","original_commit_id":"edec06e9902f0f9204dcd0602f5972ed6411df8e","user":{"login":"danielpassos","id":13337,"node_id":"MDQ6VXNlcjEzMzM3","avatar_url":"https://avatars1.githubusercontent.com/u/13337?v=4","gravatar_id":"","url":"https://api.github.com/users/danielpassos","html_url":"https://github.com/danielpassos","followers_url":"https://api.github.com/users/danielpassos/followers","following_url":"https://api.github.com/users/danielpassos/following{/other_user}","gists_url":"https://api.github.com/users/danielpassos/gists{/gist_id}","starred_url":"https://api.github.com/users/danielpassos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielpassos/subscriptions","organizations_url":"https://api.github.com/users/danielpassos/orgs","repos_url":"https://api.github.com/users/danielpassos/repos","events_url":"https://api.github.com/users/danielpassos/events{/privacy}","received_events_url":"https://api.github.com/users/danielpassos/received_events","type":"User","site_admin":false},"body":"I have tried to solve it using [slip](https://www.apollographql.com/docs/link/composition.html) but it did not work for this case. ","created_at":"2018-10-24T14:23:17Z","updated_at":"2018-10-24T14:23:18Z","html_url":"https://github.com/aerogear/offline-conflict-strategies/pull/15#discussion_r227810791","pull_request_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/15","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/comments/227810791"},"html":{"href":"https://github.com/aerogear/offline-conflict-strategies/pull/15#discussion_r227810791"},"pull_request":{"href":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/15"}},"in_reply_to_id":227787307},"pull_request":{"url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/15","id":225402310,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI1NDAyMzEw","html_url":"https://github.com/aerogear/offline-conflict-strategies/pull/15","diff_url":"https://github.com/aerogear/offline-conflict-strategies/pull/15.diff","patch_url":"https://github.com/aerogear/offline-conflict-strategies/pull/15.patch","issue_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues/15","number":15,"state":"open","locked":false,"title":"Improve retry log, timer to run and default parameters","user":{"login":"danielpassos","id":13337,"node_id":"MDQ6VXNlcjEzMzM3","avatar_url":"https://avatars1.githubusercontent.com/u/13337?v=4","gravatar_id":"","url":"https://api.github.com/users/danielpassos","html_url":"https://github.com/danielpassos","followers_url":"https://api.github.com/users/danielpassos/followers","following_url":"https://api.github.com/users/danielpassos/following{/other_user}","gists_url":"https://api.github.com/users/danielpassos/gists{/gist_id}","starred_url":"https://api.github.com/users/danielpassos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielpassos/subscriptions","organizations_url":"https://api.github.com/users/danielpassos/orgs","repos_url":"https://api.github.com/users/danielpassos/repos","events_url":"https://api.github.com/users/danielpassos/events{/privacy}","received_events_url":"https://api.github.com/users/danielpassos/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-10-24T13:25:46Z","updated_at":"2018-10-24T14:23:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fb0d93e23df65c0fb86534f0340ba12194855c0d","assignee":null,"assignees":[],"requested_reviewers":[{"login":"StephenCoady","id":7307251,"node_id":"MDQ6VXNlcjczMDcyNTE=","avatar_url":"https://avatars0.githubusercontent.com/u/7307251?v=4","gravatar_id":"","url":"https://api.github.com/users/StephenCoady","html_url":"https://github.com/StephenCoady","followers_url":"https://api.github.com/users/StephenCoady/followers","following_url":"https://api.github.com/users/StephenCoady/following{/other_user}","gists_url":"https://api.github.com/users/StephenCoady/gists{/gist_id}","starred_url":"https://api.github.com/users/StephenCoady/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StephenCoady/subscriptions","organizations_url":"https://api.github.com/users/StephenCoady/orgs","repos_url":"https://api.github.com/users/StephenCoady/repos","events_url":"https://api.github.com/users/StephenCoady/events{/privacy}","received_events_url":"https://api.github.com/users/StephenCoady/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/15/commits","review_comments_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/15/comments","review_comment_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues/15/comments","statuses_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/statuses/8d984c7ff332a33f166f88c10ccd83115398af53","head":{"label":"aerogear:retry-mutation","ref":"retry-mutation","sha":"8d984c7ff332a33f166f88c10ccd83115398af53","user":{"login":"aerogear","id":954205,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk1NDIwNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/954205?v=4","gravatar_id":"","url":"https://api.github.com/users/aerogear","html_url":"https://github.com/aerogear","followers_url":"https://api.github.com/users/aerogear/followers","following_url":"https://api.github.com/users/aerogear/following{/other_user}","gists_url":"https://api.github.com/users/aerogear/gists{/gist_id}","starred_url":"https://api.github.com/users/aerogear/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aerogear/subscriptions","organizations_url":"https://api.github.com/users/aerogear/orgs","repos_url":"https://api.github.com/users/aerogear/repos","events_url":"https://api.github.com/users/aerogear/events{/privacy}","received_events_url":"https://api.github.com/users/aerogear/received_events","type":"Organization","site_admin":false},"repo":{"id":151069497,"node_id":"MDEwOlJlcG9zaXRvcnkxNTEwNjk0OTc=","name":"offline-conflict-strategies","full_name":"aerogear/offline-conflict-strategies","private":false,"owner":{"login":"aerogear","id":954205,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk1NDIwNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/954205?v=4","gravatar_id":"","url":"https://api.github.com/users/aerogear","html_url":"https://github.com/aerogear","followers_url":"https://api.github.com/users/aerogear/followers","following_url":"https://api.github.com/users/aerogear/following{/other_user}","gists_url":"https://api.github.com/users/aerogear/gists{/gist_id}","starred_url":"https://api.github.com/users/aerogear/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aerogear/subscriptions","organizations_url":"https://api.github.com/users/aerogear/orgs","repos_url":"https://api.github.com/users/aerogear/repos","events_url":"https://api.github.com/users/aerogear/events{/privacy}","received_events_url":"https://api.github.com/users/aerogear/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/aerogear/offline-conflict-strategies","description":"Investigation repository for offline and conflict resolution strategies","fork":false,"url":"https://api.github.com/repos/aerogear/offline-conflict-strategies","forks_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/forks","keys_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/teams","hooks_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/hooks","issue_events_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues/events{/number}","events_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/events","assignees_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/assignees{/user}","branches_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/branches{/branch}","tags_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/tags","blobs_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/refs{/sha}","trees_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/statuses/{sha}","languages_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/languages","stargazers_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/stargazers","contributors_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/contributors","subscribers_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/subscribers","subscription_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/subscription","commits_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/commits{/sha}","git_commits_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/commits{/sha}","comments_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/comments{/number}","issue_comment_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues/comments{/number}","contents_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/contents/{+path}","compare_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/merges","archive_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/downloads","issues_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues{/number}","pulls_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls{/number}","milestones_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/milestones{/number}","notifications_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/labels{/name}","releases_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/releases{/id}","deployments_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/deployments","created_at":"2018-10-01T10:12:30Z","updated_at":"2018-10-24T13:21:41Z","pushed_at":"2018-10-24T14:22:34Z","git_url":"git://github.com/aerogear/offline-conflict-strategies.git","ssh_url":"git@github.com:aerogear/offline-conflict-strategies.git","clone_url":"https://github.com/aerogear/offline-conflict-strategies.git","svn_url":"https://github.com/aerogear/offline-conflict-strategies","homepage":"","size":582,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"aerogear:master","ref":"master","sha":"d03a83af395c3bc0637c23a7e4e475da1c4e1f69","user":{"login":"aerogear","id":954205,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk1NDIwNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/954205?v=4","gravatar_id":"","url":"https://api.github.com/users/aerogear","html_url":"https://github.com/aerogear","followers_url":"https://api.github.com/users/aerogear/followers","following_url":"https://api.github.com/users/aerogear/following{/other_user}","gists_url":"https://api.github.com/users/aerogear/gists{/gist_id}","starred_url":"https://api.github.com/users/aerogear/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aerogear/subscriptions","organizations_url":"https://api.github.com/users/aerogear/orgs","repos_url":"https://api.github.com/users/aerogear/repos","events_url":"https://api.github.com/users/aerogear/events{/privacy}","received_events_url":"https://api.github.com/users/aerogear/received_events","type":"Organization","site_admin":false},"repo":{"id":151069497,"node_id":"MDEwOlJlcG9zaXRvcnkxNTEwNjk0OTc=","name":"offline-conflict-strategies","full_name":"aerogear/offline-conflict-strategies","private":false,"owner":{"login":"aerogear","id":954205,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk1NDIwNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/954205?v=4","gravatar_id":"","url":"https://api.github.com/users/aerogear","html_url":"https://github.com/aerogear","followers_url":"https://api.github.com/users/aerogear/followers","following_url":"https://api.github.com/users/aerogear/following{/other_user}","gists_url":"https://api.github.com/users/aerogear/gists{/gist_id}","starred_url":"https://api.github.com/users/aerogear/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aerogear/subscriptions","organizations_url":"https://api.github.com/users/aerogear/orgs","repos_url":"https://api.github.com/users/aerogear/repos","events_url":"https://api.github.com/users/aerogear/events{/privacy}","received_events_url":"https://api.github.com/users/aerogear/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/aerogear/offline-conflict-strategies","description":"Investigation repository for offline and conflict resolution strategies","fork":false,"url":"https://api.github.com/repos/aerogear/offline-conflict-strategies","forks_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/forks","keys_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/teams","hooks_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/hooks","issue_events_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues/events{/number}","events_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/events","assignees_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/assignees{/user}","branches_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/branches{/branch}","tags_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/tags","blobs_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/refs{/sha}","trees_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/statuses/{sha}","languages_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/languages","stargazers_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/stargazers","contributors_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/contributors","subscribers_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/subscribers","subscription_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/subscription","commits_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/commits{/sha}","git_commits_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/git/commits{/sha}","comments_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/comments{/number}","issue_comment_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues/comments{/number}","contents_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/contents/{+path}","compare_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/merges","archive_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/downloads","issues_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues{/number}","pulls_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls{/number}","milestones_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/milestones{/number}","notifications_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/labels{/name}","releases_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/releases{/id}","deployments_url":"https://api.github.com/repos/aerogear/offline-conflict-strategies/deployments","created_at":"2018-10-01T10:12:30Z","updated_at":"2018-10-24T13:21:41Z","pushed_at":"2018-10-24T14:22:34Z","git_url":"git://github.com/aerogear/offline-conflict-strategies.git","ssh_url":"git@github.com:aerogear/offline-conflict-strategies.git","clone_url":"https://github.com/aerogear/offline-conflict-strategies.git","svn_url":"https://github.com/aerogear/offline-conflict-strategies","homepage":"","size":582,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/15"},"html":{"href":"https://github.com/aerogear/offline-conflict-strategies/pull/15"},"issue":{"href":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues/15"},"comments":{"href":"https://api.github.com/repos/aerogear/offline-conflict-strategies/issues/15/comments"},"review_comments":{"href":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/15/comments"},"review_comment":{"href":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aerogear/offline-conflict-strategies/pulls/15/commits"},"statuses":{"href":"https://api.github.com/repos/aerogear/offline-conflict-strategies/statuses/8d984c7ff332a33f166f88c10ccd83115398af53"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"danielpassos"}}