richdocuments icon indicating copy to clipboard operation
richdocuments copied to clipboard

Admin Settings frozen after update

Open herzogmedia opened this issue 1 year ago • 16 comments

Describe the bug After upgrading to upgrading to Nextcloud 29.0.8 the admin settings for nextcloud office are no longer changable.

To Reproduce Steps to reproduce the behavior:

  1. Update from 29.0.7 to .8 (and subsequently also update nextcloud office and collabora code server)
  2. Go to Admin settings
  3. go to nextcloud office
  4. Try to change any setting

Expected behavior Settings should be changable

Screenshots If applicable, add screenshots to help explain your problem.

Client details:

  • OS: Windows 10
  • Browser Firefox
  • Version 131
  • Device: desktop

Server details

Operating system: CentOS 7

Web server: Apache 2.4.62

Database: MariaDB 10.6.19

PHP version: 8.2

Nextcloud version: 29.0.8

Version of the richdocuments app 8.4.7

Version of Collabora Online 24.4.802

Configuration of the richdocuments app

{
    "apps": {
        "richdocuments": {
            "disable_certificate_verification": "",
            "enabled": "yes",
            "installed_version": "8.4.7",
            "types": "prevent_group_restriction",
            "wopi_allowlist": "",
            "wopi_url": "https:\/\/***redacted***\/office\/"
        }
    }
}
Logs

Nextcloud log (data/nextcloud.log)

Insert your Nextcloud log here

Browser log

