History timeline removes all actions between two ‘Update text’ events


#1

Description

If multiple ‘Update text’ actions appear in a project’s History timeline, toggling between two ‘Update text’ actions incorrectly removes all actions that occurred between both states.

Subform version + OS

I'm using Subform 0.0.0+3f2bab9 on macOS Sierra Version 10.12.1

Quickest way to re-create

  • Start with a blank document for ‘A fresh start’
  • Double-click the art board to ‘Add variant child’ with placeholder ‘New text’
  • Double-click ‘New text’ node to edit text
  • Press ‘return’ or ‘enter’ to generate ‘Update text’ history item
  • Double-click the art board again to ‘Add variant child’ with placeholder ‘New text’
  • Double-click ‘New text’ node to edit text
  • Press ‘return’ or ‘enter’ to generate ‘Update text’ history item
  • Select top-most (a.k.a. first) ‘Update text’ item in History timeline
  • Select bottom-most (a.k.a. most recent) ‘Update text’ item in History timeline
  • You should see the ‘Add variant child’ event disappear

2016.11.21 Subform release 6bdeabc
#2

Thanks for the well written and clear report @rmion!

The behavior you describe is the designed behavior.

The history panel allows you to jump back in time to a previous point, it does not allow you to selectively change the past. As we know from all time travel movies, going back in time to change one "small" thing can cause real trouble.


#3

Eek! @kevin You have likely misunderstood my bug. At least I hope, as it would be terrible if what I'm actually describing is expected behavior.

Desired behavior

The desired behavior is to freely click through the History timeline, exploring previous states, knowing that the latest state (and everything that happened in between) will be preserved as long as nothing changes outside of direct interaction with the History timeline.

What is actually happening

What I have outlined is the opposite:
* I performed several actions on the artboard
* I used the History timeline to view a previous state stored by the software
* I then returned directly to the most recent state without modifying any values...

Only to find that the software has removed every action that occurred between the previously selected state and the currently selected state. In this case, the bug occurs only when both actions are 'Update text'.

If it were any other History action type (e.g. Drag, Add variant child, etc.), then nothing would be lost.

To confirm: I'm not changing anything on the artboard, just selecting different saved moments in the History timeline.

Does this help clarify the bug?


#4

Yes, this clarifies things. Your original report was well written, and I made the mistake misunderstanding it --- sorry about that

I've reproduced the issue you are having, but am not quite sure about the underlying cause. I'll look into it and keep you posted on this topic.


#5

Hi @rmion, I tracked down the cause of this issue and it will be fixed in the next release.

I also changed the behavior when rolling back to an "updated text" history state so that the text isn't actually selected. This felt more consistent with the typical behavior of applications, which treat "currently editing text" states as transient.

Thanks again for the detailed report!


#6

@kevin I'm glad I could be of help.

There's plenty more to come in bug-finding and idea-pitching from me. Just you wait and see!


#7