Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit bc4f86d

Browse files
author
epriestley
committed
When a new, deleted, draft inline is revived with "Undo", undelete it
Summary: See PHI1876. Normally, deleted inlines are undeleted with an "undelete" operation, which clears the "isDeleted" flag. However, when an inline is deleted implicitly by using "Cancel" without first saving it, the flag currently isn't cleared properly. This can lead to cases where inlines seem to vanish (they are shown to the user in the UI, but treated as deleted on submission). Test Plan: There are two affected sequences here: - Create a new inline, type text, cancel, undo. - Create a new inline, type text, cancel, undo, save. The former sequence triggers an "edit" operation. The subsequent "Save" in the second sequence triggers a "save" operation. It's normally impossible in the UI to execute a "save" without executing an "edit" first, but "save" clearly should undelete the comment if you get there somehow, so this change clears the deleted flag in both cases for completeness. - Executed both sequences, saw comment persist in preview, on reload, and after submission. Differential Revision: https://secure.phabricator.com/D21483
1 parent b2e96df commit bc4f86d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/infrastructure/diff/PhabricatorInlineCommentController.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ public function processRequest() {
189189
$inline->setIsEditing(false);
190190

191191
if (!$inline->isVoidComment($viewer)) {
192+
$inline->setIsDeleted(0);
193+
192194
$this->saveComment($inline);
193195

194196
return $this->buildRenderedCommentResponse(
@@ -217,7 +219,10 @@ public function processRequest() {
217219

218220
$is_dirty = false;
219221
if (!$inline->getIsEditing()) {
220-
$inline->setIsEditing(true);
222+
$inline
223+
->setIsDeleted(0)
224+
->setIsEditing(true);
225+
221226
$is_dirty = true;
222227
}
223228

0 commit comments

Comments
 (0)