Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

29.0.5 Changes are not saved or detected when tab is inactive for more than 30 seconds #6280

Closed
nwinkelstraeter opened this issue Aug 29, 2024 · 10 comments
Labels
bug Something isn't working

Comments

@nwinkelstraeter
Copy link

Describe the bug

When leaving a tab with an open document for more than 30 seconds, new changes are not detected when returning to it.

This is easiest to see when the document was saved right before leaving the tab, as this removes the blue dot indicating that there are unsaved changes. When returning to the tab, the blue dot does not reappear.
But the same thing happens when not having saved before leaving the tab.

This started to occur after upgrading to NC 29.0.5 from 29.0.3.
This issue occurs on the instance upgraded from 29.0.3 and on a fresh install of 29.0.4.
I could not reproduce this on a fresh install of 29.0.4

I hope I have provided enough information. If anything is missing or unclear I am happy to try and provide more information.

We use this tool quite a lot and this problem sadly makes the tool currently unusable for us, so I would be grateful if somebody has an idea for a quick workaround.

Thank you for your help 😃

To Reproduce

  • Open a document and add some changes
    • Make sure the blue dot indicating unsaved changes appears
  • Save the changes
  • Switch the tab for about 30 Seconds
  • Switch back and add some more changes
    • The blue dot does not appear
    • The new changes are gone when re-opening the document

Expected behavior

When switching tab for more than 30 seconds one should be able to continue editing the document.

When trying the same thing in NC 29.0.4 the document is marked as dirty/having unsaved changes upon returning to the tab.

Screenshots
nc-29.0.5-text-changes-not-detected.webm

Server details:

  • Nextcloud version: 29.0.5 (Community Docker Image)
  • Database: Postgres 16 / Mariadb 11 / Mariadb 10

Client details:

  • OS: Ubuntu
  • Browser: Firefox 129.0.2 & Chromium 128.0.6613.84
  • Device: Desktop
Logs

Nextcloud log (data/nextcloud.log)

  • No log message produced during the time this happens

Browser log

browser_log_har.tar.gz

Javascript Console Log

[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
File info for /Documents/Example.md fetched 
Object { filename: "/Documents/Example.md", basename: "Example.md", lastmod: "Thu, 29 Aug 2024 08:45:09 GMT", size: 121, type: "file", etag: "4addce22362e148ba7a01207897bf041", mime: "text/markdown", tags: "", getcontentlength: 121, getcontenttype: "text/markdown", … }
viewer-main.mjs:24491:17
Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438 vendors-node_modules_braintree_sanitize-url_dist_index_js-node_modules_quartzy_markdown-it-me-60d959.js:2:1056880
headingAnchor init src_extensions_index_js-src_components_Editor_EditorOutline_vue-data_image_svg_xml_3c_21--_20-ee52b2.js:2:51777
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066
[WARN] @nextcloud/files: Accessing "Node.attributes.displayname" is deprecated, access it directly on the Node instance. 
Object { app: "@nextcloud/files", uid: "admin", level: 2 }
core-common.js:2:2525066

@nwinkelstraeter nwinkelstraeter added the bug Something isn't working label Aug 29, 2024
@juliushaertl
Copy link
Member

This should have been addressed by #6205

As far as I'm aware there is a new release candidate scheduled for today for Nextcloud 29, so upgrading to that once released later today could help.

@nwinkelstraeter
Copy link
Author

👍 Thank you, then I will definitely try the RC today

@kolAflash
Copy link

kolAflash commented Aug 31, 2024

Just found the 28.x backport :-)
#6204

@ juliushaertl
NC 28.0.9 also seems to be broken.
Will there be a backport to NC 28.x of the fix?

@mejo-
Copy link
Member

mejo- commented Sep 4, 2024

Let's close this for now. Please report back if this still happens on 29.0.6 or 28.0.9 after force-reloading (to ensure latest frontend assets are loaded).

@mejo- mejo- closed this as completed Sep 4, 2024
@kolAflash
Copy link

kolAflash commented Sep 4, 2024

@mejo-
The regression in NC-28.x first appeared in 28.0.9.
So it's definitely not fixed in that version.
(I don't have a NC-29.x instance running)

@mejo-
Copy link
Member

mejo- commented Sep 4, 2024

@kolAflash I wonder if you're talking about a separate issue then. Does this happen with Collectives or with Text in the Files app, or both?

@kolAflash
Copy link

kolAflash commented Sep 4, 2024

@mejo-
Pretty sure we are talking about the same thing. Got two Nextcloud-28.0.9 instances where I can reproduce it.

I just compiled 78f146197 myself with VueJS and replaced app/text/ in Nextcloud-28.0.9 / 28.0.9.1 with it.
After force-reloading the browser tab (or cleaning the browser cache) that solved the problem.

The NC-28.x backport (#6204) was merged 2024-08-28, which is after the 28.0.9 release (2024-08-20). So it's pretty clear that this isn't fixed in 28.0.9.

@mejo-
Copy link
Member

mejo- commented Sep 4, 2024

Thanks for double-checking @kolAflash. I got confused by the unsynchronized NC 28 and 29 releases: Nextcloud 29.0.6 that ships the fix got released yesterday. You're correct that Nextcloud 28.0.10 (which also ships the fix) will only get released on 12. September.

Also thanks for confirming that the backported patch fixes the issue ❤️

@kolAflash
Copy link

Here's the patched version I compiled for NC-28.x from 78f146197:
nextcloud-text-28.0.9-plus-78f146197_build.tar.xz.zip
Remember to run chown on the extracted files when using it.

 

@mejo-
Thanks! 👍 ❤️

If you like to do me a favour, please improve the QA / quality assurance for the text app.
There have been a lot of regressions, including data loss, since the introduction of the user-cursors feature in May 2023.
For example #4100 and #4112

@mejo-
Copy link
Member

mejo- commented Sep 4, 2024

If you like to do me a favour, please improve the QA / quality assurance for the text app.
There have been a lot of regressions, including data loss, since the introduction of the user-cursors feature in May 2023.
For example #4100 and #4112

Thanks for your honest feedback @kolAflash! We're aware that the text app suffered from major bugs within the last year, and we're deeply sorry about that. We continue to improve the QA situation and we can assure you that we're doing lots of testing each time we change something in the sync session handling code. Unfortunately we don't know all possible scenarios upfront, so we continue to learn with each bug that gets discovered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants