title: GraphQLRange cannot find a segment that has the cursor
body: <p>I'm receiving the following error after a save comment mutation</p>
  
  <p>GraphQLRange cannot find a segment that has the cursor: MTQ2NzkxNTE5NA==</p>
  
  <p>this only happens after I ask for more comments before adding a new one</p>
  
  <p>this is my createContainer code:</p>
  
  <pre><code>export default Relay.createContainer(CommentsDetails, {
    initialVariables: {
      count: 10,
    },
  
    fragments: {
      post: () =&gt; Relay.QL`
        fragment on Post {
          id,
          comments(first: $count) {
            edges {
              cursor,
              node {
                createdAt,
                ${Comment.getFragment('comment')},
              }
            },
            pageInfo {
              hasNextPage,
              hasPreviousPage,
              startCursor,
              endCursor,
            },
          }
        },
      `,
    },
  });
  </code></pre>
  
  <p>this is my save comment mutation</p>
  
  <pre><code>import Relay from 'react-relay';
  
  export default class SaveCommentMutation extends Relay.Mutation {
    getMutation() {
      return Relay.QL `mutation {
        saveComment
      }`;
    }
  
    getVariables() {
      const { post, body } = this.props;
      console.log('variables: ', post, body, this.props);
      return {
        post_id: post.id,
        body,
      }
    }
  
    getFatQuery() {
      return Relay.QL`
        fragment on saveCommentPayload {
          commentEdge,
          post {
            id,
            comments,
          },
          error,
        }
      `;
    }
    getConfigs() {
      return [
        {
          type: 'FIELDS_CHANGE',
          fieldIDs: {
            post: this.props.post.id,
          },
        },
        {
          type: 'RANGE_ADD',
          parentName: 'post',
          parentID: this.props.post.id,
          connectionName: 'comments',
          edgeName: 'commentEdge',
          rangeBehaviors: {
            '': 'append',
            'orderby(createdAt)': 'append',
        },
      }];
    }
  
    getOptimisticResponse() {
      const { post, body } = this.props;
  
      return {
        post: {
          id: post.id,
        },
        commentEdge: {
          node: {
            body: body,
            createdAt: new Date().toUTCString(),
            user: {
              name: 'anonymous',
            }
          }
        }
      };
    }
  }
  </code></pre>
  
  <p>this is the generated graphql query, it works if I try on graphql</p>
  
  <pre><code>mutation SaveCommentMutation($input_0:saveCommentInput!) {
    saveComment(input:$input_0) {
      clientMutationId,
      ...F5,
      ...F6
    }
  }
  fragment F0 on Post {
    id
  }
  fragment F1 on Comment {
    id,
    body,
    createdAt,
    user {
      username,
      name,
      id
    }
  }
  fragment F2 on Post {
    id,
    _comments2g8zcs:comments(first:10) {
      edges {
        cursor,
        node {
          createdAt,
          id,
          ...F1
        }
      },
      pageInfo {
        hasNextPage,
        hasPreviousPage,
        startCursor,
        endCursor
      }
    }
  }
  fragment F3 on Post {
    id,
    _comments3Cdb4n:comments(after:"MTQ2NzkyMDExNQ==",first:10) {
      edges {
        cursor,
        node {
          createdAt,
          id,
          ...F1
        }
      },
      pageInfo {
        hasNextPage,
        hasPreviousPage,
        startCursor,
        endCursor
      }
    }
  }
  fragment F4 on Post {
    id,
    _comments1Z6zk7:comments(after:"MTQ2NzkxNTE5NA==",first:10) {
      edges {
        cursor,
        node {
          createdAt,
          id,
          ...F1
        }
      },
      pageInfo {
        hasNextPage,
        hasPreviousPage,
        startCursor,
        endCursor
      }
    }
  }
  fragment F5 on saveCommentPayload {
    post {
      id,
      ...F0,
      id,
      id,
      ...F2,
      ...F3,
      ...F4
    }
  }
  fragment F6 on saveCommentPayload {
    commentEdge {
      cursor,
      __typename,
      node {
        createdAt,
        id,
        body,
        user {
          username,
          name,
          id
        }
      }
    },
    post {
      id,
      ...F0,
      id,
      id
    }
  }
  </code></pre>
  
  <p>I think this happens because it cannot find the right list of comments that it should append the new created comment</p>