GithubHelp home page GithubHelp logo

nextcloud / integration_whiteboard Goto Github PK

View Code? Open in Web Editor NEW
53.0 13.0 7.0 1.17 MB

✏ A whiteboard for Nextcloud, using Spacedeck

Home Page: https://apps.nextcloud.com/apps/integration_whiteboard

License: GNU Affero General Public License v3.0

JavaScript 5.94% PHP 75.29% Makefile 2.66% Vue 15.11% SCSS 0.26% Shell 0.73%
whiteboard nextcloud

integration_whiteboard's Introduction

Whiteboard integration in Nextcloud

🖵 Nextcloud Whiteboard, powered by Spacedeck.

This app integrates Spacedeck whiteboard server. It lets Nextcloud users create .whiteboard files which can then be opened in the Files app and in Talk. Those files can be shared to other users or via public links. Everyone having access with write permissions to such a file can edit it collaboratively.

⚠ This app is still experimental and can fail in some custom Nextcloud setups.

🛠 Install

There are 2 ways to setup this app:

This is recommended to deploy and use a standalone Spacedeck server for:

  • Better performances
  • Real time collaboration (Websocket communication)
  • The ability to run the Spacedeck server on another system than Nextcloud
  • Being able to run Spacedeck on non-x64 architecture (like arm64 with a RaspberryPi)

Spacedeck has a few optional requirements to be able to convert media files:

  • graphicsmagick to convert images
  • ffmpeg to convert audio and video files
  • ghostscript for pdf import

To use the bundled Spacedeck server, just install the app and you're good to go.

Follow these instructions to deploy a standalone Spacedeck server.

𝄘 Features

  • Draw
    • Draw lines and shapes
    • Write text
    • Add images, audio files, videos files and PDFs
  • Collaborate
    • Create zones
    • Presenter mode (others follow your movements)
    • Show participants mouse cursors
  • Share
    • Share to a Talk room
    • Share to users
    • Share via public links

⚠ Limitations

  • Spacedeck provides a Pdf export feature. It does not work with the bundle Spacedeck server. Use a standalone server if you want this feature.
  • Video media actions are not transmitted in presenter mode. This is a limitation of Spacedeck.
  • Files version restoration does not work for the moment.
  • Overwritting a whiteboard file will not update the board (space) content.
  • Medias are not saved in .whiteboard files. They are lost when copying a whiteboard file on another Nextcloud instance.

👀 Screenshots

screenshot

Deploy Spacedeck

Spacedeck can be deployed on the same system hosting your Nextcloud instance or on a different system.

In order to deploy a standalone Spacedeck server, you will be guided into those steps:

  • Get Spacedeck sources
  • Configure Spacedeck
  • Launch Spacedeck server
  • Create a Spacedeck user for Nextcloud
  • Optionally make Spacedeck accessible via a reverse proxy in a virtual host
  • Configure the Nextcloud whiteboard integration app to use your standalone Spacedeck server
  • Check your setup

Requirements on the system hosting Spacedeck:

  • Node >= 10.0
  • Npm >= 7.0.0

Get Spacedeck sources

git clone https://github.com/eneiluj/spacedeck-open -b ext-access-control
cd spacedeck-open
npm install

Configure Spacedeck

Go to the "Connected accounts" section of your Nextcloud admin settings. Find the Spacedeck integration settings. Uncheck "Use integrated Spacedeck server". Copy the "ext_access_control" suggested by the hints. This should look like:

https://YOUR.NEXTCLOUD.ORG/index.php/apps/integration_whiteboard/session/check

Edit the spacedeck-open/config/default.json file and set the "ext_access_control" value with the one you copied before. This enables Nextcloud to manage permissions on the boards.

You can also adjust other config values to your convenience:

  • port: TCP port Spacedeck server will listen to
  • invite_code: Secret code used to create users in Spacedeck (Only one user will be created in our case)

Change the other values only if you know what you are doing.

Launch Spacedeck

Then start the Spacedeck server:

npm run start

and browse the Spacedeck web interface.

Create a Spacedeck user for Nextcloud

A single Spacedeck user is required by Nextcloud to create and edit boards. We will create this user manually and set an "API token" for Nextcloud.

  • Click the "Signup" button on the top right corner
  • Use the invite_code to create a Spacedeck user
  • Once you are logged in, click on the buddy icon on the top right corner and go to "Edit account"
  • In the profile tab, set your "API token". Make sure your API token is more than 10 characters long
  • Hit the "Save" button
  • Logout

Optionally make Spacedeck accessible via a reverse proxy in a virtual host

Your Spacedeck server must be accessible by the browsers of your users and by your Nextcloud server so you might need a reverse proxy to make it possible to reach it through your webserver.

Warning: Spacedeck only works if it is reachable at the root path. Make sure you don't use a sub path in your virtual host.

Here is an example of Apache virtual host proxying to Spacedeck (with Websocket support). This makes Spacedeck (which is listening to the 9666 port) accessible at https://spacedeck.myserver.org

<VirtualHost *:443>
        ServerName spacedeck.myserver.org
        ProxyPreserveHost On
        ProxyPass  / http://localhost:9666/
        ProxyPassReverse / http://localhost:9666/
        ProxyPreserveHost On

        # only if you want to provide an HTTPS access to Spacedeck (highly recommended)
        SSLProxyEngine On
        SSLProxyVerify none
        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerName off
        SSLProxyCheckPeerExpire off
        SSLCertificateFile /etc/letsencrypt/live/myserver.org/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/myserver.org/privkey.pem

        ProxyPassMatch "/socket" ws://localhost:9666/socket nocanon
        ProxyPassMatch "/socket/" ws://localhost:9666/socket/

        RewriteEngine On
        RewriteCond %{HTTP:Upgrade} =websocket
        RewriteRule /(.*)           ws://localhost:9666/socket [P,L]
        RewriteCond %{HTTP:Upgrade} !=websocket
        RewriteRule /(.*)           http://localhost:9666/$1 [P,L]
</VirtualHost>

Configure the Nextcloud whiteboard integration app

Get back to the "Connected accounts" section of your Nextcloud admin settings. Enter the Spacedeck server URL and the API token you have set for your Spacedeck user.

Reminder: Your Spacedeck server must be accessible by the browsers of your users and by your Nextcloud server.

Check your setup

Press "Check Spacedeck config" to make sure you can reach Spacedeck with your browser and that your Nextcloud server can access Spacedeck's API. If the check is successful, you are ready to use the Spacedeck integration. Go to the Files app and create a new whiteboard file.

integration_whiteboard's People

Contributors

anoymouserver avatar carlschwan avatar jancborchardt avatar nextcloud-bot avatar nickvergessen avatar pvince81 avatar rid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

integration_whiteboard's Issues

Whiteboard on Nextcloud 21 Error - Impossible to load Spacedeck whiteboard "cURL error 7: Failed connect to localhost:9666; Connection refused (see https:\/\/curl.haxx.se\/libcurl\/c\/libcurl-errors.html) for http:\/\/localhost:9666\/api\/spaces"

Whiteboard Version: 0.0.14
Nextcloud Version: 21.0.2

Error when trying to open a .whiteboard file in Nextcloud:

Impossible to load Spacedeck whiteboard "cURL error 7: Failed connect to localhost:9666; Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces"

This error is displayed in Nextcloud > Files and in Nextcloud > Logging when a .whiteboard file is attempting to open.

Problems with anonymous sharing

When I put a footer.whitebaord file in an anonymously shared folder (share Link), the whiteboard won't load.

Error message in the UI:

Impossible to load Spacedeck whiteboard "File does not exist"

Request:

https://my.nextcloud.url/apps/integration_whiteboard/s/7isPXXXX4XBSH3f/space/519019999
401 Unauthorized

Same happens when I share the whiteboard itself using an anonymous link instead of the folder containing the file.

Versions:
Nextcloud 21.0.2
Whiteboard_integration 0.0.3

Environment:
Debian 10
Nginx-Webserver
Nginx-Reverse-Proxy on Edge-Server

[ERROR] Spacedeck is unreachable, it might not be running. cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

Getting some of these errors in the Nextcloud log:

[ERROR] Spacedeck is unreachable, it might not be running. cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

Log

Whiteboard version: 0.0.14
Nextcloud version: 21.0.2
Server: Ubuntu 18.04 LTS, nginx 1.18.0, psql (PostgreSQL) 10.17 (Ubuntu 10.17-0ubuntu0.18.04.1)

App is not functional in Nextcloud docker

Setup:
Nextcloud21 with docker-compose on debian 64bit with upstream reverse proxy on a different server

Steps to reproduce:
App installed from store without errors

What happened ?
App is unable to use

Creation of New Whiteboards is possible (using the "+" in data view)
but trying to open results in:

_whiteboard Spacedeck request connection error : cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

In App Config (connected accounts?) this is shown
image

is there a need to expose the spacedeck ports in the compose file?
or other steps to be done?

Transifex project URL?

Hi,

noticed config for Transifex there, but cannot find on list in Nextcloud project on Transifex. May I ask you for help where to translate please?

Thanks :-)

Cannot use the layout buttons

Hi,

I've discovered that the layout buttons on the right side don't work.

I get a Javascript error when clicking on one of them:
image

Here is a screenshot of the buttons that I am talking about:
image

Please tell if you need more infos about my setup.

Whiteboard integration fails to start on CentOS7 because of libstdc++ version dependency

Description

When trying to use whiteboard, user gets the error:
Impossible to load Spacedeck whiteboard "cURL error 7: Failed connect to localhost:9666; Connection refused (see https:\/\/curl.haxx.se\/libcurl\/c\/libcurl-errors.html) for http:\/\/localhost:9666\/api\/spaces"

In closer inspection Whiteboard/Spacedeck is not running at all on CentOS7 servers. Ubuntu 20.04 LTS installations don't suffer from this.