Content-Security-Policy: Ignorieren von "blob:" innerhalb script-src-elem: 'strict-dynamic' angegeben [richdocuments](https://***redacted***/settings/admin/richdocuments)
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource (media-src) auf data: blockiert, da sie gegen folgende Direktive verstößt: "media-src 'self' blob:" [richdocuments](https://***redacted***/settings/admin/richdocuments)
Unified search initialized! [UnifiedSearch.vue:54](webpack:///nextcloud/core/src/views/UnifiedSearch.vue)
TypeError: document.getElementById(...) is null
    toggleTemplateSettings AdminSettings.vue:834
    beforeMount AdminSettings.vue:596
    VueJS 14
    <anonymous> admin.js:27
    <anonymous> admin.js:142
    <anonymous> admin.js:142
[vue.runtime.esm.js:3065:16](webpack:///richdocuments/node_modules/vue/dist/vue.runtime.esm.js)
XHRGET
https:/***redacted***/apps/richdocuments/settings/check
[HTTP/2 500  175ms]

Initializing unified search plugin-filters from talk [search.js:41:10](webpack:///talk/src/search.js)
session heartbeat polling started [session-heartbeat.js:103:9](webpack:///nextcloud/core/src/session-heartbeat.js)
Diese Seite verwendet die nicht standardisierte Eigenschaft "zoom". Stattdessen sollte calc() in den entsprechenden Eigenschaftswerten oder "transform" zusammen mit "transform-origin: 0 0" verwendet werden. [richdocuments](https://***redacted***/settings/admin/richdocuments)
Registering notifications container as a menu [NotificationsApp.vue:237](webpack:///notifications/src/NotificationsApp.vue)
Notifications permissions not yet requested [NotificationsApp.vue:497](webpack:///notifications/src/NotificationsApp.vue)
Has notify_push enabled, slowing polling to 15 minutes [NotificationsApp.vue:249](webpack:///notifications/src/NotificationsApp.vue)
Polling interval updated to 900000 [NotificationsApp.vue:443](webpack:///notifications/src/NotificationsApp.vue)
Started background fetcher as session_keepalive is enabled [NotificationsApp.vue:293](webpack:///notifications/src/NotificationsApp.vue)
Search providers 
Array(16) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
[UnifiedSearchModal.vue:275](webpack:///nextcloud/core/src/views/UnifiedSearchModal.vue)
Contacts 
Array(5) [ {…}, {…}, {…}, {…}, {…} ]
[UnifiedSearchModal.vue:279](webpack:///nextcloud/core/src/views/UnifiedSearchModal.vue)
Uncaught (in promise) TypeError: t.response.data.data is undefined
    checkSettings AdminSettings.vue:612
    beforeMount AdminSettings.vue:595
    VueJS 14
    <anonymous> admin.js:27
    <anonymous> admin.js:142
    <anonymous> admin.js:142
[AdminSettings.vue:612](webpack:///richdocuments/src/components/AdminSettings.vue)
Got notification data, restoring default polling interval.

herzogmedia avatar Oct 13 '24 18:10 herzogmedia

Hello, thanks for reporting this. I'm curious on a few things:

  1. Which version are you upgrading from?
  2. Could you provide any screenshots or video recordings of the issue?
  3. Could you try doing a hard refresh on the page (ctrl + shift + r)? It's possible the old JS needs to be cleaned from the browser, etc.

I'm unable to reproduce this issue on a fresh install of the 29.0.8 with richdocuments 8.4.7.

elzody avatar Oct 14 '24 12:10 elzody

Hi, unfortunately I don't know what version of richdocuments was installed before. The nextcloud update was only a point release from .7 to .8 I can provide a video later on. I tried doing a hard refresh and different devices with no luck. Interestingly enough: I since yesterday updated my second nextcloud instance which initially had the same problem but when I uninstalled and then reinstalled both packages it worked. The same procedure did however not work for the instance you see here.

herzogmedia avatar Oct 14 '24 15:10 herzogmedia

Another thing that would be helpful are the browser console logs.

elzody avatar Oct 22 '24 17:10 elzody

Same thing here. Nextcloud Hub 9 - 30.0.1. Collabora Online 24.4.802 Nextcloud Office 8.5.2 I wasn't using my own collabora server. I was using the built-in one. After the update it changed by itself, and is not allowing me to change it back. Image

I tried the suggested solution by @elzody , but it didn't work

abdusalamApps avatar Oct 28 '24 13:10 abdusalamApps

Browser logs would be most appreciated.

elzody avatar Oct 28 '24 14:10 elzody

I cleaned the logs, clicked on "Nextcloud office" and copied the new logs

Content-Security-Policy warnings 2
Content-Security-Policy: Ignoring “blob:” within script-src-elem: ‘strict-dynamic’ specified richdocuments
Content-Security-Policy: Ignoring ‘unsafe-eval’ or ‘wasm-unsafe-eval’ inside “script-src-elem”. richdocuments
Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content. markup.js:250:53
Failed to get subsystem status for purpose 
Object { rejected: true, message: Error }
content-script.js:104:25
This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. notifications-main.mjs:3:755
Registering notifications container as a menu NotificationsApp-CX_2Ib0T.chunk.mjs:34:67088
Notifications permissions granted NotificationsApp-CX_2Ib0T.chunk.mjs:34:72061
Polling interval updated to 30000 NotificationsApp-CX_2Ib0T.chunk.mjs:34:71492
Started background fetcher as session_keepalive is enabled NotificationsApp-CX_2Ib0T.chunk.mjs:34:68381
TypeError: document.getElementById(...) is null
    toggleTemplateSettings AdminSettings.vue:822
    beforeMount AdminSettings.vue:584
    VueJS 14
    <anonymous> admin.js:31
    <anonymous> admin.js:146
    <anonymous> admin.js:146
vue.runtime.esm.js:3065:16
    VueJS 17
    <anonymous> admin.js:31
    <anonymous> admin.js:146
    <anonymous> admin.js:146
XHRGET
https://{{MYDOMAIN}}/index.php/apps/richdocuments/settings/check
[HTTP/1.1 500 Internal Server Error 170ms]

	
GET
	https://{{MYDOMAIN}}/index.php/apps/richdocuments/settings/check
Status
500
Internal Server Error
VersionHTTP/1.1
Transferred3.75 kB (3.03 kB size)
Referrer Policyno-referrer
DNS ResolutionSystem

Initializing unified search plugin-filters from talk search.js:22:9
session heartbeat polling started session-heartbeat.js:83:9
Got notification data, restoring default polling interval. NotificationsApp-CX_2Ib0T.chunk.mjs:34:70447
Uncaught (in promise) TypeError: t.response.data.data is undefined
    checkSettings AdminSettings.vue:600
    beforeMount AdminSettings.vue:583
    VueJS 14
    <anonymous> admin.js:31
    <anonymous> admin.js:146
    <anonymous> admin.js:146
AdminSettings.vue:600
    checkSettings AdminSettings.vue:600
    AsyncFunctionThrow self-hosted:812
    (Async: async)
    beforeMount AdminSettings.vue:583
    VueJS 14
    <anonymous> admin.js:31
    <anonymous> admin.js:146
    <anonymous> admin.js:146

Thank you for your help and patience @elzody

abdusalamApps avatar Oct 29 '24 11:10 abdusalamApps

It seems like in your case the request to /apps/richdocuments/settings/check is failing, which would indicate to me that there's a problem connecting to the Collabora server. Are you able to manually issue a request to https://{{MYDOMAIN}}/index.php/apps/richdocuments/settings/check and see what is the response? Alternatively, you could just grab it from the browser when it makes the request.

@abdusalamApps

elzody avatar Nov 06 '24 21:11 elzody

I'm getting this response

GET
https://{{MYDOMAIN}}/index.php/apps/richdocuments/settings/check
[HTTP/1.1 412 Precondition failed 105ms]

	
GET
	https://{{MYDOMAIN}}/index.php/apps/richdocuments/settings/check
Status
412
Precondition failed
VersionHTTP/1.1
Transferred28.43 kB (26.97 kB size)
Request PriorityHighest
DNS ResolutionSystem

    	
    Cache-Control
    	no-cache, no-store, must-revalidate
    Connection
    	keep-alive
    Content-Length
    	26967
    Content-Security-Policy
    	default-src 'none';base-uri 'none';manifest-src 'self';script-src 'nonce-0ph2U+9mGiHecFBkXSCEkffmrhSLrdaEZulad4s6hhQ=' blob: 'unsafe-eval';script-src-elem 'strict-dynamic' 'nonce-0ph2U+9mGiHecFBkXSCEkffmrhSLrdaEZulad4s6hhQ=' blob: 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob: https://i.ytimg.com https://yt3.ggpht.com https://*.tile.openstreetmap.org https://drive.halabware.cloud;font-src 'self' data:;connect-src 'self' * blob: stun.nextcloud.com:443 halabware.cloud:3478;media-src 'self' blob:;frame-src 'self' https://www.youtube-nocookie.com nc: https://drive.halabware.cloud;child-src blob: 'self';frame-ancestors 'self' https://drive.halabware.cloud;worker-src blob: 'self';form-action 'self' https://drive.halabware.cloud
    Content-Type
    	text/html; charset=UTF-8
    Date
    	Wed, 06 Nov 2024 22:21:38 GMT
    Feature-Policy
    	autoplay 'self';camera 'self';fullscreen 'self' https://{{MYDOMAIN}};geolocation 'none';microphone 'self';payment 'none'
    Referrer-Policy
    	no-referrer
    Server
    	Apache
    Strict-Transport-Security
    	max-age=15552000; includeSubDomains
    X-Content-Type-Options
    	nosniff
    X-Frame-Options
    	SAMEORIGIN
    X-Permitted-Cross-Domain-Policies
    	none
    X-Request-Id
    	5957FGWOOm0U96RlZZqW
    X-Robots-Tag
    	noindex, nofollow
    X-XSS-Protection
    	1; mode=block
    	
    Accept
    	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Encoding
    	gzip, deflate, br, zstd
    Accept-Language
    	en-US,en;q=0.5
    Connection
    	keep-alive
    Cookie
    	__Host-nc_sameSiteCookielax=true; __Host-nc_sameSiteCookiestrict=true; oc_sessionPassphrase=7F%2F43IXyngWUGZThAKv34qgcU5qx7u9hvGMzMoOyJNJB9NOvMTNjdoXOHSfOl4N4Nx%2FYTMTEukPIUAkK9ffqNvJRxLNq2E22nnT1aZS%2F%2F97XQYEjqrbmTTnKlZdOSDoE; oc2uj8jxra99=7dnvq5lmu8q7s4o0o4rdebk7ga; nc_username=abdusalam; nc_token=BpeLaR60lIi0T0u8AVzdChT9Qyl86C61; nc_session_id=7dnvq5lmu8q7s4o0o4rdebk7ga
    DNT
    	1
    Host
    	drive.halabware.cloud
    Priority
    	u=0, i
    Sec-Fetch-Dest
    	document
    Sec-Fetch-Mode
    	navigate
    Sec-Fetch-Site
    	none
    Sec-Fetch-User
    	?1
    Sec-GPC
    	1
    Upgrade-Insecure-Requests
    	1
    User-Agent
    	Mozilla/5.0 (X11; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0

@elzody

abdusalamApps avatar Nov 06 '24 22:11 abdusalamApps

I would just inspect the request from the browser, it would be easier. @abdusalamApps

elzody avatar Nov 07 '24 14:11 elzody

This is from the brower's logs @elzody

abdusalamApps avatar Nov 07 '24 14:11 abdusalamApps

Ah, so it is, I wasn't very observent. Sorry @abdusalamApps

elzody avatar Nov 07 '24 14:11 elzody

Are there any errors from richdocuments in the nextcloud.log file? The "precondition failed" in my experience usually means the request headers are malformed or something. I am still unfortunately not able to reproduce this issue whatsoever.

elzody avatar Nov 07 '24 14:11 elzody

I'll look into it and get back to you. @elzody

abdusalamApps avatar Nov 07 '24 23:11 abdusalamApps

Are you still experiencing this behavior, @herzogmedia?

joshtrichards avatar May 04 '25 15:05 joshtrichards

@joshtrichards yes, I am now on 30.0.10 on the buggy instance and still the UI does not respond to clicking at all in that menu.

herzogmedia avatar May 04 '25 18:05 herzogmedia

@herzogmedia The 500 error is going to probably give you a better sense of the culprit.

Review the server-side Nextcloud and web server error log (especially for errors around /apps/richdocuments/settings/check).

The HTTP 500 error is central to the matter - look for stack traces or PHP errors at the time you load the settings page.

joshtrichards avatar Oct 30 '25 02:10 joshtrichards