nextcloud / text

📑 Collaborative document editing using Markdown
GNU Affero General Public License v3.0
543 stars 87 forks source link

Ensure files are saved on close #3899

Open max-nextcloud opened 1 year ago

max-nextcloud commented 1 year ago

Describe the bug Sometimes closing the editor won't save the file. The sync request goes out but since the version has not increased it does not save anything.

To Reproduce Steps to reproduce the behavior:

  1. Open file in text
  2. Type something and click x to close viewer directly after
  3. Download the file
  4. Sometimes observe last edits missing

Expected behavior Closing the viewer should always save the file

Will provide logs once i recorded them.

Background

When typing the changes are send out via the push endpoint. However the version counter will only increment once a sync request happened. In the meantime save requests will still have the same version and be ignored.

Possible solutions

Increment version on push

We could increase the version whenever we push - but this would require including all intermediate changes by others in the answer to the push request. The version counter is mainly used to not fetch steps over and over again - so we cannot just increase it as that would lead to ignoring relevant steps.

Sync before saving

We could also use two requests for saving - one to ensure the current version is up to date and then one to actually save the file.

max-nextcloud commented 1 year ago

Sync before saving is what we did in the past and i think it's the least intrusive and easiest change - even though it will require another roundtrip.

blizzz commented 1 year ago

still a thing.

DavidMikeSimon commented 11 months ago

@blizzz I'm also still noticing this behavior. It's especially troublesome because re-opening the file and clicking the save icon has no effect. The user must first make some other change to the file before clicking the save button, in order for it to actually write anything to disk.

Apologies if the fix is still in progress, I don't mean to create a rush! 😅

blizzz commented 11 months ago

@DavidMikeSimon actually i cannot reproduce this behaviour anymore. Do you have some reliable reproduction steps perhaps?

DavidMikeSimon commented 11 months ago

@blizzz Here is how I'm able to reproduce it:

Nextcloud version: 27.0.2 Text app version: 3.8.0

max-nextcloud commented 9 months ago

Thanks @DavidMikeSimon. I was able to reproduce this. I think there are two issues at play here:

juliushaertl commented 7 months ago

@blizzz Will unassign you as it looks more like a frontend issue ;)

bentuna commented 2 weeks ago

Under 28.0.9, we can still reproduce the issue sometimes: When you close a text document without clicking save, a part of your unsaved contents is lost. And: that does not only happen on external storage.