Integration fails to start on CentOS7 because of missing libstdc++ version dependency:

spacedeck.nexe.bin: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /var/www/html/nextcloud/apps/integration_whiteboard/data/spacedeck/spacedeck.nexe.bin)
spacedeck.nexe.bin: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /var/www/html/nextcloud/apps/integration_whiteboard/data/spacedeck/spacedeck.nexe.bin)
spacedeck.nexe.bin: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /var/www/html/nextcloud/apps/integration_whiteboard/data/spacedeck/spacedeck.nexe.bin)

I haven't found a good way to fill out the dependency apart from compiling from source, which is not very maintainable scenario.

The last supported ones are:
GLIBCXX_3.4.19
CXXABI_1.3.7

rpm -qa | grep -i stdc
libstdc++-devel-4.8.5-44.el7.x86_64
libstdc++-4.8.5-44.el7.x86_64

Would it be a plausible scenario that binary would be compiled as compatible with CentOS7 for https://apps.nextcloud.com?

Install error on Nextcloud 21: Undefined constant \"OCA\\Spacedeck\\Service\\GLOB_BRACE\"

Hello, I'm having the following installation error on Nextcloud 21, PHP 8, PostgreSQL 13.2, Nginx on Docker

Trace:

{
    "Exception": "Exception",
    "Message": "Undefined constant \"OCA\\Spacedeck\\Service\\GLOB_BRACE\"",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/html/lib/private/AppFramework/App.php",
        "line": 157,
        "function": "dispatch",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->"
      },
      {
        "file": "/var/www/html/lib/private/Route/Router.php",
        "line": 302,
        "function": "main",
        "class": "OC\\AppFramework\\App",
        "type": "::"
      },
      {
        "file": "/var/www/html/lib/base.php",
        "line": 993,
        "function": "match",
        "class": "OC\\Route\\Router",
        "type": "->"
      },
      {
        "file": "/var/www/html/index.php",
        "line": 37,
        "function": "handleRequest",
        "class": "OC",
        "type": "::"
      }
    ],
    "File": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
    "Line": 159,
    "Previous": {
      "Exception": "Error",
      "Message": "Undefined constant \"OCA\\Spacedeck\\Service\\GLOB_BRACE\"",
      "Code": 0,
      "Trace": [
        {
          "file": "/var/www/html/custom_apps/integration_whiteboard/lib/Service/SpacedeckBundleService.php",
          "line": 203,
          "function": "OCA\\Spacedeck\\Service\\recursiveDelete"
        },
        {
          "file": "/var/www/html/custom_apps/integration_whiteboard/lib/Migration/CopySpacedeckAppData.php",
          "line": 47,
          "function": "copySpacedeckData",
          "class": "OCA\\Spacedeck\\Service\\SpacedeckBundleService",
          "type": "->"
        },
        {
          "file": "/var/www/html/lib/private/Repair.php",
          "line": 117,
          "function": "run",
          "class": "OCA\\Spacedeck\\Migration\\CopySpacedeckAppData",
          "type": "->"
        },
        {
          "file": "/var/www/html/lib/private/legacy/OC_App.php",
          "line": 1054,
          "function": "run",
          "class": "OC\\Repair",
          "type": "->"
        },
        {
          "file": "/var/www/html/lib/private/Installer.php",
          "line": 166,
          "function": "executeRepairSteps",
          "class": "OC_App",
          "type": "::"
        },
        {
          "file": "/var/www/html/apps/settings/lib/Controller/AppSettingsController.php",
          "line": 448,
          "function": "installApp",
          "class": "OC\\Installer",
          "type": "->"
        },
        {
          "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
          "line": 218,
          "function": "enableApps",
          "class": "OCA\\Settings\\Controller\\AppSettingsController",
          "type": "->"
        },
        {
          "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
          "line": 127,
          "function": "executeController",
          "class": "OC\\AppFramework\\Http\\Dispatcher",
          "type": "->"
        },
        {
          "file": "/var/www/html/lib/private/AppFramework/App.php",
          "line": 157,
          "function": "dispatch",
          "class": "OC\\AppFramework\\Http\\Dispatcher",
          "type": "->"
        },
        {
          "file": "/var/www/html/lib/private/Route/Router.php",
          "line": 302,
          "function": "main",
          "class": "OC\\AppFramework\\App",
          "type": "::"
        },
        {
          "file": "/var/www/html/lib/base.php",
          "line": 993,
          "function": "match",
          "class": "OC\\Route\\Router",
          "type": "->"
        },
        {
          "file": "/var/www/html/index.php",
          "line": 37,
          "function": "handleRequest",
          "class": "OC",
          "type": "::"
        }
      ],
      "File": "/var/www/html/custom_apps/integration_whiteboard/lib/Service/SpacedeckBundleService.php",
      "Line": 44
    },
    "CustomMessage": "--"
  }

Server refuses connection

Server (frame) refuses connection when accessing a whiteboard file

Nextcloud 21 running with nginx + fpm

whiteboard integration 0.0.13

image

Switch to an actively maintained whiteboard solution

Hello,
I was very happy about the announcement of a whiteboard in Nextcloud 21.

Unfortunately, it does not look like the integration is being enhanced at the moment.
I wonder if that's because the base - Spacedeck - isn't showing much activity in its GitHub repository either.
https://github.com/spacedeck/spacedeck-open/graphs/code-frequency

Does it make sense to move to a more stable base for such an integration?

BigBlueButton is switching to tldraw for the upcoming release.
https://docs.bigbluebutton.org/2.6/new.html#fully-reimplemented-whiteboard-tldraw
https://github.com/tldraw/tldraw

Jitsi has integrated Excalidraw, which even supports end-to-end encryption.
https://jitsi.org/blog/introducing-whiteboards-in-jitsi-meet/
https://github.com/excalidraw/excalidraw

What are your thoughts on this at Nextcloud?

whiteboard templates do not open in whiteboard app

i was unable to open the templates from the template folder. clicking on the files only brought up the download prompt.

i downloaded the templates, deleted them from the templates folder, then reuploaded them, and now they open in the whiteboard app.

not sure what is causing this.

nextcloud 22.2.0

403 when trying to edit whiteboard

Hi there,

I have been beating my head against the wall on this one. This is on NC21. Installing the app works fine.

nmap localhost

finds that spacedeck is listening on port 9666, and I can also find it in the process list. However, when I try to edit a whiteboard, I get

Impossible to load Spacedeck whiteboard "Client error: POST http:\/\/localhost:9666\/api\/spaces resulted in a 403 Forbidden response:\n\u003C!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"\u003E\n\u003Chtml\u003E\u003Chead\u003E\n\u003Cmeta http-equiv (truncated...)\n"

What could be causing this? The logfile of the spacedeck process does not show anything beyond the startup messages.

Thanks,

Christian

Lag issue

when you write by hand using the sribble mode or using the arrows there is a lot of lag that does not allow you to write correctly because at first the stroke is not taken for a few seconds. In addition, the introduction of an eraser would be useful

Error while installing on NC21

On NC21:

Error: Could not extract app integration_whiteboard: Out-of-path file extraction {/tmp/oc_tmp_9Fvh5B-folder/integration_whiteboard/data/spacedeck/node_modules/node-gyp/node_modules/.bin/semver --> ../semver/bin/semver}
{
  "reqId": "hMLAjEaEcO0j5VZ1IReR",
  "level": 3,
  "time": "2021-02-20T14:46:05+01:00",
  "user": "admin",
  "app": "settings",
  "method": "POST",
  "url": "/settings/apps/enable",
  "message": {
    "Exception": "Exception",
    "Message": "Could not extract app integration_whiteboard: Out-of-path file extraction {/tmp/oc_tmp_4xqQfw-folder/integration_whiteboard/data/spacedeck/node_modules/node-gyp/node_modules/.bin/semver --> ../semver/bin/semver}",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/nextcloud/apps/settings/lib/Controller/AppSettingsController.php",
        "line": 445,
        "function": "downloadApp",
        "class": "OC\\Installer",
        "type": "->"
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 218,
        "function": "enableApps",
        "class": "OCA\\Settings\\Controller\\AppSettingsController",
        "type": "->"
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 127,
        "function": "executeController",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->"
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/App.php",
        "line": 157,
        "function": "dispatch",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->"
      },
      {
        "file": "/var/www/nextcloud/lib/private/Route/Router.php",
        "line": 302,
        "function": "main",
        "class": "OC\\AppFramework\\App",
        "type": "::"
      },
      {
        "file": "/var/www/nextcloud/lib/base.php",
        "line": 993,
        "function": "match",
        "class": "OC\\Route\\Router",
        "type": "->"
      },
      {
        "file": "/var/www/nextcloud/index.php",
        "line": 37,
        "function": "handleRequest",
        "class": "OC",
        "type": "::"
      }
    ],
    "File": "/var/www/nextcloud/lib/private/Installer.php",
    "Line": 328,
    "CustomMessage": "--"
  },
  "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Safari/537.36",
  "version": "21.0.0.18",
  "id"
}

Ship arm64 binaries

Hello.

This Whiteboard Integration app doesn't work for me on my Raspberry Pi 4 8GB using Ubuntu Server 21.04. and Nextcloud Snap (NC21, Channel: "latest/beta/pr-1730").
It can be installed but it seems that the process can not be started. When I try to open or create a whiteboard file, the following error comes up.

And just as side node: I upgraded from snap channel latest/stable and I didn't tested it on a fresh installation. I haven't the environment to do this, sorry.

Not formatted:

{"reqId":"FycOeiRwSJZSo46tNTbO","level":2,"time":"2021-05-17T12:55:27+00:00","remoteAddr":"5.100.yyy.xxx","user":"zzzzzz","app":"integration_whiteboard","method":"GET","url":"/index.php/apps/integration_whiteboard/space/3330585","message":"Spacedeck request connection error : cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0","version":"21.0.1.1","id":"60a27ff0b5bca"}

