{"record":{"id":"8c5b99d49b65f077","repo":"phacility/phabricator","slug":"you-can-not-request-review-of-this-revision-becaus-8c5b99","errorCode":null,"errorMessage":"You can not request review of this revision because you are not the author of the revision and it is not currently a draft.","messagePattern":"You can not request review of this revision because you are not the author of the revision and it is not currently a draft\\.","errorType":"validation","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/applications/differential/xaction/DifferentialRevisionRequestReviewTransaction.php","lineNumber":187,"sourceCode":"    DifferentialRevision $revision,\n    PhabricatorUser $viewer) {\n\n    $is_harbormaster = $viewer->isOmnipotent();\n    $is_author = $this->isViewerRevisionAuthor($revision, $viewer);\n    $is_draft = $revision->isDraft();\n\n    if ($is_harbormaster) {\n      // When revisions automatically promote out of \"Draft\" after builds\n      // finish, the viewer may be acting as the Harbormaster application.\n      $source = self::SOURCE_HARBORMASTER;\n    } else if ($is_author) {\n      $source = self::SOURCE_AUTHOR;\n    } else if ($is_draft) {\n      // Non-authors are allowed to \"Request Review\" on draft revisions, to\n      // force them into review immediately.\n      $source = self::SOURCE_VIEWER;\n    } else {\n      throw new Exception(\n        pht(\n          'You can not request review of this revision because you are not '.\n          'the author of the revision and it is not currently a draft.'));\n    }\n\n    return $source;\n  }\n\n}\n","sourceCodeStart":169,"sourceCodeEnd":197,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/differential/xaction/DifferentialRevisionRequestReviewTransaction.php#L169-L197","documentation":"Error \"You can not request review of this revision because you are not the author of the revision and it is not currently a draft.\" thrown in phacility/phabricator.","triggerScenarios":"Thrown at src/applications/differential/xaction/DifferentialRevisionRequestReviewTransaction.php:187 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}