text icon indicating copy to clipboard operation
text copied to clipboard

Changes to markdown file shared via link are not visible via link share

Open wiwie opened this issue 6 years ago • 4 comments

Steps to reproduce

  1. Share a markdown file via a link
  2. Edit markdown file
  3. Open file via shared link

Expected behaviour

The changes made to the file should be visible in the rendered markdown under the shared link

Actual behaviour

The changes are not visible

Server configuration

Operating system: Ubuntu 19.04

Web server: nginx

Database: postgresql

PHP version: 7.2.24

Nextcloud version: 17.0.1

Updated from an older Nextcloud/ownCloud or fresh install: updated

Where did you install Nextcloud from: tarball

Signing status:

Signing status
Technical information
=====================
The following list covers which files have failed the integrity check. Please read
the previous linked documentation to learn more about the errors and how to fix
them.

Results
=======
- spreed
	- INVALID_HASH
		- js/vendor/jquery/src/manipulation/var/rtagName.js
- ownbackup
	- EXTRA_FILE
		- .git/packed-refs
		- .git/index
		- .git/HEAD
		- .git/objects/pack/pack-0e795758fbdeb831009ad08f6cfb5dd187ab3f79.pack
		- .git/objects/pack/pack-0e795758fbdeb831009ad08f6cfb5dd187ab3f79.idx
		- .git/info/exclude
		- .git/config
		- .git/hooks/post-update.sample
		- .git/hooks/pre-applypatch.sample
		- .git/hooks/fsmonitor-watchman.sample
		- .git/hooks/pre-commit.sample
		- .git/hooks/pre-push.sample
		- .git/hooks/update.sample
		- .git/hooks/pre-rebase.sample
		- .git/hooks/pre-receive.sample
		- .git/hooks/commit-msg.sample
		- .git/hooks/applypatch-msg.sample
		- .git/hooks/prepare-commit-msg.sample
		- .git/refs/heads/master
		- .git/refs/remotes/origin/HEAD
		- .git/description
		- .git/logs/HEAD
		- .git/logs/refs/remotes/origin/HEAD

