mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-24 12:39:04 +01:00
(stable) 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
This commit is contained in:
parent
916bce119a
commit
86ad698639
1 changed files with 6 additions and 1 deletions
|
@ -189,6 +189,8 @@ abstract class PhabricatorInlineCommentController
|
||||||
$inline->setIsEditing(false);
|
$inline->setIsEditing(false);
|
||||||
|
|
||||||
if (!$inline->isVoidComment($viewer)) {
|
if (!$inline->isVoidComment($viewer)) {
|
||||||
|
$inline->setIsDeleted(0);
|
||||||
|
|
||||||
$this->saveComment($inline);
|
$this->saveComment($inline);
|
||||||
|
|
||||||
return $this->buildRenderedCommentResponse(
|
return $this->buildRenderedCommentResponse(
|
||||||
|
@ -217,7 +219,10 @@ abstract class PhabricatorInlineCommentController
|
||||||
|
|
||||||
$is_dirty = false;
|
$is_dirty = false;
|
||||||
if (!$inline->getIsEditing()) {
|
if (!$inline->getIsEditing()) {
|
||||||
$inline->setIsEditing(true);
|
$inline
|
||||||
|
->setIsDeleted(0)
|
||||||
|
->setIsEditing(true);
|
||||||
|
|
||||||
$is_dirty = true;
|
$is_dirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue