Page MenuHomePhabricator

Implement versioned drafts in EditEngine comment forms
ClosedPublic

Authored by epriestley on Dec 2 2015, 8:58 PM.
Tags
None
Referenced Files
F18087726: D14640.id35446.diff
Wed, Aug 6, 5:13 AM
F18087189: D14640.id35418.diff
Wed, Aug 6, 2:52 AM
F18084719: D14640.diff
Tue, Aug 5, 5:11 PM
F17934288: D14640.id.diff
Wed, Jul 30, 10:13 PM
F17898625: D14640.diff
Tue, Jul 29, 8:13 AM
F17726990: D14640.diff
Fri, Jul 18, 10:27 PM
Unknown Object (File)
Jun 29 2025, 10:11 AM
Unknown Object (File)
Jun 1 2025, 2:30 AM
Subscribers
None

Details

Summary

Ref T9132. Fixes T5031. This approximately implements the plan described in T5031#67988:

When we recieve a preview request, don't write a draft if the form is from a version of the object before the last update the viewer made.

This should fix the race-related (?) zombie draft comments that sometimes show up.

I just added a new object for this stuff to make it easier to do stacked actions (or whatever we end up with) a little later, since I needed to do some schema adjustments anyway.

Test Plan
  • Typed some text.
  • Reloaded page.
  • Draft stayed there.
  • Tried real hard to get it to ghost by submitting stuff in multiple windows and typing a lot and couldn't, although I didn't bother specifically narrowing down the race condition.

Diff Detail

Repository
rP Phabricator
Branch
ee31
Lint
Lint Passed
SeverityLocationCodeMessage
Advicesrc/applications/transactions/editengine/PhabricatorEditEngine.php:1020XHP16TODO Comment
Unit
Tests Passed
Build Status
Buildable 9229
Build 10929: Run Core Tests
Build 10928: arc lint + arc unit