Formatted:

[integration_whiteboard] Warning: Spacedeck request connection error : cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

GET /index.php/apps/integration_whiteboard/space/3330585
from 5.100.yy.xxx by zzzzzz at 2021-05-17T12:55:27+00:00

PUT failed - Can't create new whiteboard file in some directories?

Upon creating new files in some directories, I face an error that the file could not be created. I tried checking the logs when this happened, and this is what I got:

{"reqId":"HZ5TtA0CZTw2ETrFutVV","level":0,"time":"2021-05-07T14:02:26+00:00","remoteAddr":"172.16.0.203","user":"denNorske","app":"webdav","method":"PUT","url":"/remote.php/dav/files/denNorske/Documents/Projects/FiveM/ls-fr.net/LSFRPD.whiteboard","message":{"Exception":"Sabre\\DAV\\Exception\\Forbidden","Message":"","Code":0,"Trace":[{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/apps/dav/lib/Server.php","line":332,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/remote.php","line":167,"args":["/var/www/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php","Line":137,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0","version":"21.0.1.1"}

I am not sure what causes this, as other apps can create files without any problem, including uploading and deleting files from the directory.
How can I go about troubleshooting it?

cronjob stops working after update to nextcloud 21.0.3

On Nextcloud 21.0.2 cronjobs worked with whiteboard_integration but stoped working after update to nextcloud 21.0.3

This is the error message i have on several instances:
{"reqId":"jHa0W93syows6QyJ8nVs","level":3,"time":"2021-07-06T06:33:32+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","message":{"Exception":"ArgumentCountError","Message":"in_array() expects at least 2 arguments, 1 given","Code":0,"Trace":[{"file":"/var/www/ingenstans/nextcloud/apps/integration_whiteboard/lib/Service/SpacedeckAPIService.php","line":398,"function":"in_array","args":[4033]},{"file":"/var/www/ingenstans/nextcloud/lib/private/User/Manager.php","line":646,"function":"OCA\Spacedeck\Service\{closure}","class":"OCA\Spacedeck\Service\SpacedeckAPIService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/ingenstans/nextcloud/apps/integration_whiteboard/lib/Service/SpacedeckAPIService.php","line":402,"function":"callForSeenUsers","class":"OC\User\Manager","type":"->","args":[{"class":"Closure"}]},{"file":"/var/www/ingenstans/nextcloud/apps/integration_whiteboard/lib/BackgroundJob/CleanupSpacedeck.php","line":72,"function":"cleanupSpacedeckStorage","class":"OCA\Spacedeck\Service\SpacedeckAPIService","type":"->","args":["http://localhost:9666","super_secret_token"]},{"file":"/var/www/ingenstans/nextcloud/lib/public/BackgroundJob/Job.php","line":80,"function":"run","class":"OCA\Spacedeck\BackgroundJob\CleanupSpacedeck","type":"->","args":[null]},{"file":"/var/www/ingenstans/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":61,"function":"execute","class":"OCP\BackgroundJob\Job","type":"->","args":[{"class":"OC\BackgroundJob\JobList"},{"class":"OC\Log"}]},{"file":"/var/www/ingenstans/nextcloud/cron.php","line":128,"function":"execute","class":"OCP\BackgroundJob\TimedJob","type":"->","args":[{"class":"OC\BackgroundJob\JobList"},{"class":"OC\Log"}]}],"File":"/var/www/ingenstans/nextcloud/apps/integration_whiteboard/lib/Service/SpacedeckAPIService.php","Line":398,"CustomMessage":"--"},"userAgent":"--","version":"21.0.3.1"}

drag of the current screencutout

Hi,
thanks for this cool app.
one freature i would like, is to be able to drag the current screencutout arount with holding the right left mousbutton in a courser mode.
in that way, splitting the drawing and the selecting/moving into seperate modes (pencel and courser) you would be able to use the right mousbutton in pencel mode to for example delete.
not shure if the underlying engine would be able to support that.

Strange connection issues and media upload error

I am facing error messages in Logging like:
[ERROR] Spacedeck is unreachable, it might not be running. cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

I am running Nextcloud 22.2.3 as Docker

The whiteboard opens and when I try to upload any picture or media it never finishes and I get the error in Logging.

Now the wired thing is when I check via "Connected Accounts" and click the "Spacedeck whiteboard integration" it says everything is fine...

I observed this behavior since Version 20.

Maybe one day will be the day I will finally see embedded media files on the whiteboard.

Undefined index: settings

[PHP] Error: Error: Undefined index: settings at /var/www/html/lib/private/AppFramework/Bootstrap/RegistrationContext.php#404 at <<closure>>

 0. /var/www/html/lib/private/AppFramework/Bootstrap/RegistrationContext.php line 404
    OC\Log\ErrorHandler::onError(8, "Undefined index: settings", "/var/www/html/l ... p", 404, {apps: {integrat ... "})
 1. /var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php line 143
    OC\AppFramework\Bootstrap\RegistrationContext->delegateContainerRegistrations({integration_whi ... }})
 2. /var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php line 86
    OC\AppFramework\Bootstrap\Coordinator->registerApps(["integration_whiteboard"])
 3. /var/www/html/lib/private/Installer.php line 146
    OC\AppFramework\Bootstrap\Coordinator->runLazyRegistration("integration_whiteboard")
 4. /var/www/html/apps/settings/lib/Controller/AppSettingsController.php line 448
    OC\Installer->installApp("integration_whiteboard")
 5. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 218
    OCA\Settings\Controller\AppSettingsController->enableApps(["integration_whiteboard"], [])
 6. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 127
    OC\AppFramework\Http\Dispatcher->executeController(OCA\Settings\Con ... {}, "enableApps")
 7. /var/www/html/lib/private/AppFramework/App.php line 157
    OC\AppFramework\Http\Dispatcher->dispatch(OCA\Settings\Con ... {}, "enableApps")
 8. /var/www/html/lib/private/Route/Router.php line 302
    OC\AppFramework\App::main("OCA\\Settings\\ ... r", "enableApps", OC\AppFramework\ ... {}, {_route: "settin ... "})
 9. /var/www/html/lib/base.php line 993
    OC\Route\Router->match("/settings/apps/enable")
10. /var/www/html/index.php line 37
    OC::handleRequest()

POST /settings/apps/enable
from 10.200.0.75 by Derkades at 2021-02-25T16:12:07+00:00

[integration_whiteboard] Error: [ERROR] Spacedeck is unreachable, it might not be running. cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

Lots of these errors in the Nextcloud log.

Steps to reproduce

  1. Create a .whiteboard file
  2. Open the file

Expected behaviour

Whiteboard starts up

Actual behaviour

Error message thrown

[integration_whiteboard] Error: [ERROR] Spacedeck is unreachable, it might not be running. cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

Server configuration

Operating system:
Ubuntu 20.04.5 LTS (GNU/Linux 4.15.0-166-generic x86_64)

Web server:
nginx version: nginx/1.18.0 (Ubuntu)

Database:
psql (PostgreSQL) 12.12 (Ubuntu 12.12-0ubuntu0.20.04.1)

PHP version:
PHP 8.0.14

Nextcloud version: (see Nextcloud admin page)
24.0.7

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

Where did you install Nextcloud from:
nextcloud.com

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list
Enabled:
  - accessibility: 1.10.0
  - activity: 2.16.0
  - admin_audit: 1.14.0
  - announcementcenter: 6.3.1
  - apporder: 0.15.0
  - bruteforcesettings: 2.4.0
  - calendar: 3.5.2
  - camerarawpreviews: 0.8.0
  - cloud_federation_api: 1.7.0
  - cms_pico: 1.0.20
  - comments: 1.14.0
  - dav: 1.22.0
  - deck: 1.7.2
  - drawio: 1.0.3
  - event_update_notification: 2.0.0
  - external: 4.0.0
  - extract: 1.3.5
  - federatedfilesharing: 1.14.0
  - files: 1.19.0
  - files_downloadactivity: 1.15.0
  - files_linkeditor: 1.1.12
  - files_pdfviewer: 2.5.0
  - files_readmemd: 1.2.2
  - files_rightclick: 1.3.0
  - files_sharing: 1.16.2
  - files_texteditor: 2.14.0
  - files_trashbin: 1.14.0
  - files_versions: 1.17.0
  - files_videoplayer: 1.13.0
  - firstrunwizard: 2.13.0
  - forms: 2.5.1
  - groupfolders: 12.0.2
  - impersonate: 1.11.0
  - integration_whiteboard: 0.0.14
  - logreader: 2.9.0
  - lookup_server_connector: 1.12.0
  - metadata: 0.17.0
  - notes: 4.5.1
  - notifications: 2.12.1
  - oauth2: 1.12.0
  - password_policy: 1.14.0
  - passwords: 2022.11.20
  - photos: 1.6.0
  - polls: 3.8.3
  - privacy: 1.8.0
  - provisioning_api: 1.14.0
  - quota_warning: 1.15.0
  - ransomware_protection: 1.14.0
  - recommendations: 1.3.0
  - richdocuments: 6.3.1
  - richdocumentscode: 22.5.702
  - serverinfo: 1.14.0
  - settings: 1.6.0
  - sharebymail: 1.14.0
  - systemtags: 1.14.0
  - tasks: 0.14.5
  - text: 3.5.1
  - theming: 1.15.0
  - twofactor_backupcodes: 1.13.0
  - updatenotification: 1.14.0
  - viewer: 1.8.0
  - workflowengine: 2.6.0
Disabled:
  - circles: 22.1.1
  - contactsinteraction: 1.0.0
  - dashboard: 7.0.0
  - encryption
  - federation: 1.8.0
  - files_external: 1.9.0
  - nextcloud_announcements: 1.7.0
  - support: 1.1.0
  - survey_client: 1.6.0
  - user_ldap
  - user_status: 1.0.1
  - weather_status: 1.0.0

Nextcloud configuration:

Config report
{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "tempdirectory": "\/mnt\/***REMOVED SENSITIVE VALUE***\/__temp",
        "skeletondirectory": "\/mnt\/***REMOVED SENSITIVE VALUE***\/__skeleton",
        "templatedirectory": "\/mnt\/nc***REMOVED SENSITIVE VALUE***data\/__templates",
        "dbtype": "pgsql",
        "version": "24.0.7.1",
        "overwrite.cli.url": "https:\/\/***REMOVED SENSITIVE VALUE***\/",
        "htaccess.RewriteBase": "\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "log_type": "file",
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "loglevel": 2,
        "logtimezone": "Australia\/Melbourne",
        "mail_smtpmode": "smtp",
        "remember_login_cookie_lifetime": 0,
        "log_rotate_size": "10485760",
        "trashbin_retention_obligation": "auto, 14",
        "versions_retention_obligation": "auto, 365",
        "simpleSignUpLink.shown": false,
        "login_form_autocomplete": true,
        "filelocking.enabled": true,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": "6379",
            "dbindex": "0",
            "timeout": "1.5"
        },
        "maintenance": false,
        "default_phone_region": "AU",
        "default_locale": "en_AU",
        "force_locale": "en_AU",
        "default_language": "en",
        "force_language": "en",
        "defaultapp": "activity,files",
        "activity_expire_days": 180,
        "session_lifetime": 14400,
        "session_keepalive": false,
        "auth.webauthn.enabled": false,
        "overwriteprotocol": "https",
        "app_install_overwrite": [
            "activitylog",
            "files_readmemd",
            "files_texteditor",
            "integration_whiteboard"
        ],
        "updater.release.channel": "stable",
        "theme": "",
        "connectivity_check_domains": [
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "forwarded_for_headers": [
            "HTTP_CF_CONNECTING_IP"
        ],
        "mail_smtpsecure": "ssl",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***"
    },
    "apps": {
        "accessibility": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.10.0"
        },
        "activity": {
            "types": "filesystem",
            "enabled": "yes",
            "installed_version": "2.16.0",
            "notify_notification_group_settings": "1",
            "notify_email_favorite": "0",
            "notify_stream_file_changed": "1",
            "notify_email_file_changed": "0",
            "notify_stream_file_created": "1",
            "notify_stream_favorite": "1",
            "notify_email_file_created": "0",
            "notify_stream_file_deleted": "1",
            "notify_email_file_deleted": "0",
            "notify_stream_file_favorite": "0",
            "notify_stream_file_restored": "1",
            "notify_email_file_restored": "0",
            "notify_email_announcementcenter": "1",
            "notify_stream_comments": "1",
            "notify_email_comments": "0",
            "notify_stream_file_downloaded": "1",
            "notify_email_file_downloaded": "0",
            "notify_notification_security": "1",
            "notify_notification_favorite": "0",
            "notify_notification_file_changed": "0",
            "notify_stream_shared": "1",
            "notify_email_shared": "0",
            "notify_stream_remote_share": "1",
            "notify_email_remote_share": "0",
            "notify_stream_public_links": "1",
            "notify_email_public_links": "0",
            "notify_stream_calendar": "1",
            "notify_email_calendar": "0",
            "notify_stream_calendar_event": "1",
            "notify_email_calendar_event": "0",
            "notify_stream_calendar_todo": "1",
            "notify_email_calendar_todo": "0",
            "notify_stream_spreed": "1",
            "notify_email_spreed": "1",
            "notify_stream_systemtags": "1",
            "notify_email_systemtags": "0",
            "notify_setting_selfemail": "0",
            "notify_setting_batchtime": "0",
            "notify_notification_calendar_event": "0",
            "notify_notification_file_favorite_changed": "1",
            "notify_email_file_favorite_changed": "0",
            "notify_notification_calendar": "0",
            "notify_notification_calendar_todo": "0",
            "notify_notification_file_downloaded": "0",
            "notify_notification_shared": "1",
            "notify_notification_remote_share": "0",
            "notify_notification_public_links": "0",
            "notify_notification_systemtags": "0",
            "notify_setting_self": "0",
            "notify_notification_comments": "1",
            "notify_notification_announcementcenter": "1",
            "notify_notification_personal_settings": "1"
        },
        "activitylog": {
            "installed_version": "0.0.1",
            "types": "",
            "enabled": "no"
        },
        "admin_audit": {
            "logfile": "\/var\/log\/nextcloud\/audit.log",
            "installed_version": "1.14.0",
            "types": "logging",
            "enabled": "yes"
        },
        "afterlogic": {
            "installed_version": "1.2.3",
            "types": "",
            "afterlogic-url": "https:\/\/lite.afterlogic.com\/",
            "afterlogic-path": "https:\/\/lite.afterlogic.com\/",
            "enabled": "no"
        },
        "announcementcenter": {
            "admin_groups": "[\"***REMOVED SENSITIVE VALUE***\",\"***REMOVED SENSITIVE VALUE***\"]",
            "types": "logging",
            "enabled": "yes",
            "installed_version": "6.3.1"
        },
        "apporder": {
            "force": "true",
            "types": "",
            "enabled": "yes",
            "installed_version": "0.15.0",
            "hidden": "[]",
            "order": "[\"\/apps\/activity\/\",\"\/apps\/files\/\",\"\/apps\/calendar\/\",\"\/apps\/deck\/\",\"\/apps\/tasks\/\",\"\/apps\/notes\/\",\"\/apps\/forms\/\",\"\/apps\/polls\/\",\"\/apps\/photos\/\",\"\/apps\/external\/18\",\"\/apps\/external\/2\",\"\/apps\/external\/17\",\"https:\/\/***REMOVED SENSITIVE VALUE***\",\"https:\/\/***REMOVED SENSITIVE VALUE***\/webmail\/\",\"https:\/\/***REMOVED SENSITIVE VALUE***\/***REMOVED SENSITIVE VALUE***\",\"\/apps\/passwords\/\",\"\/apps\/announcementcenter\/\"]"
        },
        "backgroundjob": {
            "lastjob": "4210"
        },
        "bookmarks": {
            "enabled": "no",
            "installed_version": "2.3.4",
            "types": "",
            "privacy.enableScraping": "true",
            "performance.maxBookmarksperAccount": "100",
            "previews.screenly.url": "http:\/\/***REMOVED SENSITIVE VALUE***\/api\/v1",
            "previews.screenly.token": "***REMOVED SENSITIVE VALUE***"
        },
        "bruteforcesettings": {
            "types": "",
            "enabled": "yes",
            "installed_version": "2.4.0"
        },
        "calendar": {
            "types": "",
            "installed_version": "3.5.2",
            "enabled": "yes"
        },
        "camerarawpreviews": {
            "types": "filesystem",
            "enabled": "yes",
            "installed_version": "0.8.0"
        },
        "checksum": {
            "installed_version": "0.4.4",
            "types": "filesystem",
            "enabled": "no"
        },
        "circles": {
            "loopback_tmp_scheme": "https",
            "loopback_tmp_path": "\/",
            "maintenance_run": "0",
            "maintenance_update": "{\"maximum\":3,\"3\":1633333210,\"2\":1633334413,\"1\":1633334710,\"4\":1633312817,\"5\":1633316403}",
            "installed_version": "22.1.1",
            "types": "filesystem,dav",
            "enabled": "no"
        },
        "cloud_federation_api": {
            "types": "filesystem",
            "enabled": "yes",
            "installed_version": "1.7.0"
        },
        "cms_pico": {
            "limit_groups": "[\"admin\"]",
            "enabled": "yes",
            "types": "filesystem",
            "system_templates": "{\"empty\":{\"name\":\"empty\",\"type\":1,\"compat\":true},\"sample_pico\":{\"name\":\"sample_pico\",\"type\":1,\"compat\":true}}",
            "themes_etag": "CBHfiLMUFE",
            "system_themes": "{\"default\":{\"name\":\"default\",\"type\":1,\"compat\":true}}",
            "custom_themes": "{\"***REMOVED SENSITIVE VALUE***\":{\"name\":\"***REMOVED SENSITIVE VALUE***\",\"type\":2,\"compat\":true}}",
            "plugins_etag": "BcNJE6UHkI",
            "system_plugins": "{\"PicoDeprecated\":{\"name\":\"PicoDeprecated\",\"type\":1,\"compat\":true}}",
            "installed_version": "1.0.20",
            "link_mode": "2"
        },
        "comments": {
            "types": "logging",
            "enabled": "yes",
            "installed_version": "1.14.0"
        },
        "contacts": {
            "types": "dav",
            "enabled": "no",
            "installed_version": "4.0.2"
        },
        "contactsinteraction": {
            "enabled": "no",
            "installed_version": "1.0.0",
            "types": "dav"
        },
        "core": {
            "installedat": "1581302459.9011",
            "vendor": "nextcloud",
            "public_webdav": "dav\/appinfo\/v1\/publicwebdav.php",
            "public_files": "files_sharing\/public.php",
            "updater.secret.created": "1667881720",
            "backgroundjobs_mode": "cron",
            "shareapi_default_internal_expire_date": "no",
            "enterpriseLogoChecked": "yes",
            "shareapi_enable_link_password_by_default": "yes",
            "moveavatarsdone": "yes",
            "previewsCleanedUp": "1",
            "shareapi_public_link_disclaimertext": "***REMOVED SENSITIVE VALUE***",
            "lastupdatedat": "1668144300",
            "oc.integritycheck.checker": "[]",
            "lastupdateResult": "{\"version\":\"25.0.1.1\",\"versionstring\":\"Nextcloud 25.0.1\",\"url\":\"https:\\\/\\\/download.nextcloud.com\\\/server\\\/releases\\\/nextcloud-25.0.1.zip\",\"web\":\"https:\\\/\\\/docs.nextcloud.com\\\/server\\\/25\\\/admin_manual\\\/maintenance\\\/upgrade.html\",\"changes\":\"https:\\\/\\\/updates.nextcloud.com\\\/changelog_server\\\/?version=25.0.1\",\"autoupdater\":\"1\",\"eol\":\"0\"}",
            "theming.variables": "a882332af583f61646900bb00490e0b9",
            "lastcron": "1668144903"
        },
        "dashboard": {
            "installed_version": "7.0.0",
            "types": "",
            "enabled": "no"
        },
        "dav": {
            "types": "filesystem",
            "enabled": "yes",
            "installed_version": "1.22.0",
            "generateBirthdayCalendar": "no",
            "chunks_migrated": "1",
            "regeneratedBirthdayCalendarsForYearFix": "yes",
            "buildCalendarSearchIndex": "yes",
            "buildCalendarReminderIndex": "yes",
            "sendEventRemindersPush": "yes"
        },
        "deck": {
            "installed_version": "1.7.2",
            "types": "dav",
            "enabled": "yes"
        },
        "drawio": {
            "enabled": "yes",
            "types": "filesystem",
            "DrawioUrl": "https:\/\/***REMOVED SENSITIVE VALUE***",
            "DrawioTheme": "atlas",
            "DrawioOffline": "yes",
            "DrawioXml": "no",
            "DrawioLang": "auto",
            "DrawioAutosave": "yes",
            "installed_version": "1.0.3"
        },
        "drop_account": {
            "installed_version": "0.1.0",
            "types": "",
            "enabled": "no"
        },
        "event_update_notification": {
            "enabled": "yes",
            "types": "logging,dav",
            "installed_version": "2.0.0"
        },
        "external": {
            "types": "",
            "installed_version": "4.0.0",
            "enabled": "yes",
            "max_site": "21",
            "sites": "***REMOVED SENSITIVE VALUE***"
        },
        "extract": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.3.5"
        },
        "federatedfilesharing": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.14.0"
        },
        "federation": {
            "installed_version": "1.8.0",
            "types": "authentication",
            "enabled": "no"
        },
        "files": {
            "types": "filesystem",
            "enabled": "yes",
            "cronjob_scan_files": "500",
            "installed_version": "1.19.0",
            "default_quota": "2 GB",
            "max_chunk_size": "12582912"
        },
        "files_accesscontrol": {
            "types": "filesystem",
            "installed_version": "1.10.2",
            "enabled": "no"
        },
        "files_automatedtagging": {
            "types": "filesystem",
            "installed_version": "1.10.1",
            "enabled": "no"
        },
        "files_downloadactivity": {
            "types": "filesystem",
            "enabled": "yes",
            "installed_version": "1.15.0"
        },
        "files_external": {
            "enabled": "no",
            "installed_version": "1.9.0",
            "types": "filesystem"
        },
        "files_fulltextsearch": {
            "installed_version": "1.4.1",
            "types": "filesystem",
            "enabled": "no",
            "files_local": "1",
            "files_external": "2",
            "files_group_folders": "0",
            "files_encrypted": "0",
            "files_federated": "0",
            "files_size": "20",
            "files_pdf": "1",
            "files_office": "1",
            "files_image": "0",
            "files_audio": "0"
        },
        "files_fulltextsearch_tesseract": {
            "installed_version": "1.4.0",
            "types": "",
            "tesseract_enabled": "1",
            "tesseract_psm": "4",
            "tesseract_lang": "eng",
            "tesseract_pdf": "0",
            "enabled": "no"
        },
        "files_linkeditor": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.1.12"
        },
        "files_pdfviewer": {
            "types": "",
            "enabled": "yes",
            "installed_version": "2.5.0"
        },
        "files_readmemd": {
            "enabled": "yes",
            "disable_workspace": "true",
            "types": "filesystem",
            "show_asciidoc": "false",
            "show_html": "false",
            "show_title": "true",
            "auto_refresh": "false",
            "fileslist_header": "[\"HEADER\"]",
            "fileslist_footer": "[\"README\"]",
            "yellow_back": "false",
            "installed_version": "1.2.2"
        },
        "files_rightclick": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.3.0"
        },
        "files_sharing": {
            "types": "filesystem",
            "enabled": "yes",
            "installed_version": "1.16.2",
            "outgoing_server2server_share_enabled": "no",
            "incoming_server2server_share_enabled": "no",
            "lookupServerEnabled": "no",
            "lookupServerUploadEnabled": "no"
        },
        "files_texteditor": {
            "installed_version": "2.14.0",
            "enabled": "yes",
            "types": ""
        },
        "files_trackdownloads": {
            "installed_version": "1.9.0",
            "types": "filesystem",
            "enabled": "no"
        },
        "files_trashbin": {
            "types": "filesystem,dav",
            "enabled": "yes",
            "installed_version": "1.14.0"
        },
        "files_versions": {
            "types": "filesystem,dav",
            "enabled": "yes",
            "installed_version": "1.17.0"
        },
        "files_videoplayer": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.13.0"
        },
        "firstrunwizard": {
            "types": "logging",
            "enabled": "yes",
            "installed_version": "2.13.0"
        },
        "forms": {
            "types": "",
            "enabled": "yes",
            "installed_version": "2.5.1"
        },
        "fulltextsearch": {
            "installed_version": "1.4.1",
            "types": "",
            "search_platform": "",
            "app_navigation": "1",
            "enabled": "no"
        },
        "fulltextsearch_elasticsearch": {
            "installed_version": "1.5.0",
            "types": "",
            "enabled": "no"
        },
        "group_everyone": {
            "installed_version": "0.1.4",
            "types": "authentication",
            "enabled": "no"
        },
        "groupfolders": {
            "types": "filesystem,dav",
            "enabled": "yes",
            "installed_version": "12.0.2"
        },
        "impersonate": {
            "types": "",
            "installed_version": "1.11.0",
            "enabled": "yes"
        },
        "integration_whiteboard": {
            "installed_version": "0.0.14",
            "types": "",
            "enabled": "yes"
        },
        "issuetemplate": {
            "installed_version": "0.6.0",
            "types": "",
            "enabled": "no"
        },
        "jitsi": {
            "jitsi_server_url": "https:\/\/***REMOVED SENSITIVE VALUE***\/",
            "jwt_issuer": "",
            "jwt_secret": "",
            "jwt_app_id": "",
            "help_link": "",
            "installed_version": "0.13.0",
            "display_join_using_the_jitsi_app": "1",
            "enabled": "no",
            "types": "",
            "jwt_audience": ""
        },
        "ldap_write_support": {
            "installed_version": "1.2.1",
            "types": "",
            "enabled": "no"
        },
        "libresign": {
            "installed_version": "2.4.5",
            "enabled": "no",
            "types": ""
        },
        "logreader": {
            "types": "",
            "enabled": "yes",
            "installed_version": "2.9.0",
            "levels": "00011"
        },
        "lookup_server_connector": {
            "types": "authentication",
            "enabled": "yes",
            "installed_version": "1.12.0"
        },
        "mail": {
            "types": "",
            "installed_version": "1.11.6",
            "enabled": "no"
        },
        "maps": {
            "types": "filesystem",
            "enabled": "no",
            "installed_version": "0.1.9"
        },
        "metadata": {
            "installed_version": "0.17.0",
            "types": "",
            "enabled": "yes"
        },
        "nextcloud_announcements": {
            "installed_version": "1.7.0",
            "types": "logging",
            "enabled": "no",
            "pub_date": "Thu, 24 Oct 2019 00:00:00 +0200"
        },
        "notes": {
            "installed_version": "4.5.1",
            "types": "",
            "enabled": "yes"
        },
        "notifications": {
            "types": "logging",
            "enabled": "yes",
            "installed_version": "2.12.1"
        },
        "oauth2": {
            "types": "authentication",
            "enabled": "yes",
            "installed_version": "1.12.0"
        },
        "ocr": {
            "types": "",
            "installed_version": "6.0.23",
            "enabled": "no"
        },
        "onlyoffice": {
            "enabled": "no",
            "DocumentServerInternalUrl": "",
            "jwt_secret": "",
            "StorageUrl": "",
            "sameTab": "false",
            "groups": "[]",
            "customizationChat": "true",
            "customizationCompactHeader": "true",
            "customizationFeedback": "true",
            "customizationHelp": "true",
            "DocumentServerUrl": "https:\/\/***REMOVED SENSITIVE VALUE***\/",
            "editFormats": "{\"csv\":\"true\",\"odp\":\"true\",\"ods\":\"true\",\"odt\":\"true\",\"rtf\":\"true\",\"txt\":\"false\"}",
            "customizationToolbarNoTabs": "false",
            "defFormats": "{\"csv\":\"true\",\"doc\":\"true\",\"docm\":\"true\",\"docx\":\"true\",\"dotx\":\"true\",\"epub\":\"false\",\"html\":\"false\",\"odp\":\"true\",\"ods\":\"true\",\"odt\":\"true\",\"pdf\":\"false\",\"potm\":\"false\",\"potx\":\"true\",\"ppsm\":\"true\",\"ppsx\":\"true\",\"ppt\":\"true\",\"pptm\":\"true\",\"pptx\":\"true\",\"rtf\":\"true\",\"txt\":\"false\",\"xls\":\"true\",\"xlsm\":\"true\",\"xlsx\":\"true\",\"xltm\":\"true\",\"xltx\":\"true\"}",
            "customizationReviewDisplay": "markup",
            "demo": "{\"available\":false,\"enabled\":false,\"start\":{\"date\":\"2020-02-10 04:00:18.586456\",\"timezone_type\":3,\"timezone\":\"UTC\"}}",
            "settings_error": "",
            "installed_version": "7.5.4",
            "verify_peer_off": "false",
            "types": "prevent_group_restriction"
        },
        "password_policy": {
            "enabled": "yes",
            "installed_version": "1.14.0",
            "types": "authentication",
            "enforceUpperLowerCase": "1",
            "enforceNumericCharacters": "1",
            "enforceSpecialCharacters": "1",
            "enforceHaveIBeenPwned": "1",
            "maximumLoginAttempts": "4",
            "minLength": "12",
            "expiration": "365",
            "historySize": "0"
        },
        "passwords": {
            "settings\/mail\/shares": "1",
            "backup\/update\/restored": "0",
            "cron\/php\/version\/id": "80014",
            "cron\/php\/version\/string": "8.0.14",
            "survey\/server\/notification": "1630863004",
            "migration\/customFields": "2020.12.2",
            "types": "",
            "passwords\/localdb\/type": "hibp",
            "enabled": "[\"***REMOVED SENSITIVE VALUE***\",\"***REMOVED SENSITIVE VALUE***\"]",
            "installed_version": "2022.11.20",
            "service\/favicon\/bi\/counter": "36:1:0",
            "service\/favicon": "local",
            "service\/preview": "screeenly",
            "settings\/password\/security\/hash": "30",
            "SSEv1ServerKey": "***REMOVED SENSITIVE VALUE***",
            "survey\/server\/mode": "0",
            "service\/preview\/screeenly\/key": "***REMOVED SENSITIVE VALUE***",
            "survey\/server\/week": "35",
            "legacy_api_checkpoint": "1635248522",
            "entity\/purge\/timeout": "0",
            "web\/php\/version\/id": "80014",
            "web\/php\/version\/string": "8.0.14",
            "service\/words": "local"
        },
        "phonetrack": {
            "installed_version": "0.6.2",
            "types": "",
            "enabled": "no"
        },
        "photos": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.6.0"
        },
        "polls": {
            "installed_version": "3.8.3",
            "types": "",
            "enabled": "yes"
        },
        "previewgenerator": {
            "enabled": "no",
            "types": "filesystem",
            "installed_version": "3.1.1"
        },
        "privacy": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.8.0",
            "readableLocation": "au",
            "fullDiskEncryptionEnabled": "1"
        },
        "provisioning_api": {
            "types": "prevent_group_restriction",
            "enabled": "yes",
            "installed_version": "1.14.0"
        },
        "quota_warning": {
            "enabled": "yes",
            "types": "filesystem",
            "installed_version": "1.15.0",
            "info_email": "yes",
            "warning_email": "yes",
            "alert_email": "yes"
        },
        "rainloop": {
            "rainloop-autologin-with-email": "",
            "enabled": "no",
            "installed_version": "6.1.0",
            "types": "",
            "rainloop-autologin": ""
        },
        "ransomware_protection": {
            "types": "logging",
            "installed_version": "1.14.0",
            "enabled": "yes",
            "notes_include_biased": "yes"
        },
        "recommendations": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.3.0"
        },
        "richdocuments": {
            "doc_format": "ooxml",
            "types": "prevent_group_restriction",
            "enabled": "yes",
            "public_wopi_url": "https:\/\/***REMOVED SENSITIVE VALUE***",
            "installed_version": "6.3.1",
            "external_apps": "Public Access:***REMOVED SENSITIVE VALUE***,",
            "canonical_webroot": "",
            "wopi_url": "https:\/\/***REMOVED SENSITIVE VALUE***",
            "disable_certificate_verification": "yes"
        },
        "richdocumentscode": {
            "types": "",
            "enabled": "yes",
            "installed_version": "22.5.702"
        },
        "serverinfo": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.14.0",
            "cached_count_storages": "23",
            "cached_count_filecache": "137512"
        },
        "settings": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.6.0"
        },
        "sharebymail": {
            "types": "filesystem",
            "enabled": "yes",
            "installed_version": "1.14.0",
            "enforcePasswordProtection": "yes"
        },
        "socialsharing_email": {
            "enabled": "no",
            "installed_version": "2.0.0",
            "types": ""
        },
        "spreed": {
            "types": "prevent_group_restriction",
            "installed_version": "8.0.8",
            "stun_servers": "***REMOVED SENSITIVE VALUE***",
            "enabled": "no",
            "conversations_files_public_shares": "0",
            "project_access_invalidated": "1",
            "allowed_groups": "[\"Everyone\"]",
            "signaling_servers": "***REMOVED SENSITIVE VALUE***",
            "turn_servers": "***REMOVED SENSITIVE VALUE***",
            "signaling_ticket_secret": "***REMOVED SENSITIVE VALUE***",
            "conversations_files": "0"
        },
        "support": {
            "installed_version": "1.1.0",
            "types": "session",
            "enabled": "no"
        },
        "survey_client": {
            "installed_version": "1.6.0",
            "types": "",
            "enabled": "no"
        },
        "suspicious_login": {
            "types": "authentication",
            "installed_version": "3.2.1",
            "enabled": "no"
        },
        "systemtags": {
            "types": "logging",
            "enabled": "yes",
            "installed_version": "1.14.0"
        },
        "tasks": {
            "installed_version": "0.14.5",
            "types": "",
            "enabled": "yes"
        },
        "telephoneprovider": {
            "installed_version": "1.0.3",
            "types": "",
            "enabled": "no"
        },
        "terms_of_service": {
            "installed_version": "1.5.0",
            "types": "filesystem",
            "enabled": "no"
        },
        "text": {
            "types": "dav",
            "enabled": "yes",
            "installed_version": "3.5.1"
        },
        "theming": {
            "types": "logging",
            "enabled": "yes",
            "installed_version": "1.15.0",
            "slogan": "***REMOVED SENSITIVE VALUE***",
            "cachebuster": "52",
            "logoMime": "image\/png",
            "faviconMime": "image\/png",
            "color": "#C5309F",
            "name": "***REMOVED SENSITIVE VALUE***",
            "backgroundMime": "image\/jpeg",
            "url": "***REMOVED SENSITIVE VALUE***",
            "logoheaderMime": "image\/png"
        },
        "timetracker": {
            "types": "",
            "installed_version": "0.0.53",
            "enabled": "no"
        },
        "twofactor_backupcodes": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.13.0"
        },
        "updatenotification": {
            "types": "",
            "enabled": "yes",
            "richdocuments": "6.3.1",
            "installed_version": "1.14.0",
            "forms": "2.5.1",
            "bruteforcesettings": "2.4.0",
            "impersonate": "1.5.2",
            "ransomware_protection": "1.14.0",
            "files_downloadactivity": "1.15.0",
            "previewgenerator": "2.3.0",
            "user_usage_report": "1.3.1",
            "update_check_errors": "0",
            "polls": "3.8.3",
            "apporder": "0.15.0",
            "uploaddetails": "0.1.3",
            "mail": "1.9.1",
            "contacts": "3.2.0",
            "ocr": "6.0.23",
            "spreed": "8.0.5",
            "notes": "4.5.1",
            "files_accesscontrol": "1.9.1",
            "tasks": "0.14.5",
            "files_linkeditor": "1.1.12",
            "files_readmemd": "1.2.2",
            "groupfolders": "12.0.2",
            "user_retention": "1.1.3",
            "passwords": "2022.11.20",
            "files_automatedtagging": "1.8.3",
            "extract": "1.3.5",
            "cms_pico": "1.0.20",
            "timetracker": "0.0.51",
            "event_update_notification": "2.0.0",
            "camerarawpreviews": "0.8.0",
            "suspicious_login": "3.2.1",
            "metadata": "0.17.0",
            "calendar": "3.5.2",
            "announcementcenter": "6.3.1",
            "deck": "1.7.2",
            "drawio": "1.0.4",
            "richdocumentscode": "22.5.702",
            "quota_warning": "1.15.0",
            "core": "25.0.1.1",
            "external": "3.8.2",
            "onlyoffice": "7.4.4"
        },
        "uploaddetails": {
            "types": "",
            "enabled": "no",
            "installed_version": "0.1.3"
        },
        "user_retention": {
            "enabled": "no",
            "types": "prevent_group_restriction",
            "installed_version": "1.4.0",
            "excluded_groups": "[]",
            "user_days": "0"
        },
        "user_status": {
            "installed_version": "1.0.1",
            "types": "",
            "enabled": "no"
        },
        "user_usage_report": {
            "installed_version": "1.3.2",
            "types": "filesystem",
            "enabled": "no"
        },
        "video_converter": {
            "enabled": "no",
            "installed_version": "0.1.3",
            "types": ""
        },
        "viewer": {
            "types": "",
            "enabled": "yes",
            "installed_version": "1.8.0"
        },
        "weather_status": {
            "installed_version": "1.0.0",
            "types": "",
            "enabled": "no"
        },
        "whiteboard": {
            "installed_version": "0.0.3",
            "types": "",
            "enabled": "no"
        },
        "workflowengine": {
            "types": "filesystem",
            "enabled": "yes",
            "installed_version": "2.6.0"
        }
    }
}

