[Feature Request] : Allow cancelling modifications in notes

When viewing a Markdown note in DTTG and tapping “Edit”, the only options are “OK” on the right and “Back to group” on the left. I can find no way to undo changes before saving the note. This can be very annoying because if you accidentally deleted something, both ways out of the note will very quickly sync it everywhere and data might be lost.

Currently, both the OK & Back button save the note. IMHO the behavior of the Back button could be changed so that if tapped while in edit mode, it proposes to cancel the changes. The OK button would be the normal way to save an edit.

If you make an undesirable change, shake the device to bring up the Undo Typing option.

OK. Never liked this shaking business so I deactivated it. Will turn it back on for the time being. Thanks.

I’d really like to see an automatic versioning system like Google Docs or like Git have implemented on both mobile and desktop with some tools to manage how much space the versions are taking in the database and clear them if you know you are ready to lock the documents down as a final archive and are wanting to keep the database small. Or, implement it like miro.com for object/change or descript.com for word/change is saved into a version history. Both systems seem to work well. Descript.com keeps a json file with all the transcript edits on my disk and DEVONthink does a nice job searching the transcripts. Personally, I would like to see an inspector that shows the document changes/history and lets me view/restore any of them as well as name and tag the versions or turn a version into a separate document and tag it, if necessary.

Is there a better thread to discuss this ability to undo changes, visualize changes, and cancel editing a web archive that you meant to keep original but refreshed or otherwise typed in by accident?

Please, pretty please - don’t. You could use Git locally and index the files, if you need that. But throwing something like that at all users is increasing size and complexity of the program unnecessarily, in my opinion. Just think of all the people storing mostly PDFs in DT or other documents that will not (or must not!) change.

There’s enough software already available that allows for automatic (or at least comfortable) versioning and comparing versions. And given that you can store all kinds of documents in DT (e.g. Pages and Words) whose originating applications allow for this stuff, what’s the point in duplicating this functionality in DT?

1 Like

Although I can understand there are interests in doing this I agree with @chrillek. Also, it’s not even needed. You could easily implement something like this with the “Before Saving” and “After Saving” smart rule triggers where you can save alternative versions of your documents if you really need to.

1 Like

It’s actually the job of the default smart rules Create Version and Remove Obsolete Versions.

1 Like

Now all that remains to be implemented is branching :wink:

1 Like

:rofl:

Thanks guys.
I just added a hotkey that calls Data > Revert to Saved.
Most of my errors are simple.
And hitting ctrl+z will always undo something weird, like the last file imported rather than the last character typed.

I’ll get used to it eventually.

Thanks for the hints.

Video: Google Chrome - DEVONthink Tips, Online Whiteboard for Visual Collaboration - Descript
Slides: Miro | Online Whiteboard for Visual Collaboration

Thanks for all your help.
I think I have it all sorted now.

Glad to hear you have a process that suits your needs in place :slight_smile:

1 Like

Coming back to this undo feature.

I like to add tags, but today I had a little issue that bothers me.
Somehow as I was typing some new tag using the bar at the bottom DT3 below the file I typed over the old tags and hit enter before I realized I had made some selection error.
I know better than to hit undo now since it often crashes DT3 or else it undoes some move file operation, etc. (even though it sees I’m editing the document or the tags).
Instead I went to the menu and saw “undo typing” but that didn’t work and DT3 crashed.
I lost my tags probably as soon as I had mistyped a couple and didn’t realize I had done so. Hitting enter erases them. I have a backup so I opened it and put back the tags again.

It’s just that I feel the undo feature could keep track of context.
Would save me some pain.
The undo should never crash DT3, of course.

But I still feel it should be more intelligent and keep track of all edits in each field for the entire session.

Another thing I find myself doing is picking a new file from the file list above the browser and instead of opening a new tab with the item, DT3 will replace the current site or file with whatever I select. Might be nice to have an option in the parameters that is like a do not disturb that forces new items to be opened in new tabs rather than replacing the current tab with the selected item.

And another thing is that when I’m working on one file in one Group and then I click another tab that is in another Group, the context is lost. I have to use the inspector or re-select the Group. I would like the Group context to be saved with the tab, so if I switch tabs, DT3 just follows me and shows me the files that are in the same group and returns me to the file selected location.

Not sure if those options already exist. Maybe some of you have some ideas to help me think like DT3… and avoid some of the design choices that are not logical to me.

Whoa. I never turn off DT, so a session can run for days. The approach you suggested would probably crash DT, too, because it runs out of memory :wink:

Also, this kind of “snapshot” (my word) will cause a UI nightmare: suppose you changed field B after field A and want to reset field B to its former state while keeping the changes to field B…

I get your point, but this kind of problem can’t be solved easily (or at all) in a database. Even the big relational players like Oracle have a kind of brute force approach to it.

1 Like

Yes, I know you guys have your limitations.
But I’m sure you can figure out a way to

  1. avoid DT3 crashing when I hit ctrl+z - this is obviously unacceptable
  2. understanding that undo should be logical - a user hits undo because they made a mistake and they want to go back one step. If that is while changing a tag, the tag state should have been saved with each change, so the undo API would simply revert the state of the tags. If the change was some text in the document, the API should simply revert to the state of the text before, etc.

And while I know software development is difficult, I also know that there are always solutions.
You can be assured, I’ve invested enough money and time already in your product to know that you will never hear the end of it with me until the problem is resolved either by

  1. me understanding why you can’t make it right
  2. your team understanding how painful crashes and an illogical undo sequence is to customers

Not sure what you mean with “you guys” nor if there are any people without limitations. If you mean to say “you developers”: I’m not one of them.

You guys - meaning the DT3 development team.
You seemed to be representing them with your response, so you are included if that’s the case.

The DT people are recognizable by the tiny DT logo at their avatar.

My remarks where meant to clarify that a complete undo (ie working in every conceivable situation) is hard to implement. What you seem to want is to “keep a stack of actions and revert the last one”. Which is probably easier to implement but there’ll also be border cases (remove the OCR from a PDF, could be such a case).

Regardless of all that: yes, a program should not crash.

Are you able to reproduce this?

It happens frequently enough that I know I can probably find a way to reproduce it.
I’ll see if I can break it down into some steps that anybody can reproduce.
I’ve really been trying to train myself to just not use ctrl+z…
But in this case, the menu even gave me the option to undo typing and since I was in the tags field, I figured, ok, I’ll try it. Probably wouldn’t have mattered. The tags were already lost when I did whatever mistake I did to type over them…

I’ll be back once I’ve broken it down. Thank you!

1 Like