Raw output
==========
Array
(
    [spreed] => Array
        (
            [INVALID_HASH] => Array
                (
                    [js/vendor/jquery/src/manipulation/var/rtagName.js] => Array
                        (
                            [expected] => bfc4b1807ba804861d0fdb57d7bb02ff53315c112f8e70d90e49dcf6c6bff45158ecb70de6a504742e76a15243a4a10784d020b6b590e1e4706a28b78fb5018e
                            [current] => e5d840afab4d90bead504c596ab1a3ea0a309693944dc288498b66cad09a859575a9615c05c89dd401831d2e636b5430114af762cbbf11fd3c0d135eeeece12d
                        )

                )

        )

    [ownbackup] => Array
        (
            [EXTRA_FILE] => Array
                (
                    [.git/packed-refs] => Array
                        (
                            [expected] => 
                            [current] => 433c436be83182325a20a36391771bea12348559ec377faff12ea3fdd4da1d6c350ad3a36f18792ce45e72798b2ac73bb58b150a162acf48686b6f1c7327f005
                        )

                    [.git/index] => Array
                        (
                            [expected] => 
                            [current] => f402d8915e06e8e6029f4d37bb9e6e2a9b7e58de7aab92767ea2d80b07f449fffbd62d3e78e1bb06d609b0501916cb46c0f0627f88e0334b28b0714e78a9f3a6
                        )

                    [.git/HEAD] => Array
                        (
                            [expected] => 
                            [current] => 76b199f1bffdc6d21547895431b0f85f3857df400225cbd1ae55e7ded09786a8a44e1cb21f1feff4951cf57c893043a0be696dcb0e4f5758a4d6081a833eb6cf
                        )

                    [.git/objects/pack/pack-0e795758fbdeb831009ad08f6cfb5dd187ab3f79.pack] => Array
                        (
                            [expected] => 
                            [current] => ae87a9bfbd8150a36f54d95cd9ff1574d987ba194aa87810af01463149036b314ddbdf894ebdb53dd27aef7aa7e8df271ec7836e7cffefc1320b2538498d6edd
                        )

                    [.git/objects/pack/pack-0e795758fbdeb831009ad08f6cfb5dd187ab3f79.idx] => Array
                        (
                            [expected] => 
                            [current] => 772ddd95fd20225ede0e0aa6fd47ee8d073fcf60e4df2200cbbff8724c1d18e123578db0f41235e4a9b62018627af79de25b4638d28eeada87a8df1f2200e5ac
                        )

                    [.git/info/exclude] => Array
                        (
                            [expected] => 
                            [current] => 9828c6ecdf91bf117416e17f4ee9caee2e1e37b6fb00b9ff04035ace17a3089b9d0a25c6baa1046c0e1c62d3da88838e8fca74ea82973d6b975905fde58f3072
                        )

                    [.git/config] => Array
                        (
                            [expected] => 
                            [current] => 5afe4312e77ea52e99ec7279d4536d936c071610f78955f10af6783816a90b77cf564dfc61f7417b328370ead1c7b0818a482510d821e92ae06092db0bfb7957
                        )

                    [.git/hooks/post-update.sample] => Array
                        (
                            [expected] => 
                            [current] => 473ad124642571656276bf83b9ff63ab1804d3c23a5bdae52391c6f70a894849ac60c10c9d31deff3938922ce83b68b1e60c11592bbf7ea503f4acd39968cefa
                        )

                    [.git/hooks/pre-applypatch.sample] => Array
                        (
                            [expected] => 
                            [current] => cb78aa7e9b9c146e5db65d86dd83f04e2b6942a06fab50c704a0fd900683f3b6ad1164e74afe2f267f6da91cdff0b9ab07713e12cefc6f8d741b5df194f4fda6
                        )

                    [.git/hooks/fsmonitor-watchman.sample] => Array
                        (
                            [expected] => 
                            [current] => 4f611b6fc08db7552a0eaca432c41d1114cd4daa066d9fc722f34f6de05ec3eed615286e8cfc5a27df0cbfb90887473beb0f859ba3edbcd1e829bb3b5050d2a9
                        )

                    [.git/hooks/pre-commit.sample] => Array
                        (
                            [expected] => 
                            [current] => 337579c03ec152cc04240141f16a7bc471d7ea1cdc214f6e553367d03a337621e3f0ed2dc0eaa800e4a080e37b0ea3967d5daee3744b7519b5c789262beb1d39
                        )

                    [.git/hooks/pre-push.sample] => Array
                        (
                            [expected] => 
                            [current] => 37cd20a090494acb16c2255fe93dadeb409f2553afddc409dad5b5e99c9f5612a28eba397c0f3ae771e17edbe0a6c2a3af311154285e6d9c43e4cc4f06ba5b8d
                        )

                    [.git/hooks/update.sample] => Array
                        (
                            [expected] => 
                            [current] => 759abd33e5d1dda9b3e3d3116c47b23f616320d70cd66d567b1c4eeefeb6d78571d83b67d825d9e23aac35f0a2e0745cfab1381ecf486e30076b08797699f2c4
                        )

                    [.git/hooks/pre-rebase.sample] => Array
                        (
                            [expected] => 
                            [current] => 00d21d5d72386c3d9b5a1c36ba85201f730556a8295d4353af54af7892ab81010d42aff209ec1fda61c54e4dda3737cea5fda64f09d40ce5004ae28239565025
                        )

                    [.git/hooks/pre-receive.sample] => Array
                        (
                            [expected] => 
                            [current] => ee08c11fab7e896b2e09c241954ba7640338b12c75cd8040daf053c31b2f22236d7a0deac736f89d305236312fdb4f560a38d4d8debdcc9dcdd23b2d975907d5
                        )

                    [.git/hooks/commit-msg.sample] => Array
                        (
                            [expected] => 
                            [current] => d6bb7fa747f4625adf1877f546565cbe812ca7dd4168f7e9068e6732555d8737eba549546cf5946649e3f38de82d173aaf9c160a4c9f9445655258b4c5f955eb
                        )

                    [.git/hooks/applypatch-msg.sample] => Array
                        (
                            [expected] => 
                            [current] => 536cce804d84e25813993efdd240537b52d00ce9cdcecf1982f85096d56a521290104c825c00b370b2752201952a9616a3f4e28c5d27a5b4e4842101a2ff9bee
                        )

                    [.git/hooks/prepare-commit-msg.sample] => Array
                        (
                            [expected] => 
                            [current] => 50ec8a0dd98427e80a82a8d8ce44462a845876e1594c9d0e89483ce9a8aaad616edea0e5c45c1bb69d8fe7f520c6f2260d6fa350d77b400899c3ae375e965bfb
                        )

                    [.git/refs/heads/master] => Array
                        (
                            [expected] => 
                            [current] => 8f11e7e1e413d7d849356153f9754e17a81be487f936d5de6d43e54107289ee4c402939bb04620a5d8095f13d819ec2ab229520eb03f8f21850c3f176de3355b
                        )

                    [.git/refs/remotes/origin/HEAD] => Array
                        (
                            [expected] => 
                            [current] => 478213bbd19d42b6cb00b888c4c64ba85586cd820d7f0148b6039f6a184da9e157af397ebc5af4b62141e3f9468b3b680cbadcdb5e3a5a8af3c8b05f26070d16
                        )

                    [.git/description] => Array
                        (
                            [expected] => 
                            [current] => f7e152f75b124c3e1c5d12f00427729d9eec4e2c1bf70d7606440a6600d003367eb178331e75ab976a61496e79c2c822020849d28ffd170946397b934611b471
                        )

                    [.git/logs/HEAD] => Array
                        (
                            [expected] => 
                            [current] => 082d81e7c5f07d5238615372800c82e1ed83b863cfd14b0291432b7918f9dc35cbc19c0415474c059c077e66f04223fa79b24e9f5db348abf21510a394bc0e5d
                        )

                    [.git/logs/refs/remotes/origin/HEAD] => Array
                        (
                            [expected] => 
                            [current] => 569aa141f86d7a9b91ec1643c867c4dc85dc8b22aa26597a787ee40dcb228b9cd5da557204dc773bc398feb91ddc15be7a935f7a0de7d40c41b99b38abc4a291
                        )

                )

        )

)