Are you using external storage, if yes which one: local/smb/sftp/...
No

Are you using encryption: yes/no
No

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
No

Client configuration

Browser:
Firefox 106.0.5

Operating system:
Ubuntu, Windows, Mac OS

Logs

Web server error log

Web server error log
No errors

Nextcloud log (data/nextcloud.log)

Nextcloud log
[integration_whiteboard] Error: [ERROR] Spacedeck is unreachable, it might not be running. cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

at 2022-11-11T14:55:03+11:00

Browser log

Browser log
No errors

Cannot unlock / lock items when reopen whiteboard

When a whiteboard has been saved, a graphical item (graphic, scribble, arrow, ...) cannot be locked or unlocked. The buttons in the "more" options are missing.

Nextcloud 21, Whiteboard integration 0.0.14

Upload media no libtheora found

I have a setup with Ubuntu 18.04/moodle/bigbluebutton/nextcloud.

I'm trying the whiteboard feature in Nextcloud 21 - and tried to upload an .mp4 file

I installed libtheora, libtheora-bin and ffmpeg2theora -- Here's what I see when I upload.

Screenshot from 2021-05-03 09-55-40

Not sure what to try - pretty sure it's not a bug, but something I've failed to install or setup.

Spacedeck request connection error : cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

Steps to reproduce

  1. Create a .whiteboard file
  2. Open the file

