{"record":{"id":"9fbb85f71be20494","repo":"phacility/phabricator","slug":"you-can-not-resign-from-this-revision-because-you","errorCode":null,"errorMessage":"You can not resign from this revision because you have already resigned.","messagePattern":"You can not resign from this revision because you have already resigned\\.","errorType":"validation","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/applications/differential/xaction/DifferentialRevisionResignTransaction.php","lineNumber":72,"sourceCode":"  }\n\n  public function applyExternalEffects($object, $value) {\n    $status = DifferentialReviewerStatus::STATUS_RESIGNED;\n    $actor = $this->getActor();\n    $this->applyReviewerEffect($object, $actor, $value, $status);\n  }\n\n  protected function validateAction($object, PhabricatorUser $viewer) {\n    if ($object->isClosed()) {\n      throw new Exception(\n        pht(\n          'You can not resign from this revision because it has already '.\n          'been closed. You can only resign from open revisions.'));\n    }\n\n    $resigned = DifferentialReviewerStatus::STATUS_RESIGNED;\n    if ($this->getViewerReviewerStatus($object, $viewer) == $resigned) {\n      throw new Exception(\n        pht(\n          'You can not resign from this revision because you have already '.\n          'resigned.'));\n    }\n\n    if (!$this->isViewerAnyAuthority($object, $viewer)) {\n      throw new Exception(\n        pht(\n          'You can not resign from this revision because you are not a '.\n          'reviewer, and do not have authority over any reviewer.'));\n    }\n  }\n\n  public function getTitle() {\n    return pht(\n      '%s resigned from this revision.',\n      $this->renderAuthor());\n  }","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/differential/xaction/DifferentialRevisionResignTransaction.php#L54-L90","documentation":"Error \"You can not resign from this revision because you have already resigned.\" thrown in phacility/phabricator.","triggerScenarios":"Thrown at src/applications/differential/xaction/DifferentialRevisionResignTransaction.php:72 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"}