{"action":"created","comment":{"url":"https://api.github.com/repos/Wikia/app/pulls/comments/90748542","pull_request_review_id":11269430,"id":90748542,"diff_hunk":"@@ -0,0 +1,56 @@\n+<?php\n+\n+class AbandonedWorkResetter extends WikiaModel {\n+\t/**\n+\t * reset state in abandoned work\n+\t * note: this is run via a cron script\n+\t */\n+\tpublic function resetAbandonedWork() {\n+\t\twfProfileIn( __METHOD__ );\n+\n+\t\t$timeLimit = ( $this->wg->DevelEnvironment ) ? 1 : 3600; // 1 sec","path":"extensions/wikia/ImageReview/AbandonedWorkResetter.class.php","position":11,"original_position":11,"commit_id":"3a95d75588a6a33e5b4d737b8e60623d04cc165c","original_commit_id":"3a95d75588a6a33e5b4d737b8e60623d04cc165c","user":{"login":"WikiaTech","id":13279985,"avatar_url":"https://avatars.githubusercontent.com/u/13279985?v=3","gravatar_id":"","url":"https://api.github.com/users/WikiaTech","html_url":"https://github.com/WikiaTech","followers_url":"https://api.github.com/users/WikiaTech/followers","following_url":"https://api.github.com/users/WikiaTech/following{/other_user}","gists_url":"https://api.github.com/users/WikiaTech/gists{/gist_id}","starred_url":"https://api.github.com/users/WikiaTech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WikiaTech/subscriptions","organizations_url":"https://api.github.com/users/WikiaTech/orgs","repos_url":"https://api.github.com/users/WikiaTech/repos","events_url":"https://api.github.com/users/WikiaTech/events{/privacy}","received_events_url":"https://api.github.com/users/WikiaTech/received_events","type":"User","site_admin":false},"body":"![INFO](https://raw.githubusercontent.com/SonarCommunity/sonar-github/master/images/severity-info.png) Move this trailing comment on the previous empty line. [![rule](https://raw.githubusercontent.com/SonarCommunity/sonar-github/master/images/rule.png)](https://sonarqube.wikia-inc.com/coding_rules#rule_key=php%3AS139)\n","created_at":"2016-12-03T02:27:38Z","updated_at":"2016-12-03T02:27:38Z","html_url":"https://github.com/Wikia/app/pull/11929#discussion_r90748542","pull_request_url":"https://api.github.com/repos/Wikia/app/pulls/11929","_links":{"self":{"href":"https://api.github.com/repos/Wikia/app/pulls/comments/90748542"},"html":{"href":"https://github.com/Wikia/app/pull/11929#discussion_r90748542"},"pull_request":{"href":"https://api.github.com/repos/Wikia/app/pulls/11929"}}},"pull_request":{"url":"https://api.github.com/repos/Wikia/app/pulls/11929","id":94463100,"html_url":"https://github.com/Wikia/app/pull/11929","diff_url":"https://github.com/Wikia/app/pull/11929.diff","patch_url":"https://github.com/Wikia/app/pull/11929.patch","issue_url":"https://api.github.com/repos/Wikia/app/issues/11929","number":11929,"state":"open","locked":false,"title":"SUS-541 Refactoring of the ImageReview tool to make it more consistent","user":{"login":"garthwebb","id":72574,"avatar_url":"https://avatars.githubusercontent.com/u/72574?v=3","gravatar_id":"","url":"https://api.github.com/users/garthwebb","html_url":"https://github.com/garthwebb","followers_url":"https://api.github.com/users/garthwebb/followers","following_url":"https://api.github.com/users/garthwebb/following{/other_user}","gists_url":"https://api.github.com/users/garthwebb/gists{/gist_id}","starred_url":"https://api.github.com/users/garthwebb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garthwebb/subscriptions","organizations_url":"https://api.github.com/users/garthwebb/orgs","repos_url":"https://api.github.com/users/garthwebb/repos","events_url":"https://api.github.com/users/garthwebb/events{/privacy}","received_events_url":"https://api.github.com/users/garthwebb/received_events","type":"User","site_admin":false},"body":"Jira Ticket: https://wikia-inc.atlassian.net/browse/SUS-541\r\n\r\nThis work does not directly address the tasks as listed in SUS-541 but should help fix some root problems.  This refactor aims to simplify some of the handling code, and make it more consistent.  \r\n\r\nFor example, previously if you visited Special:ImageReview repeatedly by direct URL (e.g. leaving off the ts=XXX it adds) you get different images each time, and the old set of images would still be assigned to you with virtually no way to get at them.  Now, if there is no ts=XXX argument, the extension looks in the DB for any records still assigned to you and updates your ts=XXX to match them.\r\n\r\nAlso fixed a race condition when getting images to review.  A lot of processing happens between pulling a list of possible images and claiming them as your own, and no checks are done to make sure you aren't claiming images that were just claimed by someone else a few microseconds earlier.\r\n\r\nFixed broken cvsStats.  They were giving an error screen because of a bad method call.  Also the output wasn't being set properly so it would have returned an HTML page anyway.\r\n\r\nLots of small updates to bring inline with PHP coding conventions.  Didn't update everywhere since that would make this already large PR even larger so updated at the function level for functions I touched.\r\n\r\n@mixth-sense \r\n\r\n**Text below by jsutterfield**:\r\nI've been working on and expanding this PR. The description above is still largely accurate except for this part\r\n> Now, if there is no ts=XXX argument, the extension looks in the DB for any records still assigned to you and updates your ts=XXX to match them.\r\n\r\nThe updated approach is the tool will first try to match images against the timestamp (if given), then try to find any in-progress reviews (those that would be lost before), and then will finally create a new review.\r\n\r\nApart from that, the PR now includes a fairly large re-organization of the code into smaller, more well defined classes. These changes also include the removal of a caching layer, an update to how the image totals are calculated, and a fair amount of general code clean-up.","created_at":"2016-11-19T01:06:02Z","updated_at":"2016-12-03T02:27:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0b386e588ecf9a8c3a044d89f3824065359e58ca","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Wikia/app/pulls/11929/commits","review_comments_url":"https://api.github.com/repos/Wikia/app/pulls/11929/comments","review_comment_url":"https://api.github.com/repos/Wikia/app/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Wikia/app/issues/11929/comments","statuses_url":"https://api.github.com/repos/Wikia/app/statuses/3a95d75588a6a33e5b4d737b8e60623d04cc165c","head":{"label":"Wikia:SUS-541","ref":"SUS-541","sha":"3a95d75588a6a33e5b4d737b8e60623d04cc165c","user":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"repo":{"id":5532313,"name":"app","full_name":"Wikia/app","owner":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Wikia/app","description":"Wikia Application Code","fork":false,"url":"https://api.github.com/repos/Wikia/app","forks_url":"https://api.github.com/repos/Wikia/app/forks","keys_url":"https://api.github.com/repos/Wikia/app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wikia/app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wikia/app/teams","hooks_url":"https://api.github.com/repos/Wikia/app/hooks","issue_events_url":"https://api.github.com/repos/Wikia/app/issues/events{/number}","events_url":"https://api.github.com/repos/Wikia/app/events","assignees_url":"https://api.github.com/repos/Wikia/app/assignees{/user}","branches_url":"https://api.github.com/repos/Wikia/app/branches{/branch}","tags_url":"https://api.github.com/repos/Wikia/app/tags","blobs_url":"https://api.github.com/repos/Wikia/app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wikia/app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wikia/app/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wikia/app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wikia/app/statuses/{sha}","languages_url":"https://api.github.com/repos/Wikia/app/languages","stargazers_url":"https://api.github.com/repos/Wikia/app/stargazers","contributors_url":"https://api.github.com/repos/Wikia/app/contributors","subscribers_url":"https://api.github.com/repos/Wikia/app/subscribers","subscription_url":"https://api.github.com/repos/Wikia/app/subscription","commits_url":"https://api.github.com/repos/Wikia/app/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wikia/app/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wikia/app/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wikia/app/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wikia/app/contents/{+path}","compare_url":"https://api.github.com/repos/Wikia/app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wikia/app/merges","archive_url":"https://api.github.com/repos/Wikia/app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wikia/app/downloads","issues_url":"https://api.github.com/repos/Wikia/app/issues{/number}","pulls_url":"https://api.github.com/repos/Wikia/app/pulls{/number}","milestones_url":"https://api.github.com/repos/Wikia/app/milestones{/number}","notifications_url":"https://api.github.com/repos/Wikia/app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wikia/app/labels{/name}","releases_url":"https://api.github.com/repos/Wikia/app/releases{/id}","deployments_url":"https://api.github.com/repos/Wikia/app/deployments","created_at":"2012-08-23T20:55:58Z","updated_at":"2016-11-23T04:09:52Z","pushed_at":"2016-12-03T02:26:55Z","git_url":"git://github.com/Wikia/app.git","ssh_url":"git@github.com:Wikia/app.git","clone_url":"https://github.com/Wikia/app.git","svn_url":"https://github.com/Wikia/app","homepage":"http://dev.wikia.com","size":1494572,"stargazers_count":106,"watchers_count":106,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":85,"mirror_url":null,"open_issues_count":109,"forks":85,"open_issues":109,"watchers":106,"default_branch":"dev"}},"base":{"label":"Wikia:dev","ref":"dev","sha":"161255f4ebf52162bf621254eec2eff127e46129","user":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"repo":{"id":5532313,"name":"app","full_name":"Wikia/app","owner":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Wikia/app","description":"Wikia Application Code","fork":false,"url":"https://api.github.com/repos/Wikia/app","forks_url":"https://api.github.com/repos/Wikia/app/forks","keys_url":"https://api.github.com/repos/Wikia/app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wikia/app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wikia/app/teams","hooks_url":"https://api.github.com/repos/Wikia/app/hooks","issue_events_url":"https://api.github.com/repos/Wikia/app/issues/events{/number}","events_url":"https://api.github.com/repos/Wikia/app/events","assignees_url":"https://api.github.com/repos/Wikia/app/assignees{/user}","branches_url":"https://api.github.com/repos/Wikia/app/branches{/branch}","tags_url":"https://api.github.com/repos/Wikia/app/tags","blobs_url":"https://api.github.com/repos/Wikia/app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wikia/app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wikia/app/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wikia/app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wikia/app/statuses/{sha}","languages_url":"https://api.github.com/repos/Wikia/app/languages","stargazers_url":"https://api.github.com/repos/Wikia/app/stargazers","contributors_url":"https://api.github.com/repos/Wikia/app/contributors","subscribers_url":"https://api.github.com/repos/Wikia/app/subscribers","subscription_url":"https://api.github.com/repos/Wikia/app/subscription","commits_url":"https://api.github.com/repos/Wikia/app/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wikia/app/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wikia/app/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wikia/app/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wikia/app/contents/{+path}","compare_url":"https://api.github.com/repos/Wikia/app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wikia/app/merges","archive_url":"https://api.github.com/repos/Wikia/app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wikia/app/downloads","issues_url":"https://api.github.com/repos/Wikia/app/issues{/number}","pulls_url":"https://api.github.com/repos/Wikia/app/pulls{/number}","milestones_url":"https://api.github.com/repos/Wikia/app/milestones{/number}","notifications_url":"https://api.github.com/repos/Wikia/app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wikia/app/labels{/name}","releases_url":"https://api.github.com/repos/Wikia/app/releases{/id}","deployments_url":"https://api.github.com/repos/Wikia/app/deployments","created_at":"2012-08-23T20:55:58Z","updated_at":"2016-11-23T04:09:52Z","pushed_at":"2016-12-03T02:26:55Z","git_url":"git://github.com/Wikia/app.git","ssh_url":"git@github.com:Wikia/app.git","clone_url":"https://github.com/Wikia/app.git","svn_url":"https://github.com/Wikia/app","homepage":"http://dev.wikia.com","size":1494572,"stargazers_count":106,"watchers_count":106,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":85,"mirror_url":null,"open_issues_count":109,"forks":85,"open_issues":109,"watchers":106,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/Wikia/app/pulls/11929"},"html":{"href":"https://github.com/Wikia/app/pull/11929"},"issue":{"href":"https://api.github.com/repos/Wikia/app/issues/11929"},"comments":{"href":"https://api.github.com/repos/Wikia/app/issues/11929/comments"},"review_comments":{"href":"https://api.github.com/repos/Wikia/app/pulls/11929/comments"},"review_comment":{"href":"https://api.github.com/repos/Wikia/app/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Wikia/app/pulls/11929/commits"},"statuses":{"href":"https://api.github.com/repos/Wikia/app/statuses/3a95d75588a6a33e5b4d737b8e60623d04cc165c"}}}}
{"actor":{"display_login":"WikiaTech"}}