Expected behaviour

Whiteboard starts up

Actual behaviour

Error message thrown

Spacedeck request connection error : cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

Server configuration

Operating system:
Ubuntu 18.04.5 LTS

Web server:
nginx/1.14.0

Database:
mysql Ver 14.14 Distrib 5.7.33, for Linux (x86_64)

PHP version:
PHP 7.4.16

Nextcloud version: (see Nextcloud admin page)
21.0.1.1

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

Where did you install Nextcloud from:
nextcloud.com

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list
Enabled:
  - accessibility: 1.7.0
  - activity: 2.14.3
  - admin_audit: 1.11.0
  - announcementcenter: 5.0.0
  - apporder: 0.12.0
  - bruteforcesettings: 2.1.0
  - calendar: 2.2.0
  - camerarawpreviews: 0.7.10
  - cloud_federation_api: 1.4.0
  - comments: 1.11.0
  - dav: 1.17.1
  - drawio: 1.0.0
  - event_update_notification: 1.2.0
  - external: 3.8.1
  - extract: 1.3.1
  - federatedfilesharing: 1.11.0
  - files: 1.16.0
  - files_downloadactivity: 1.10.0
  - files_pdfviewer: 2.1.0
  - files_readmemd: 1.2.0
  - files_rightclick: 1.0.0
  - files_sharing: 1.13.1
  - files_texteditor: 2.14.0
  - files_trashbin: 1.11.0
  - files_versions: 1.14.0
  - files_videoplayer: 1.10.0
  - firstrunwizard: 2.10.0
  - groupfolders: 9.0.0
  - impersonate: 1.8.0
  - integration_whiteboard: 0.0.14
  - logreader: 2.6.0
  - lookup_server_connector: 1.9.0
  - metadata: 0.13.0
  - notes: 4.0.4
  - notifications: 2.9.0
  - oauth2: 1.9.0
  - onlyoffice: 6.3.0
  - password_policy: 1.11.0
  - photos: 1.3.0
  - previewgenerator: 3.1.1
  - privacy: 1.5.0
  - provisioning_api: 1.11.0
  - quota_warning: 1.10.0
  - ransomware_protection: 1.10.0
  - recommendations: 1.0.0
  - serverinfo: 1.11.0
  - settings: 1.3.0
  - sharebymail: 1.11.0
  - systemtags: 1.11.0
  - tasks: 0.13.6
  - text: 3.2.0
  - theming: 1.12.0
  - twofactor_backupcodes: 1.10.0
  - updatenotification: 1.11.0
  - user_retention: 1.4.0
  - viewer: 1.5.0
  - workflowengine: 2.3.0
