Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Whiteboard not Shared #12811

Closed
maymage opened this issue Jan 21, 2023 · 29 comments
Closed

Whiteboard not Shared #12811

maymage opened this issue Jan 21, 2023 · 29 comments

Comments

@maymage
Copy link

maymage commented Jan 21, 2023

Hi all,

I've been using the whiteboard functionality quite often recently. However, more often than not,
me and my partner cannot collaborate on it, though both can access the whiteboard from the menu.

  • I'm using an up to date flatpak install of the electron electron version on linux
  • The other is using the browser on a Windows Laptop (or an Android, I think) tablet.

Sometimes this is fixed by both leaving the conference and reconnecting.

In contrast, if we're both using a browser and share a whiteboard on excalidraw, there is no issue,
so that is the fallback solution for now.

Is this a known issue? If not, how can I debug this further?

@maymage
Copy link
Author

maymage commented Jan 21, 2023

By the way.. this has not been an issue a month or two ago, so...

@saghul
Copy link
Member

saghul commented Jan 21, 2023

Are you connecting to meet.jit.si or another deployment?

@maymage
Copy link
Author

maymage commented Jan 21, 2023

yeah.. meet.jit.si

I haven't changed any setting on the electron app.

@saghul
Copy link
Member

saghul commented Jan 23, 2023

I am not able to reproduce this on meet.jit.si myself.

@zerg11
Copy link

zerg11 commented Mar 27, 2023

Hello everyone!
We are using self-managed deploy of jitsi and trying to implement whiteboard. Using this repo https://github.com/jitsi/excalidraw-backend and kubernetes - we can access whiteboard by button, but cannot collaborate (everyone see only their whiteboard, not shared). Release of jitsi - stable-8319.
Only difference from https://github.com/jitsi/excalidraw-backend - is changing tcp port from 80 to 9095.

@saghul
Copy link
Member

saghul commented Apr 3, 2023

Hello everyone! We are using self-managed deploy of jitsi and trying to implement whiteboard. Using this repo https://github.com/jitsi/excalidraw-backend and kubernetes - we can access whiteboard by button, but cannot collaborate (everyone see only their whiteboard, not shared). Release of jitsi - stable-8319. Only difference from https://github.com/jitsi/excalidraw-backend - is changing tcp port from 80 to 9095.

Please use our community to ask such questions.

@saghul
Copy link
Member

saghul commented Apr 3, 2023

Closing since the there has been no follow-up to the original issue.

@saghul saghul closed this as completed Apr 3, 2023
@cod3r0k
Copy link

cod3r0k commented May 31, 2024

What should we do if whiteboard is not sync? @saghul @zerg11

@haseeb-neslit
Copy link

haseeb-neslit commented Jun 21, 2024

I am facing this same issue. I have setup everything but still the whiteboard isn't in sync with other participants. Every participant get to see his own whiteboard.