List of activated apps:

App list
Enabled:
  - accessibility: 1.3.0
  - activity: 2.10.1
  - admin_audit: 1.7.0
  - bookmarks: 2.3.1
  - bruteforcesettings: 1.4.0
  - calendar: 1.7.1
  - checksum: 0.4.3
  - cloud_federation_api: 1.0.0
  - contacts: 3.1.6
  - dav: 1.13.0
  - deck: 0.7.0
  - federatedfilesharing: 1.7.0
  - files: 1.12.0
  - files_external: 1.8.0
  - files_markdown: 2.1.0
  - files_pdfviewer: 1.6.0
  - files_rightclick: 0.15.1
  - files_sharing: 1.9.0
  - files_trashbin: 1.7.0
  - files_versions: 1.10.0
  - files_videoplayer: 1.6.0
  - firstrunwizard: 2.6.0
  - gallery: 18.4.0
  - gpxedit: 0.0.12
  - gpxpod: 4.1.0
  - groupfolders: 5.0.4
  - keeweb: 0.5.1
  - logreader: 2.2.0
  - lookup_server_connector: 1.5.0
  - maps: 0.1.1
  - metadata: 0.10.0
  - nextcloud_announcements: 1.6.0
  - notes: 3.0.3
  - notifications: 2.5.0
  - oauth2: 1.5.0
  - ownbackup: 19.5.0
  - password_policy: 1.7.0
  - previewgenerator: 2.1.0
  - privacy: 1.1.0
  - provisioning_api: 1.7.0
  - recommendations: 0.5.0
  - richdocuments: 3.4.5
  - serverinfo: 1.7.0
  - sharebymail: 1.7.0
  - socialsharing_email: 1.0.6
  - support: 1.0.1
  - survey_client: 1.5.0
  - systemtags: 1.7.0
  - text: 1.1.1
  - theming: 1.8.0
  - twofactor_backupcodes: 1.6.0
  - updatenotification: 1.7.0
  - viewer: 1.2.0
  - workflowengine: 1.7.0
Disabled:
  - apporder
  - camerarawpreviews
  - comments
  - dropit
  - encryption
  - federation
  - files_automatedtagging
  - flowupload
  - issuetemplate
  - news
  - ownpad
  - passwords
  - polls
  - spreed
  - tasks
  - user_ldap

Nextcloud configuration:

Config report
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "owncloud.cwiwie.org",
            "wolke.cwiwie.org"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "overwrite.cli.url": "https:\/\/owncloud.cwiwie.org",
        "dbtype": "pgsql",
        "version": "17.0.1.1",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "logtimezone": "UTC",
        "installed": true,
        "maintenance": false,
        "theme": "",
        "loglevel": 3,
        "updater.release.channel": "beta",
        "filelocking.enabled": true,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0
        },
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "enabledPreviewProviders": [
            "OC\\Preview\\PNG",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\GIF",
            "OC\\Preview\\BMP",
            "OC\\Preview\\XBitmap",
            "OC\\Preview\\MP3",
            "OC\\Preview\\TXT",
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\Movie"
        ],
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "ssl",
        "mail_smtpport": "465",
        "app_install_overwrite": [
            "keeweb"
        ]
    }
}

Are you using external storage, if yes which one: local and smb

Are you using encryption: no

Are you using an external user-backend, if yes which one: no

Client configuration

Browser: Firefox / Chrome

Operating system: Android / Manjaro

wiwie avatar Dec 02 '19 08:12 wiwie

Any errors in the Nextcloud or browser log?

juliusknorr avatar Jan 07 '20 07:01 juliusknorr

As far as I remember there was nothing in the logs.

But actually the problem solved itself after some time waiting. Meaning that if opening the markdown file half an hour later the changes were correctly shown. But that's not really desirable behaviour..

wiwie avatar Feb 08 '20 07:02 wiwie

The same behavior with TXT files.

As far as I understand, Text APP creates a cache of visualized content. And this cache is used to show file content in a browser.

If a file content was changed, cache is not updated. As result, a user sees old file content.

Moreover, if you open txt-file in Next Cloud UI (not via shared link) content can be from old file version too.

Questions:

  1. About cache - does the app have a cache of visualized content?
  2. If yes - how to turn it off or clean?

My suggestion - cache is not synchronized with file updating.

mel26 avatar May 02 '20 12:05 mel26

Still an issue with NC 23.0.4. I think @mel26 is right by suggesting that the cache must be invalidated upon external change of a file.

daCaPo avatar May 12 '22 08:05 daCaPo

@wiwie, @mel26, @daCaPo am I right that this is only an issue for files that you share read-only?

mejo- avatar Nov 15 '22 10:11 mejo-

@mejo- I've tried read-only shares, yes

mel26 avatar Nov 15 '22 20:11 mel26

@mejo- Yes, probably it was. Right now, I cannot reproduce the bug (NC 24.0.7).

daCaPo avatar Nov 16 '22 09:11 daCaPo

I tried to reproduce the issue locally on latest development branch, but failed so far. Maybe I'm missing something. @mel26 can you still reproduce this with Nextcloud 24 or newer?

mejo- avatar Nov 16 '22 09:11 mejo-

@mejo- Yes, NC Server version 24.0.6. The same issue. File is shared via public read-only link.

Screenshot is bellow.

image

As you can see, file is updated on the server, file content and rendered content are different.

Steps to reproduce:

  • create a markdown-file with some content
  • share it via public read-only link
  • open the link in a browser, see original rendered content
  • change a markdown-file, sync the changes
  • refresh link in a browser
  • rendered content is the same, changes are not rendered.

mel26 avatar Nov 16 '22 09:11 mel26

Ok, now I can also reproduce the bug:

  • Logged into NC via Browser A and editing a file via web UI.
  • Read-only link opened in Browser B
  • Editing the file locally, synced using desktop client version 3.6.2 (macOS)
  • Edits via the web UI (browser A) get pushed correctly to browser B and synced to desktop.
  • Edits via desktop are synced to NC server, but even after reloading the page in Browser B, it still shows the old version (browser A shows a conflict if still open during local edit).

daCaPo avatar Nov 16 '22 14:11 daCaPo

Thanks for the feedback both of you. So the problem is that changes to the local file don't get synced to open editor sessions.

We probably could check in the session if we have pending changes when the underlying file gets updated and load the updated content if not.

If we have pending changes in our session, I don't see another way than manual conflict resolution for now. @max-nextcloud maybe you have good ideas on how to improve this with the new y-js based synchronisation?

mejo- avatar Nov 16 '22 14:11 mejo-