Disabled:
  - contacts
  - contactsinteraction
  - dashboard
  - encryption
  - federation
  - files_external
  - nextcloud_announcements
  - support
  - survey_client
  - user_ldap
  - user_status
  - weather_status
  - whiteboard

Nextcloud configuration:

Config report
{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "tempdirectory": "***REMOVED SENSITIVE VALUE***",
        "skeletondirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "21.0.1.1",
        "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
        "htaccess.RewriteBase": "\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "log_type": "file",
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "loglevel": 2,
        "logtimezone": "Australia\/Melbourne",
        "mail_smtpmode": "smtp",
        "remember_login_cookie_lifetime": 0,
        "log_rotate_size": "10485760",
        "trashbin_retention_obligation": "auto, 14",
        "versions_retention_obligation": "auto, 365",
        "simpleSignUpLink.shown": false,
        "login_form_autocomplete": true,
        "filelocking.enabled": true,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": "6379",
            "dbindex": "0",
            "timeout": "1.5"
        },
        "maintenance": false,
        "default_locale": "en_AU",
        "force_locale": "en_AU",
        "default_language": "en",
        "force_language": "en",
        "defaultapp": "activity,files",
        "activity_expire_days": 180,
        "session_lifetime": 14400,
        "session_keepalive": false,
        "auth.webauthn.enabled": false,
        "overwriteprotocol": "https",
        "app_install_overwrite": [
            "activitylog",
            "uploaddetails",
            "drop_account",
            "files_readmemd",
            "afterlogic"
        ],
        "updater.release.channel": "stable",
        "theme": "",
        "connectivity_check_domains": [
            "nextcloud.com",
            "duckduckgo.com"
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "forwarded_for_headers": [
            "HTTP_CF_CONNECTING_IP"
        ],
        "mail_smtpsecure": "ssl",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "updater.secret": "***REMOVED SENSITIVE VALUE***"
    }
}