P.S. Also, I have tried running excalidraw-backend locally and using ngrok, used its SSL url. Still no success :(

@saghul

@saghul
Copy link
Member

saghul commented Jun 21, 2024

Do you have the room metadata plugin enabled, and the backend running? Any errors in the Network tab in developer tools?

@cod3r0k
Copy link

cod3r0k commented Jun 21, 2024

Do you have the room metadata plugin enabled, and the backend running? Any errors in the Network tab in developer tools?
Dear @saghul
How can we install that (room metadata plugin)?

@saghul
Copy link
Member

saghul commented Jun 21, 2024

How did you install Jitsi Meet on your servers? Docker? The Debian setup?

@haseeb-neslit
Copy link

@saghul My bad... Actually the plugins were all configured correctly. But my jitsi setup is running though docker on EC2. And I was trying to connect to locally running excalidraw-backend with the help of ngrok which jitsi-web would not connect to. So, i deployed my excalidraw-backend server separately and passed its url to my jitsi docker. Now, it works perfectly!

A huge thanks!

@cod3r0k
Copy link

cod3r0k commented Jun 22, 2024

How did you install Jitsi Meet on your servers? Docker? The Debian setup?

Dear @saghul and @haseeb-neslit
I installed Jitsi as a Docker container. Could you please guide me on how to install the important plugin? Isn't it installed by default?

@saghul
Copy link
Member

saghul commented Jun 22, 2024

The room metadata plugin is already enabled in the Docker setup.

@cod3r0k
Copy link

cod3r0k commented Jun 22, 2024

The room metadata plugin is already enabled in the Docker setup.

Thanks. If we have a problem, how can we check that?

@cod3r0k
Copy link

cod3r0k commented Jun 23, 2024

The room metadata plugin is already enabled in the Docker setup.

Thanks. If we have a problem, how can we check that?

I just create a file whiteboard.yml as below:

version: '3.5'
services:
  whiteboard:
      image: tgrl/excalidraw-backend:latest
      container_name: whiteboard
      restart: ${RESTART_POLICY:-unless-stopped}
      depends_on:
           - web
      networks:
         meet.jitsi:
             aliases:
                - ${WHITEBOARD_DOMAIN:-whiteboard.meet.jitsi}

add sth in .env:


WHITEBOARD_ENABLED=1
WHITEBOARD_DOMAIN=whiteboard.meet.jitsi
WHITEBOARD_COLLAB_SERVER_PUBLIC_URL=https://my.domain.com

do i need to set some other options?

with this setting, i dont have a sync whiteboard

@ildar
Copy link

ildar commented Jun 24, 2024 via email

@saghul
Copy link
Member

saghul commented Jun 24, 2024

I see the problem on meet.jit.si . Is THAT missing some plugin?

That should JUst Work. Can you reproduce it consistently? Do you see any errors in the console? What about the Network tab?

@ildar
Copy link

ildar commented Jul 1, 2024 via email

@tbasilici
Copy link

we have a vanilla docker installation on our server with an nginx reverse proxy in front, followed the instruction to the letter and docker-compose the whiteboard.yml too, the whiteboards do work but they're not shared, each user seems to have its own.

The metadata plugin is set up, the nginx config and the tweaks to make it work are in place as per the handbook, I'm running out of things to try... Any help would be much apreciated.

@saghul
Copy link
Member

saghul commented Dec 2, 2024

Anything in the prosody error logs? What about the whiteboard backend?

@tbasilici
Copy link

it's a vanilla installation from the docker setup.

this is docker ps:

CONTAINER ID   IMAGE                         COMMAND                  CREATED        STATUS        PORTS                                                                            NAMES
954a5bd86780   jitsi/web:stable-9823         "/init"                  25 hours ago   Up 25 hours   0.0.0.0:8000->80/tcp, :::8000->80/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp   jitsi-docker-jitsi-meet-19078a9_web_1
b45a230b8e3c   jitsi/excalidraw-backend:21   "docker-entrypoint.s…"   29 hours ago   Up 25 hours   80/tcp, 9090/tcp                                                                 jitsi-docker-jitsi-meet-19078a9_whiteboard_1
58a6a4350835   jitsi/jibri:stable-9823       "/init"                  29 hours ago   Up 25 hours                                                                                    jitsi-docker-jitsi-meet-19078a9_jibri_1
59545fc05908   jitsi/jvb:stable-9823         "/init"                  29 hours ago   Up 25 hours   127.0.0.1:8080->8080/tcp, 0.0.0.0:10000->10000/udp, :::10000->10000/udp          jitsi-docker-jitsi-meet-19078a9_jvb_1
f5f8a71084c6   jitsi/jicofo:stable-9823      "/init"                  29 hours ago   Up 25 hours   127.0.0.1:8888->8888/tcp                                                         jitsi-docker-jitsi-meet-19078a9_jicofo_1
a65f520e19d2   jitsi/jigasi:stable-9823      "/init"                  29 hours ago   Up 25 hours                                                                                    jitsi-docker-jitsi-meet-19078a9_transcriber_1
d0623d8478e0   jitsi/prosody:stable-9823     "/init"                  29 hours ago   Up 25 hours   5222/tcp, 5269/tcp, 5280/tcp, 5347/tcp                                           jitsi-docker-jitsi-meet-19078a9_prosody_1

these are the notable linse for the .env (there is an nginx reverse proxy):

WHITEBOARD_COLLAB_SERVER_URL_BASE=http://jitsi-docker-jitsi-meet-19078a9_whiteboard_1
DISABLE_HTTPS=1
ENABLE_HTTP_REDIRECT=0
ENABLE_LETS_ENCRYPT=0

this is the nginx vhost conf:

server {
    listen 443      ssl http2;
    listen [::]:443 ssl http2;
    server_name myserver.tld;

    ssl_certificate /etc/letsencrypt/whatever;
    ssl_certificate_key /etc/letsencrypt/whatever;

 location / {
     proxy_pass http://127.0.0.1:8000;
     proxy_set_header X-Forwarded-For $remote_addr;
     proxy_set_header Host $http_host;
 }
location /xmpp-websocket {
    proxy_pass http://localhost:8000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
location /colibri-ws {
    proxy_pass http://localhost:8000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
}

prosody logs:

prosody_1  | 2024-12-02T15:37:40.486797099Z 2024-12-02 15:37:40 startup             info	Hello and welcome to Prosody version 0.12.4
prosody_1  | 2024-12-02T15:37:40.535551400Z 2024-12-02 15:37:40 startup             info	Prosody is using the epoll backend for connection handling
prosody_1  | 2024-12-02T15:37:40.549972096Z 2024-12-02 15:37:40 focus.meet.jitsi:tls  info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.604195744Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper  info	Loading mod_muc_domain_mapper for host focus.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.605964915Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper  info	Loading mod_muc_domain_mapper for host muc.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.615947555Z 2024-12-02 15:37:40 muc.meet.jitsi:tls                info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.617707036Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper  info	Loading mod_muc_domain_mapper for host lobby.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.662948537Z 2024-12-02 15:37:40 lobby.meet.jitsi:tls              info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.669168114Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper  info	Loading mod_muc_domain_mapper for host speakerstats.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.672208309Z 2024-12-02 15:37:40 speakerstats.meet.jitsi:speakerstats_component  info	Starting speakerstats for muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.676487414Z 2024-12-02 15:37:40 speakerstats.meet.jitsi:speakerstats_component  info	Conference component loaded muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.676604604Z 2024-12-02 15:37:40 speakerstats.meet.jitsi:speakerstats_component  info	Hook to muc events on muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.676648820Z 2024-12-02 15:37:40 speakerstats.meet.jitsi:speakerstats_component  info	Main muc service table: 0x55b671672b20
prosody_1  | 2024-12-02T15:37:40.676764206Z 2024-12-02 15:37:40 speakerstats.meet.jitsi:speakerstats_component  info	No host/component found, will wait for it: breakout.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.687683268Z 2024-12-02 15:37:40 speakerstats.meet.jitsi:tls                     info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.691061561Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper                info	Loading mod_muc_domain_mapper for host breakout.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.691375069Z 2024-12-02 15:37:40 speakerstats.meet.jitsi:speakerstats_component  info	Breakout component loaded breakout.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.720939704Z 2024-12-02 15:37:40 speakerstats.meet.jitsi:speakerstats_component  info	Hook to muc events on breakout.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.731791690Z 2024-12-02 15:37:40 breakout.meet.jitsi:tls                         info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.737177542Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper                info	Loading mod_muc_domain_mapper for host conferenceduration.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.739189923Z 2024-12-02 15:37:40 conferenceduration.meet.jitsi:conference_duration_component  info	Starting conference duration timer for muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.749260657Z 2024-12-02 15:37:40 conferenceduration.meet.jitsi:tls                            info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.753755067Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper                             info	Loading mod_muc_domain_mapper for host metadata.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.760766674Z 2024-12-02 15:37:40 metadata.meet.jitsi:room_metadata_component                  info	Starting room metadata for muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.760921267Z 2024-12-02 15:37:40 metadata.meet.jitsi:room_metadata_component                  info	Hook to muc events on muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.761096796Z 2024-12-02 15:37:40 metadata.meet.jitsi:room_metadata_component                  info	Hook to muc events on breakout.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.766660622Z 2024-12-02 15:37:40 metadata.meet.jitsi:tls                                      info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.769788959Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper                             info	Loading mod_muc_domain_mapper for host avmoderation.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.771854770Z 2024-12-02 15:37:40 avmoderation.meet.jitsi:av_moderation_component              info	Starting av_moderation for muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.772063128Z 2024-12-02 15:37:40 avmoderation.meet.jitsi:av_moderation_component              info	Hook to muc events on muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.777530874Z 2024-12-02 15:37:40 avmoderation.meet.jitsi:tls                                  info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.780705820Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper                             info	Loading mod_muc_domain_mapper for host endconference.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.782679159Z 2024-12-02 15:37:40 endconference.meet.jitsi:end_conference                      info	Starting end_conference for muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.794599107Z 2024-12-02 15:37:40 endconference.meet.jitsi:tls                                 info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.797731801Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper                             info	Loading mod_muc_domain_mapper for host internal-muc.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.824486469Z 2024-12-02 15:37:40 internal-muc.meet.jitsi:tls                                  info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.829143865Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper                             info	Loading mod_muc_domain_mapper for host hidden.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.832596909Z 2024-12-02 15:37:40 portmanager                                                  info	Activated service 'c2s' on [*]:5222, [::]:5222
prosody_1  | 2024-12-02T15:37:40.837703012Z 2024-12-02 15:37:40 portmanager                                                  info	Activated service 'c2s_direct_tls' on no ports
prosody_1  | 2024-12-02T15:37:40.837991969Z 2024-12-02 15:37:40 portmanager                                                  info	Activated service 'legacy_ssl' on no ports
prosody_1  | 2024-12-02T15:37:40.857015227Z 2024-12-02 15:37:40 hidden.meet.jitsi:tls                                        info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.862146290Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper                             info	Loading mod_muc_domain_mapper for host auth.meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.876635921Z 2024-12-02 15:37:40 auth.meet.jitsi:tls                                          info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.889783795Z 2024-12-02 15:37:40 muc.meet.jitsi:muc_domain_mapper                             info	Loading mod_muc_domain_mapper for host meet.jitsi!
prosody_1  | 2024-12-02T15:37:40.898441390Z 2024-12-02 15:37:40 meet.jitsi:muc_lobby_rooms                                   info	Lobby component loaded lobby.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.906883792Z 2024-12-02 15:37:40 meet.jitsi:tls                                               info	Certificates loaded
prosody_1  | 2024-12-02T15:37:40.927168766Z 2024-12-02 15:37:40 mod_http                                                     error	Not listening on any ports, 'health' will be unreachable
prosody_1  | 2024-12-02T15:37:40.927813435Z 2024-12-02 15:37:40 portmanager                                                  info	Activated service 'http' on [*]:5280, [::]:5280
prosody_1  | 2024-12-02T15:37:40.928257410Z 2024-12-02 15:37:40 portmanager                                                  info	Activated service 'https' on no ports
prosody_1  | 2024-12-02T15:37:40.928711290Z 2024-12-02 15:37:40 meet.jitsi:http                                              info	Serving 'websocket' at http://meet.jitsi:5280/xmpp-websocket
prosody_1  | 2024-12-02T15:37:40.930510821Z 2024-12-02 15:37:40 meet.jitsi:room_destroy                                      info	loaded
prosody_1  | 2024-12-02T15:37:40.932152643Z 2024-12-02 15:37:40 meet.jitsi:muc_breakout_rooms                                info	Breakout rooms component created breakout.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.932461810Z 2024-12-02 15:37:40 meet.jitsi:muc_breakout_rooms                                info	Hook to muc events on breakout.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.932699293Z 2024-12-02 15:37:40 meet.jitsi:muc_breakout_rooms                                info	Hook to muc events on muc.meet.jitsi
prosody_1  | 2024-12-02T15:37:40.946529377Z 2024-12-02 15:37:40 meet.jitsi:http                                              info	Serving 'bosh' at http://meet.jitsi:5280/http-bind
prosody_1  | 2024-12-02T15:37:44.229846272Z 2024-12-02 15:37:44 c2s55b671efde40                                              info	Client connected
prosody_1  | 2024-12-02T15:37:45.067314460Z 2024-12-02 15:37:45 c2s55b671efde40                                              info	Stream encrypted (TLSv1.3 with TLS_AES_256_GCM_SHA384)
prosody_1  | 2024-12-02T15:37:45.593346983Z 2024-12-02 15:37:45 c2s55b671efde40                                              info	Authenticated as [email protected]
prosody_1  | 2024-12-02T15:37:45.593387289Z 2024-12-02 15:37:45 auth.meet.jitsi:limits_exception                             info	Setting stanza size limits for [email protected] to 10485760
prosody_1  | 2024-12-02T15:37:46.059175062Z 2024-12-02 15:37:46 c2s55b671f66a30                                              info	Client connected
prosody_1  | 2024-12-02T15:37:46.554898951Z 2024-12-02 15:37:46 c2s55b671f69330                                              info	Client connected
prosody_1  | 2024-12-02T15:37:46.889458999Z 2024-12-02 15:37:46 c2s55b671f69330                                              info	Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)
prosody_1  | 2024-12-02T15:37:46.901292144Z 2024-12-02 15:37:46 c2s55b671f66a30                                              info	Stream encrypted (TLSv1.3 with TLS_AES_256_GCM_SHA384)
prosody_1  | 2024-12-02T15:37:47.115131694Z 2024-12-02 15:37:47 c2s55b671f69330                                              info	Authenticated as [email protected]
prosody_1  | 2024-12-02T15:37:47.240355280Z 2024-12-02 15:37:47 c2s55b671f66a30                                              info	Authenticated as [email protected]
prosody_1  | 2024-12-02T15:37:47.240399429Z 2024-12-02 15:37:47 auth.meet.jitsi:limits_exception                             info	Setting stanza size limits for [email protected] to 10485760
prosody_1  | 2024-12-02T15:37:49.173696804Z 2024-12-02 15:37:49 c2s55b6720176c0                                              info	Client connected
prosody_1  | 2024-12-02T15:37:49.382833245Z 2024-12-02 15:37:49 c2s55b6720176c0                                              info	Stream encrypted (TLSv1.3 with TLS_AES_256_GCM_SHA384)
prosody_1  | 2024-12-02T15:37:49.549590525Z 2024-12-02 15:37:49 c2s55b6720176c0                                              info	Authenticated as [email protected]
prosody_1  | 2024-12-02T15:39:40.874034010Z 2024-12-02 15:39:40 c2s55b671e92430                                              info	Client connected
prosody_1  | 2024-12-02T15:39:40.984064969Z 2024-12-02 15:39:40 c2s55b671e92430                                              info	Authenticated as [email protected]
prosody_1  | 2024-12-02T15:40:39.525109654Z 2024-12-02 15:40:39 c2s55b672359030                                              info	Client connected

re. the whiteboard backend, it is our understanding that this is provided by the excalidraw-backend, are we wrong?

thanks a lot for your help

@saghul
Copy link
Member

saghul commented Dec 4, 2024

Leave the collab base URL as the default, Docker knows how to resolve that hostname.

@maymage
Copy link
Author

maymage commented Dec 9, 2024

Closing since the there has been no follow-up to the original issue.

Well, the issue persisted the past two years or so Chromium-Chromium, but @saghul could not reproduce. So.. this is that. Time to reopen?

@saghul
Copy link
Member

saghul commented Dec 9, 2024

I don't understand how reopening helps. The last one to post has an invalid config.

@tbasilici
Copy link

tried with the collab base URL as the default, nothing changes. Apart from that is it my config that is invalid?!

@saghul
Copy link
Member

saghul commented Dec 15, 2024

The base URL was incorrect.

I suggest you first try it without the reverse proxy setup, to rule out it as a problem.

You will need to add a special route for the Excalidraw backend since it's also a WebSocket connection.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants