Lightroom - The Undo mechanism is effectively broken during a bulk image export

  • 3
  • Problem
  • Updated 5 years ago
The Undo mechanism is effectively broken during a bulk image export.

During an export of (say) 100 images to disk a background task is created which records the export date/ time against each of the images history. Unfortunately it would appear that each of the 100 “Save history state” is also being put into the user “undo stack”.

The upshot of this is that if the user is performing image development at the same time as the export, then from a user’s perspective the undo functionality becomes useless because ...

Undo now simply ... a) undoes one (who knows which) of the image export state history changes and ... b) does not undo what the user last did in development such as a slider change.

I think at best this does not perform what most users would expect – i.e. the undoing of their last action, it hampers development and seeing the Undo Save History State for Image message is confusing.

At worst, if a user performs a development change across a large number of images (in sync) during a large export then they could be precluded from undoing such a change because the undo stack is full of the export recorded state changes for each image.

I suggest that background export tasks should not put entries into the undo stack and I do not think the users would expect it to.

I believe this issue also occurs with publishing tasks and I can confirm it occurs in the LR 4 beta as well as 3.6.

The issue has been discussed here ... http://forums.adobe.com/message/42220...
Photo of Alan Smith

Alan Smith

  • 26 Posts
  • 2 Reply Likes

Posted 7 years ago

  • 3
Photo of Steve Sprengel

Steve Sprengel, Champion

  • 2643 Posts
  • 337 Reply Likes
The state of an image when it was exported or printed is useful to know, but an "Undo" of that history state seems wrong, I agree with that part, so perhaps it should be skipped if an Undo is done.
Photo of Alan Smith

Alan Smith

  • 26 Posts
  • 2 Reply Likes
I agree that the recorded information is important and I’m in no way undermining its need. However, in my opinion “undo” of a publish to flickr or any export is not really meaningful – the file is not magically pulled back from Flickr or removed from where it is exported to. If being pedantic, the undoing of the entry in the image history effectively creates a “lie” as it is saying the publish or export never happened – which it did.

My point would be that I cannot think of a good reason to even put these entries in the Undo buffer in the first place. I am probably reading your response wrong (my apologies) ... but I could interpret you to mean that the entries still go in the Undo stack but are ignored when an Undo is performed – you said “so perhaps it should be skipped if an Undo is done”. This would work, but I would still have concerns if the Undo buffer is a finite length and get filled by the export operation.

Although this sounds a minor problem, it does have the capacity to produce very large gotcha’s from a user experience.

A scenario ... I am running a large file export to disk (say 300 images), whilst doing that I am working in sync mode in development and accidently change the crop on 50 pre-cropped images. I realise what I have done but the phone rings... the export runs to completion and when I get off the phone I have no way to undo my accidental crop other than manually go back and fix each one.

Does the undo buffer have a finite capacity?

If so, it is possible to imaging many scenarios where the export filling the Undo buffer creates a very nasty user experience. In effect, during a large export the “undo” safety net is potentially removed and this will not be obvious to users.

Alan
Photo of Steve Sprengel

Steve Sprengel, Champion

  • 2643 Posts
  • 337 Reply Likes
Recording an Export operation in the image's history should not affect the mass Undo operation, but apparently it does.

There are three Export events and four Adjustment phases to think about

1) Adjustments added BEFORE the Export is started.
A) The Export operation being specified and started.
2) Adjustments added AFTER the Export is started but BEFORE the image is rendered for Export.
B) The particular image being rendered for Export.
3) Adjustments added AFTER the image was rendered for Export.
C) Entire Export finished.
4) Adjustments added AFTER the Export containing the image has finished.

What I had assumed was that the Export being recorded into an image's history occured at point A and was there to mark the snapshot of settings that would be used for the particular Export.

For this to work, that history step should not be able to be removed until at least point B (the particular image has been rendered during the Export in progress) and perhaps point C (the Export has finished) had occurred in the process because it actually stores data for the Export. After an Export has completely finished there shouldn't any reason why you wouldn't be able to remove the Export history state.

From the scenario that occurred to cause this thread to be started, it appears that the Export step is added to the history at point B (the particular image is rendered) and its existence precludes a user-initiated Undo from occurring. This means that the step is purely there for documentation purposes and not needed to store a snapshot and should be able to be removed at any time.

It should also not affect the Undo operations in any way--the Undo needs to have its own internal storage for things that does not get confused with background process events being added to the History.

If the History is in fact being used to store the Undo event information, then the background event history items should be ignored when determinig what to Undo.
Photo of Alan Smith

Alan Smith

  • 26 Posts
  • 2 Reply Likes
This is still a bug in the LR 4.1 release version.
Photo of LRuserXY

LRuserXY

  • 426 Posts
  • 41 Reply Likes
While a longer export is running, the undo function is effectively broken. When trying to undo any action, LR 4.4 shortly displays "Undo save history state for image", apparently undoing the export history entry for the last exported photo.

Only if you manage to undo immediately after the respective user action, undo works for that action. However, if an export commits between user action and undo, the undo affects the export history entry for the last exported photo, which will be the case most of the time.

Edit: If you are quick enough, you can "reach back" to your user action by undoing all export entries that happened after the user action - can be difficult because the exported images accumulate over time. However, that's not very useful ;-)

LR 4.4 final, Win 7, 64 Bit.

P.S. It seems to happen for any user action (I tried assign label, rotate, and some development settings, both from library grid and from develop module). It does not seem to matter whether the affected photo is in the background export or not. Undo of non-photo-specific actions like module change is affected, too.

Edit 2: Sorry, this was already reported here: http://feedback.photoshop.com/photosh.... My problem post is an exact duplicate of that.

This reply was created from a merged topic originally titled
Lightroom 4.4: Undo during background export is broken (duplicate post, sorry).
Photo of Alan Smith

Alan Smith

  • 26 Posts
  • 2 Reply Likes
This is still a serious bug in LR 5