Are you using external storage, if yes which one: local/smb/sftp/...
No

Are you using encryption: yes/no
No

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
No

Client configuration

Browser:
Firefox 87.0

Operating system:
Windows 10

Logs

Web server error log

Web server error log
No errors

Nextcloud log (data/nextcloud.log)

Nextcloud log
[integration_whiteboard] Warning: Spacedeck request connection error : cURL error 7: Failed to connect to localhost port 9666: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9666/api/spaces

GET /apps/integration_whiteboard/space/175177
from xxx.xxx.xxx.xxx by ***REMOVED SENSITIVE VALUE*** at 2021-04-12T05:38:37+10:00

Browser log

Browser log
No errors

whiteboard not working

Hi,
I have nextcloud 21 running on Ubuntu 20.04 LTS under apache.
I upgraded from NC20 and installed integration_whiteboard.

The installation was successfull without any error messages.
The file menu does have a new menu for generating .whiteboard files.

I generated a file called <test.whiteboard>, but there seems no app connected to it.
I see a unknown file icon and if I select the file, NC does only offer a download.

Does the app need further configurations?
Is maybe a MIME-Type entry missing?

I do not get any error messages, as I cannot start any app - as I just get the option to download the file.
Regards,
PifPof73

Failes to enable

In my instance it fails to enable and I see this error in the logs:
failed to open stream: No such file or directory at .../apps/integration_whiteboard/lib/Service/SpacedeckBundleService.php#33

I'm running on Debian 10 with Apache and php-fpm7.3 as well as mariadb, using Ldap authentication and have the latest NC21.

HTTP 400 when connecting to spacedeck endpoint

This install is within a docker container.

Trying to test the config results in:

image

Here is the default.json:

root@nextcloud:/# cat /storage/appdata_oczqp556geu3/spacedeck/config/default.json
{
    "team_name": "My Open Spacedeck",
    "contact_email": "[email protected]",
    "host": "::",
    "port": 9666,
    "endpoint": "https://nextcloud.example.com/apps/integration_whiteboard/proxy",
    "invite_code": "top-sekrit",
    "storage_local_path": "./storage",
    "storage_local_db": "./database.sqlite",
    "storage_region": "eu-central-1",
    "storage_endpoint": "http://localhost:4572",
    "storage_bucket": "my_spacedeck_bucket",
    "storage_cdn": "/storage",
    "mongodb_host": "localhost",
    "redis_mock": true,
    "redis_host": "localhost",
    "phantom_api_secret": "very_secret_phantom_password",
    "mail_provider": "smtp",
    "mail_smtp_host": "your.smtp.host",
    "mail_smtp_port": 465,
    "mail_smtp_secure": true,
    "mail_smtp_require_tls": true,
    "mail_smtp_user": "your.smtp.user",
    "mail_smtp_pass": "your.secret.smtp.password"
}

Any attempt to connect via https://nextcloud.example.com/apps/integration_whiteboard/proxy results in:

Client error: GET http://localhost:9666/ resulted in a 400 Bad Request response

If I try connecting locally via a terminal it does work:

