nextcloud / whiteboard

Create & collaborate on an infinite canvas!
https://apps.nextcloud.com/apps/whiteboard
GNU Affero General Public License v3.0
59 stars 7 forks source link

[Bug]: Update to NC30: newly created whiteboard cannot be edited #185

Closed adhoc-post closed 1 month ago

adhoc-post commented 1 month ago

⚠️ This issue respects the following points: ⚠️

Bug description

After update to NC30, whiteboards can be created but not edited. When opening a created whitebaord, the app opens but immediately reports: "server: Request failed with status code 404" and closes again.

Steps to reproduce

  1. Go to files app.
  2. Create a new whiteboard via "New" --> "New whiteboard".
  3. Select the newly created, empty white board within the files list.

Expected behavior

No error reported and app allows editing the whiteboard.

Nextcloud Server version

30

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.3

Web server

Apache (supported)

Database engine version

MariaDB

Is this bug present after an update or on a fresh install?

Upgraded to a MAJOR version (ex. 28 to 29)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

Configuration report

{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "30.0.0.14",
        "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "memcache.local": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "timeout": 0
        },
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "apps_paths": [
            {
                "path": "\/var\/www\/nextcloud\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/nextcloud\/apps-3rdparty",
                "url": "\/apps-3rdparty",
                "writable": true
            }
        ],
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory",
        "maintenance": false,
        "loglevel": 2,
        "defaultapp": "apporder",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "app_install_overwrite": [
            "passwords",
            "orcid",
            "files_mindmap",
            "apporder"
        ],
        "default_phone_region": "DE",
        "data-fingerprint": "ef1cef431a45bbb130424274758d1114",
        "mail_smtpsecure": "tls",
        "mail_smtpauthtype": "PLAIN",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "maintenance_window_start": 100
    }
}

List of activated Apps

Enabled:
  - bookmarks: 15.0.1
  - bruteforcesettings: 3.0.0
  - calendar: 5.0.0
  - circles: 30.0.0-dev
  - cloud_federation_api: 1.13.0
  - comments: 1.20.1
  - contacts: 6.1.0
  - contactsinteraction: 1.11.0
  - dashboard: 7.10.0
  - dav: 1.31.1
  - deck: 1.14.0
  - federatedfilesharing: 1.20.0
  - federation: 1.20.0
  - files: 2.2.0
  - files_downloadlimit: 3.0.0
  - files_mindmap: 0.0.30
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - firstrunwizard: 3.0.0
  - logreader: 3.0.0
  - lookup_server_connector: 1.18.0
  - mail: 4.0.0
  - nextcloud_announcements: 2.0.0
  - notes: 4.11.0
  - notifications: 3.0.0
  - oauth2: 1.18.1
  - password_policy: 2.0.0
  - passwords: 2024.9.20
  - photos: 3.0.2
  - privacy: 2.0.0
  - provisioning_api: 1.20.0
  - recommendations: 3.0.0
  - related_resources: 1.5.0
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - spreed: 20.0.0
  - support: 2.0.0
  - survey_client: 2.0.0
  - systemtags: 1.20.0
  - tables: 0.8.0
  - tasks: 0.16.1
  - text: 4.1.0
  - theming: 2.5.0
  - twofactor_backupcodes: 1.19.0
  - updatenotification: 1.20.0
  - user_ldap: 1.21.0
  - user_status: 1.10.0
  - viewer: 3.0.0
  - weather_status: 1.10.0
  - webhook_listeners: 1.1.0-dev
  - whiteboard: 1.0.2
  - workflowengine: 2.12.0
Disabled:
  - activity: 3.0.0 (installed 2.11.0)
  - admin_audit: 1.20.0
  - apporder: 0.15.0 (installed 0.15.0)
  - encryption: 2.18.0
  - files_external: 1.22.0
  - files_rightclick: 0.15.1 (installed 1.6.0)
  - suspicious_login: 8.0.0
  - twofactor_nextcloud_notification: 4.0.0
  - twofactor_totp: 12.0.0-dev

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

None.

Additional info

Is it true that "Nextcloud 30 been rolled out over the “stable” channel although known to be unstable"?!

https://help.nextcloud.com/t/nextcloud-30-been-rolled-out-over-the-stable-channel-although-known-to-be-unstable/204189

Andrew-Geo commented 1 month ago

Would you mind sharing your virtual host (?or server block?) file?

What fixed it for me, was correcting a misconfiguration I had done in the .conf file that managed the nextcloud site. Specifically, I had it configured like this:

Alias /nextcloud "var/www/nextcloud" DocumentRoot /var/www

This, might have somehow messed up the forwarding of requests to the server. What fixed it though, was (obviously):

Alias /nextcloud "var/www/nextcloud" DocumentRoot /var/www/nextcloud

adhoc-post commented 1 month ago

My nextcloud.conf (Apache) looks like this:

Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Require all granted
  AllowOverride All
  Options FollowSymLinks MultiViews

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"

 Satisfy Any
</Directory>
Andrew-Geo commented 1 month ago

Looks like the reverse proxy and the rewrite rules are not in there. They are essential for communicating with the backend websocket server.

They are on the bottom of the README.md, but, here's a version similar to my setup:

ProxyPreserveHost On
        ProxyPass /whiteboard/ http://yourDomain:backendServerPort/ retry=0
        ProxyPassReverse /whiteboard/ http://yourDomain:backendServerPort/
                RewriteEngine on
                RewriteCond %{HTTP:Upgrade} websocket [NC]
                RewriteCond %{HTTP:Connection} upgrade [NC]
                RewriteRule ^/?whiteboard/(.*) "ws://yourDomain:backendServerPort/$1" [P,L]

The first lines setup the reverse proxy, while the rewrite rules...:

EDIT: Forgot to mention that the rewrite rules belong to the rewrite module of apache. This needs to be enabled, I don't believe its on by default on a debian/ubuntu system when installing apache. sudo a2enmod rewrite

adhoc-post commented 1 month ago

Thanks for your reply. But I have to admit: after reading the README.md you mentioned, the scope of this app took me by surprise. I was expecting a simple app. However, there seems to be much more to it than that.

And therefore, I haven't RTFM. So, please don't bother explaining further details to me as I have to do my homework first.

So, thanks for your effort and for point out the obvious to me.

I guess, this bug ticket can be closed (PEBKAC).