{"action":"created","comment":{"url":"https://api.github.com/repos/vector-im/vector-web/pulls/comments/46845779","id":46845779,"diff_hunk":"@@ -57,25 +57,42 @@ module.exports = React.createClass({\n         if (this.props.onFinished) this.props.onFinished();\n     },\n \n+    onCancelSendClick: function() {\n+        Resend.removeFromQueue(this.props.mxEvent);\n+        if (this.props.onFinished) this.props.onFinished();","path":"src/components/views/rooms/MessageContextMenu.js","position":6,"original_position":6,"commit_id":"2f905e13e1a2d10fa781c680455479ae9e181075","original_commit_id":"2f905e13e1a2d10fa781c680455479ae9e181075","user":{"login":"Kegsay","id":7190048,"avatar_url":"https://avatars.githubusercontent.com/u/7190048?v=3","gravatar_id":"","url":"https://api.github.com/users/Kegsay","html_url":"https://github.com/Kegsay","followers_url":"https://api.github.com/users/Kegsay/followers","following_url":"https://api.github.com/users/Kegsay/following{/other_user}","gists_url":"https://api.github.com/users/Kegsay/gists{/gist_id}","starred_url":"https://api.github.com/users/Kegsay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kegsay/subscriptions","organizations_url":"https://api.github.com/users/Kegsay/orgs","repos_url":"https://api.github.com/users/Kegsay/repos","events_url":"https://api.github.com/users/Kegsay/events{/privacy}","received_events_url":"https://api.github.com/users/Kegsay/received_events","type":"User","site_admin":false},"body":"Yeah I thought about this but was like:\r\n - We can make no guarantees that they can cancel sending in time.\r\n - Adding in the glue to the JS-SDK guts to knife the HTTP connection is not my idea of a Fun Time, so screw that.\r\n\r\nSo was planning on basically putting my hands up and saying \"we can make no guarantees! oooo!\"","created_at":"2015-12-07T16:59:55Z","updated_at":"2015-12-07T16:59:55Z","html_url":"https://github.com/vector-im/vector-web/pull/477#discussion_r46845779","pull_request_url":"https://api.github.com/repos/vector-im/vector-web/pulls/477","_links":{"self":{"href":"https://api.github.com/repos/vector-im/vector-web/pulls/comments/46845779"},"html":{"href":"https://github.com/vector-im/vector-web/pull/477#discussion_r46845779"},"pull_request":{"href":"https://api.github.com/repos/vector-im/vector-web/pulls/477"}}},"pull_request":{"url":"https://api.github.com/repos/vector-im/vector-web/pulls/477","id":52862732,"html_url":"https://github.com/vector-im/vector-web/pull/477","diff_url":"https://github.com/vector-im/vector-web/pull/477.diff","patch_url":"https://github.com/vector-im/vector-web/pull/477.patch","issue_url":"https://api.github.com/repos/vector-im/vector-web/issues/477","number":477,"state":"open","locked":false,"title":"Make unsent messages behave better","user":{"login":"Kegsay","id":7190048,"avatar_url":"https://avatars.githubusercontent.com/u/7190048?v=3","gravatar_id":"","url":"https://api.github.com/users/Kegsay","html_url":"https://github.com/Kegsay","followers_url":"https://api.github.com/users/Kegsay/followers","following_url":"https://api.github.com/users/Kegsay/following{/other_user}","gists_url":"https://api.github.com/users/Kegsay/gists{/gist_id}","starred_url":"https://api.github.com/users/Kegsay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kegsay/subscriptions","organizations_url":"https://api.github.com/users/Kegsay/orgs","repos_url":"https://api.github.com/users/Kegsay/repos","events_url":"https://api.github.com/users/Kegsay/events{/privacy}","received_events_url":"https://api.github.com/users/Kegsay/received_events","type":"User","site_admin":false},"body":"Fixes https://github.com/vector-im/vector-web/issues/367 . Specifically:\r\n - Add \"Cancel Sending\" to all `NOT_SENT` and `QUEUED` messages.\r\n - Make all `SENDING` `NOT_SENT` and `QUEUED` messages appear at the end of the timeline.\r\n - Make the distinction between `NOT_SENT` and `SENDING` clearer by making `NOT_SENT` text red as it was before. It was removed because:\r\n\r\n  > M-matthew> kegan: i did it deliberately to match the ribot design [...] ribot are concerned that bright red is too vicious, and i'm inclined to agree\r\n\r\n  I've reverted this because it is incredibly confusing otherwise:\r\n\r\n  > you sit there like a lemon waiting for something to send which never will\r\n  > M-matthew> if you feel that strongly about it feel free to back it out\r\n\r\n  We need **some indication**. Whether this is red text, an exclamation icon, something, I don't care. But nothing is not acceptable.\r\n\r\nThis relies on the following PRs:\r\n - https://github.com/matrix-org/matrix-react-sdk/pull/47\r\n - https://github.com/matrix-org/matrix-js-sdk/pull/51","created_at":"2015-12-07T16:01:13Z","updated_at":"2015-12-07T16:59:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e007923f87cbdc71f11d664df47a1c558e8bcd33","assignee":{"login":"Kegsay","id":7190048,"avatar_url":"https://avatars.githubusercontent.com/u/7190048?v=3","gravatar_id":"","url":"https://api.github.com/users/Kegsay","html_url":"https://github.com/Kegsay","followers_url":"https://api.github.com/users/Kegsay/followers","following_url":"https://api.github.com/users/Kegsay/following{/other_user}","gists_url":"https://api.github.com/users/Kegsay/gists{/gist_id}","starred_url":"https://api.github.com/users/Kegsay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kegsay/subscriptions","organizations_url":"https://api.github.com/users/Kegsay/orgs","repos_url":"https://api.github.com/users/Kegsay/repos","events_url":"https://api.github.com/users/Kegsay/events{/privacy}","received_events_url":"https://api.github.com/users/Kegsay/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/vector-im/vector-web/pulls/477/commits","review_comments_url":"https://api.github.com/repos/vector-im/vector-web/pulls/477/comments","review_comment_url":"https://api.github.com/repos/vector-im/vector-web/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vector-im/vector-web/issues/477/comments","statuses_url":"https://api.github.com/repos/vector-im/vector-web/statuses/2f905e13e1a2d10fa781c680455479ae9e181075","head":{"label":"vector-im:kegan/resending","ref":"kegan/resending","sha":"2f905e13e1a2d10fa781c680455479ae9e181075","user":{"login":"vector-im","id":13446337,"avatar_url":"https://avatars.githubusercontent.com/u/13446337?v=3","gravatar_id":"","url":"https://api.github.com/users/vector-im","html_url":"https://github.com/vector-im","followers_url":"https://api.github.com/users/vector-im/followers","following_url":"https://api.github.com/users/vector-im/following{/other_user}","gists_url":"https://api.github.com/users/vector-im/gists{/gist_id}","starred_url":"https://api.github.com/users/vector-im/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vector-im/subscriptions","organizations_url":"https://api.github.com/users/vector-im/orgs","repos_url":"https://api.github.com/users/vector-im/repos","events_url":"https://api.github.com/users/vector-im/events{/privacy}","received_events_url":"https://api.github.com/users/vector-im/received_events","type":"Organization","site_admin":false},"repo":{"id":39487546,"name":"vector-web","full_name":"vector-im/vector-web","owner":{"login":"vector-im","id":13446337,"avatar_url":"https://avatars.githubusercontent.com/u/13446337?v=3","gravatar_id":"","url":"https://api.github.com/users/vector-im","html_url":"https://github.com/vector-im","followers_url":"https://api.github.com/users/vector-im/followers","following_url":"https://api.github.com/users/vector-im/following{/other_user}","gists_url":"https://api.github.com/users/vector-im/gists{/gist_id}","starred_url":"https://api.github.com/users/vector-im/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vector-im/subscriptions","organizations_url":"https://api.github.com/users/vector-im/orgs","repos_url":"https://api.github.com/users/vector-im/repos","events_url":"https://api.github.com/users/vector-im/events{/privacy}","received_events_url":"https://api.github.com/users/vector-im/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vector-im/vector-web","description":"Vector collaboration client","fork":false,"url":"https://api.github.com/repos/vector-im/vector-web","forks_url":"https://api.github.com/repos/vector-im/vector-web/forks","keys_url":"https://api.github.com/repos/vector-im/vector-web/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vector-im/vector-web/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vector-im/vector-web/teams","hooks_url":"https://api.github.com/repos/vector-im/vector-web/hooks","issue_events_url":"https://api.github.com/repos/vector-im/vector-web/issues/events{/number}","events_url":"https://api.github.com/repos/vector-im/vector-web/events","assignees_url":"https://api.github.com/repos/vector-im/vector-web/assignees{/user}","branches_url":"https://api.github.com/repos/vector-im/vector-web/branches{/branch}","tags_url":"https://api.github.com/repos/vector-im/vector-web/tags","blobs_url":"https://api.github.com/repos/vector-im/vector-web/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vector-im/vector-web/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vector-im/vector-web/git/refs{/sha}","trees_url":"https://api.github.com/repos/vector-im/vector-web/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vector-im/vector-web/statuses/{sha}","languages_url":"https://api.github.com/repos/vector-im/vector-web/languages","stargazers_url":"https://api.github.com/repos/vector-im/vector-web/stargazers","contributors_url":"https://api.github.com/repos/vector-im/vector-web/contributors","subscribers_url":"https://api.github.com/repos/vector-im/vector-web/subscribers","subscription_url":"https://api.github.com/repos/vector-im/vector-web/subscription","commits_url":"https://api.github.com/repos/vector-im/vector-web/commits{/sha}","git_commits_url":"https://api.github.com/repos/vector-im/vector-web/git/commits{/sha}","comments_url":"https://api.github.com/repos/vector-im/vector-web/comments{/number}","issue_comment_url":"https://api.github.com/repos/vector-im/vector-web/issues/comments{/number}","contents_url":"https://api.github.com/repos/vector-im/vector-web/contents/{+path}","compare_url":"https://api.github.com/repos/vector-im/vector-web/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vector-im/vector-web/merges","archive_url":"https://api.github.com/repos/vector-im/vector-web/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vector-im/vector-web/downloads","issues_url":"https://api.github.com/repos/vector-im/vector-web/issues{/number}","pulls_url":"https://api.github.com/repos/vector-im/vector-web/pulls{/number}","milestones_url":"https://api.github.com/repos/vector-im/vector-web/milestones{/number}","notifications_url":"https://api.github.com/repos/vector-im/vector-web/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vector-im/vector-web/labels{/name}","releases_url":"https://api.github.com/repos/vector-im/vector-web/releases{/id}","created_at":"2015-07-22T05:32:15Z","updated_at":"2015-12-02T17:34:03Z","pushed_at":"2015-12-07T16:04:50Z","git_url":"git://github.com/vector-im/vector-web.git","ssh_url":"git@github.com:vector-im/vector-web.git","clone_url":"https://github.com/vector-im/vector-web.git","svn_url":"https://github.com/vector-im/vector-web","homepage":"http://vector.im","size":2778,"stargazers_count":60,"watchers_count":60,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":12,"mirror_url":null,"open_issues_count":298,"forks":12,"open_issues":298,"watchers":60,"default_branch":"master"}},"base":{"label":"vector-im:develop","ref":"develop","sha":"da5c6873208565a72e5c3dbbc7ace4293bdc26e0","user":{"login":"vector-im","id":13446337,"avatar_url":"https://avatars.githubusercontent.com/u/13446337?v=3","gravatar_id":"","url":"https://api.github.com/users/vector-im","html_url":"https://github.com/vector-im","followers_url":"https://api.github.com/users/vector-im/followers","following_url":"https://api.github.com/users/vector-im/following{/other_user}","gists_url":"https://api.github.com/users/vector-im/gists{/gist_id}","starred_url":"https://api.github.com/users/vector-im/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vector-im/subscriptions","organizations_url":"https://api.github.com/users/vector-im/orgs","repos_url":"https://api.github.com/users/vector-im/repos","events_url":"https://api.github.com/users/vector-im/events{/privacy}","received_events_url":"https://api.github.com/users/vector-im/received_events","type":"Organization","site_admin":false},"repo":{"id":39487546,"name":"vector-web","full_name":"vector-im/vector-web","owner":{"login":"vector-im","id":13446337,"avatar_url":"https://avatars.githubusercontent.com/u/13446337?v=3","gravatar_id":"","url":"https://api.github.com/users/vector-im","html_url":"https://github.com/vector-im","followers_url":"https://api.github.com/users/vector-im/followers","following_url":"https://api.github.com/users/vector-im/following{/other_user}","gists_url":"https://api.github.com/users/vector-im/gists{/gist_id}","starred_url":"https://api.github.com/users/vector-im/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vector-im/subscriptions","organizations_url":"https://api.github.com/users/vector-im/orgs","repos_url":"https://api.github.com/users/vector-im/repos","events_url":"https://api.github.com/users/vector-im/events{/privacy}","received_events_url":"https://api.github.com/users/vector-im/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vector-im/vector-web","description":"Vector collaboration client","fork":false,"url":"https://api.github.com/repos/vector-im/vector-web","forks_url":"https://api.github.com/repos/vector-im/vector-web/forks","keys_url":"https://api.github.com/repos/vector-im/vector-web/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vector-im/vector-web/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vector-im/vector-web/teams","hooks_url":"https://api.github.com/repos/vector-im/vector-web/hooks","issue_events_url":"https://api.github.com/repos/vector-im/vector-web/issues/events{/number}","events_url":"https://api.github.com/repos/vector-im/vector-web/events","assignees_url":"https://api.github.com/repos/vector-im/vector-web/assignees{/user}","branches_url":"https://api.github.com/repos/vector-im/vector-web/branches{/branch}","tags_url":"https://api.github.com/repos/vector-im/vector-web/tags","blobs_url":"https://api.github.com/repos/vector-im/vector-web/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vector-im/vector-web/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vector-im/vector-web/git/refs{/sha}","trees_url":"https://api.github.com/repos/vector-im/vector-web/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vector-im/vector-web/statuses/{sha}","languages_url":"https://api.github.com/repos/vector-im/vector-web/languages","stargazers_url":"https://api.github.com/repos/vector-im/vector-web/stargazers","contributors_url":"https://api.github.com/repos/vector-im/vector-web/contributors","subscribers_url":"https://api.github.com/repos/vector-im/vector-web/subscribers","subscription_url":"https://api.github.com/repos/vector-im/vector-web/subscription","commits_url":"https://api.github.com/repos/vector-im/vector-web/commits{/sha}","git_commits_url":"https://api.github.com/repos/vector-im/vector-web/git/commits{/sha}","comments_url":"https://api.github.com/repos/vector-im/vector-web/comments{/number}","issue_comment_url":"https://api.github.com/repos/vector-im/vector-web/issues/comments{/number}","contents_url":"https://api.github.com/repos/vector-im/vector-web/contents/{+path}","compare_url":"https://api.github.com/repos/vector-im/vector-web/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vector-im/vector-web/merges","archive_url":"https://api.github.com/repos/vector-im/vector-web/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vector-im/vector-web/downloads","issues_url":"https://api.github.com/repos/vector-im/vector-web/issues{/number}","pulls_url":"https://api.github.com/repos/vector-im/vector-web/pulls{/number}","milestones_url":"https://api.github.com/repos/vector-im/vector-web/milestones{/number}","notifications_url":"https://api.github.com/repos/vector-im/vector-web/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vector-im/vector-web/labels{/name}","releases_url":"https://api.github.com/repos/vector-im/vector-web/releases{/id}","created_at":"2015-07-22T05:32:15Z","updated_at":"2015-12-02T17:34:03Z","pushed_at":"2015-12-07T16:04:50Z","git_url":"git://github.com/vector-im/vector-web.git","ssh_url":"git@github.com:vector-im/vector-web.git","clone_url":"https://github.com/vector-im/vector-web.git","svn_url":"https://github.com/vector-im/vector-web","homepage":"http://vector.im","size":2778,"stargazers_count":60,"watchers_count":60,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":12,"mirror_url":null,"open_issues_count":298,"forks":12,"open_issues":298,"watchers":60,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vector-im/vector-web/pulls/477"},"html":{"href":"https://github.com/vector-im/vector-web/pull/477"},"issue":{"href":"https://api.github.com/repos/vector-im/vector-web/issues/477"},"comments":{"href":"https://api.github.com/repos/vector-im/vector-web/issues/477/comments"},"review_comments":{"href":"https://api.github.com/repos/vector-im/vector-web/pulls/477/comments"},"review_comment":{"href":"https://api.github.com/repos/vector-im/vector-web/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vector-im/vector-web/pulls/477/commits"},"statuses":{"href":"https://api.github.com/repos/vector-im/vector-web/statuses/2f905e13e1a2d10fa781c680455479ae9e181075"}}}}