root@nextcloud:/# curl -v http://localhost:9666/spaces/
*   Trying 127.0.0.1:9666...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 9666 (#0)
> GET /spaces/ HTTP/1.1
> Host: localhost:9666
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Content-Length: 174381
< ETag: W/"2a92d-2vgc3cWK3w72IDDICpxRdcdwUyw"
< Date: Wed, 24 Feb 2021 13:14:41 GMT
< Connection: keep-alive
<
<!doctype html>
<html class="no-js">
  <head>
    <meta charset="utf-8">
    <title>Spacedeck Open</title>
.....

and the spacedeck binary is running:

root@nextcloud:/# ps aux | grep spacedeck
user      3912  0.0  0.0 917108 63696 ?        SNl  Feb23   0:04 ./spacedeck.nexe.bin

Here's an strace from the spacedeck binary when attempting a connection via the proxy:

[pid 3833900] epoll_pwait(3, [{EPOLLIN, {u32=22, u64=22}}], 1024, 73503, NULL, 8) = 1
[pid 3833900] accept4(22, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK) = 24
[pid 3833900] accept4(22, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable)
[pid 3833900] epoll_ctl(3, EPOLL_CTL_ADD, 24, {EPOLLIN, {u32=24, u64=24}}) = 0
[pid 3833900] epoll_pwait(3, [{EPOLLIN, {u32=24, u64=24}}], 1024, 1, NULL, 8) = 1
[pid 3833900] read(24, "GET /spaces/89510 HTTP/1.1\r\nHost: nextcloud.example.com\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:85.0) Gecko/20100101 Firefox/85.0\r\nCookie: __Host-nc_sameSiteCookielax=true; oc_sessionPassphrase=ejR9dbsl0rqcqkUqttaaIWHfNXrAGUuOeuQJZlHzr84v6CgqZK7NhtuJUYb3Q0N4jlnsB%2F%2BJXdwPJgripoYJLwTmfh5mV6O4WJa78522L4ZVMJjVMJaIE8128FBGpKOB; oczqp556geu3=0tjsefmnjk7qadi3d03k893uib; nc_username=admin; nc_token=bl0knSxg5c4m6mL%2Bdsj3Qm7OzMSoKhDV; nc_session_id=0tjsefmnjk7qadi3d03k893uib\r\nCache-Control: max-age=0\r\nSec-Gpc: 1\r\nUpgrade-Insecure-Requests: 1\r\nDnt: 1\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: en-US,en;q=0.5\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nX-Forwarded-Port: 443\r\nX-Forwarded-Proto: https\r\nX-Forwarded-For: 5.79.73.166\r\nX-Real-Ip: 5.79.73.166\r\nConnection: close\r\nContent-Length:\r\nContent-Type:\r\n\r\n", 65536) = 890
[pid 3833900] write(24, "HTTP/1.1 400 Bad Request\r\nConnection: close\r\n\r\n", 47) = 47
[pid 3833900] epoll_ctl(3, EPOLL_CTL_DEL, 24, 0x7ffcae5a877c) = 0
[pid 3833900] close(24)                 = 0
[pid 3833900] epoll_pwait(3, [], 1024, 0, NULL, 8) = 0

When connecting via https://nextcloud.example.com/apps/integration_whiteboard/proxy the /storage/appdata_oczqp556geu3/spacedeck/spacedeck.log file remains empty.

Whiteboard integration in NC21 fails

We could activate the app but it does work - not sure if all of them are related to the whiteboard app:

Exception: Repair step 'OCA\Spacedeck\Migration\CopySpacedeckAppData' is unknown
Error: Call to a member function getContainer() on null	
Error: Undefined index: files_trashbin at /var/www/vhosts/MyDomain/lib/private/AppFramework/Bootstrap/RegistrationContext.php#404

Public shares cannot be opened while logged in with an NC account

Hello,

We use the Whiteboard app in our organization within a Nextcloud/BigBlueButton combination. The people are logged into their nextcloud accounts and are also together in a BigBlueButton meeting that is started by one user. Since BigBlueButton's integrated whiteboard is just a toy, people prefer to use nextcloud's whiteboard app.

This is the workflow: Someone creates a whiteboard add a public sharing link to it and puts this link into BBB' public chat. This allows everyone in the meeting to access the whiteboard while still connected to the BBB meeting.

This works perfectly as long as a user is not connected in his nextcloud account. If he is logged in (e.g. in another browser tab) he gets the error message...

"Impossible to load Spacedeck whiteboard "File does not exist"

...when clicking the public sharing link.

This must be an error, as other files or folders shared via public sharing links will appear correctly, including Office documents, e.g. only office documents via online server.
Our workaround is to communicate, that users need to log out of Nextcloud while whiteboarding - but that's not very user friendly.

Another workaround can be to generate an additional share to every .whiteboard file, e.g. 'everyone' group. With this second share, public shares can be opened by all users, whether they are logged into their accounts or not. But this way the .whiteboard files files will be visible to everyone in the Nextcloud files area - This is not a good option.

Finally, the only option is to fix this behavior, I think. I have no idea how much work that would be, but a fully functional, robust public sharing option is essential for a public whiteboard. If we can support this fix in any way, let me know here. :-)

Regards
Frank

Versions:
Nextcloud 22.2.5
Whiteboard_integration 0.14

Environment:
Ubuntu 20.04
Apache 2.4.41
PHP 7.4.3
MariaDB 10.5.15

Clear Bucket

Hey there.. whatabout clearing the bucket?
I just tested to upload some media files.. and after playing around with whiteboard, i was delting the whiteboard file.. but the media-files are still in the storage bucket folder..

so what about auto cleaning such "cache"?

in_array() expects at least 2 parameters, 1 given

Unfortunately I don't have reproduction steps for this, hopefully just the error trace is enough.

[PHP] Error: Error: in_array() expects at least 2 parameters, 1 given at /var/www/html/apps/integration_whiteboard/lib/Service/SpacedeckAPIService.php#398 at <<closure>>

0. <<closure>>
   OC\Log\ErrorHandler::onError(2, "in_array() expe ... n", "/var/www/html/a ... p", 398, {user: "*** sens ... }})
1. /var/www/html/apps/integration_whiteboard/lib/Service/SpacedeckAPIService.php line 398
   in_array(2523546)
2. /var/www/html/lib/private/User/Manager.php line 610
   OCA\Spacedeck\Service\SpacedeckAPIService->OCA\Spacedeck\Service\{closure}("*** sensitive parameters replaced ***")
3. /var/www/html/apps/integration_whiteboard/lib/Service/SpacedeckAPIService.php line 402
   OC\User\Manager->callForSeenUsers(Closure {})
4. /var/www/html/apps/integration_whiteboard/lib/BackgroundJob/CleanupSpacedeck.php line 72
   OCA\Spacedeck\Service\SpacedeckAPIService->cleanupSpacedeckStorage("http://localhost:9666", "super_secret_token")
5. /var/www/html/lib/public/BackgroundJob/Job.php line 80
   OCA\Spacedeck\BackgroundJob\CleanupSpacedeck->run(null)
6. /var/www/html/lib/public/BackgroundJob/TimedJob.php line 61
   OCP\BackgroundJob\Job->execute(OC\BackgroundJob\JobList {}, OC\Log {})
7. /var/www/html/cron.php line 128
   OCP\BackgroundJob\TimedJob->execute(OC\BackgroundJob\JobList {}, OC\Log {})

at 2021-02-25T16:15:04+00:00

Workaround Error 403 Access forbidden on Raspberry 4 NC22.2.3 Suggestion to enable parallel Installations.

Ok, this is not really an Issue but more of start of a Hack or Workaround:
Maybe a suggestion to enable the use of a parallel installed spacedeck installation??

I tried to get the extension working on a Raspberry Pi 4 with Debian.
The spacedeck log in /appdata/spacedeck/spacedeck log shows:
spacedeck/spacedeck.log
./spacedeck.nexe.bin: 1: ./spacedeck.nexe.bin:ELF: not found
./spacedeck.nexe.bin: 2: ./spacedeck.nexe.bin: @: not found
./spacedeck.nexe.bin: 3: ./spacedeck.nexe.bin: Syntax error: "(" unexpected

The Binary is not Working at all.

Therefore I installed the spacedeck-open manually on the same machine with a startup script so it runs on 9666 permanently.
This leads to the error in the headline: 403 Access forbidden because of a wrong api-token.

To get around that one I logged on to the spacedeck manually, registered a new user and in the "change user account" profile tab inserted an API- Token, e.g. spacedeckapikey. This leads to a new error message as the system now logs on but has a slash too much in the calling URL.

To get around that, I changed /nextcloud/apps/integration_whiteboard/lib/constants.php to
define('DEFAULT_SPACEDECK_URL', 'http://localhost:9666');
( I deleted the last slash)

Now the System shows Spacedeck is working but the first test deck I tried looks very fishy.

Anybody an Idea how to fix it?

Whiteboard integration on ARM64

Hello,
the README says that the Whiteboard integration only runs on 64-bit Linux systems. I assume that x86-64 is meant because the spacedeck.nexe.bin is a x86-64 executable. Would it be possible to provide an executable for ARM64? Otherwise, it should be clarified in the README that only x86-64 systems are supported.
Thanks!

Call to a member function getContainer() on null

[no app in context] Error: Error: Call to a member function getContainer() on null at <<closure>>

0. /var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php line 143
   OC\AppFramework\Bootstrap\RegistrationContext->delegateContainerRegistrations({integration_whi ... }})
1. /var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php line 86
   OC\AppFramework\Bootstrap\Coordinator->registerApps(["integration_whiteboard"])
2. /var/www/html/lib/private/Installer.php line 146
   OC\AppFramework\Bootstrap\Coordinator->runLazyRegistration("integration_whiteboard")
3. /var/www/html/apps/settings/lib/Controller/AppSettingsController.php line 448
   OC\Installer->installApp("integration_whiteboard")
4. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 218
   OCA\Settings\Controller\AppSettingsController->enableApps(["integration_whiteboard"], [])
5. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 127
   OC\AppFramework\Http\Dispatcher->executeController(OCA\Settings\Con ... {}, "enableApps")
6. /var/www/html/lib/private/AppFramework/App.php line 157
   OC\AppFramework\Http\Dispatcher->dispatch(OCA\Settings\Con ... {}, "enableApps")
7. /var/www/html/lib/private/Route/Router.php line 302
   OC\AppFramework\App::main("OCA\\Settings\\ ... r", "enableApps", OC\AppFramework\ ... {}, {_route: "settin ... "})
8. /var/www/html/lib/base.php line 993
   OC\Route\Router->match("/settings/apps/enable")
9. /var/www/html/index.php line 37
   OC::handleRequest()

POST /settings/apps/enable
from 10.200.0.75 by Derkades at 2021-02-25T16:12:07+00:00

integration_whiteboard + load balancer

Does anyone have integration_whiteboard running on a load balancer setup? Should it be working out of the box?

We are trying to set integration_whiteboard up on a CentOS 7 (with custom binary) cluster. Installation and activation works but creating or starting a whiteboard results in an error:
"cURL error 7: Failed to connect to localhost:9666 Connection refused"

How could one debug to determine whether the problem is the custom binary or the balancing?

Would one have to set it up so that all nodes in the cluster use the same spacedeck binary/port/service?
If yes, where would one set the config?

Is this integration dead?

We're currently evaluating introducing this whiteboard app to our users, but the inactivity and problem reports of not functioning servers seem very worrying, also converting or exporting whiteboards doesn't seem to be possible.

What are the current plans for this plugin? Is it dead?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.