Excalidraw decrypt data error

Hello, everyone.
Recently we setup new Excalidraw integration and it works well, but we discovered some problems - sometimes, while opening whiteboard, we get this error from Excalidrow - “Couldn’t drecrypt data”.
Furtherly digging in to the problem, I discover that this happends when non-moderator tries to start Whitebord. This user gets this error:

Firefox can’t establish a connection to the server at wss://our-domain/socket.io/?room=31af7b6f5c7a9c998b2004b9bd07bf53&EIO=3&transport=websocket

And also:

<setMetadata>: Cannot set room metadata - supported:true, moderator:false

Since Excalidraw integration use room_metadata prosody module, it seems like non-moderator have an ability to start whiteboard, but can’t set room metadata.
Is it a bug or is there a way to give non-moderators ability to set metadata or hide whiteboard button from non-moderators?

That’s a bug. You shouldn’t see the Whiteboard button if you are not a moderator and a moderator hasn’t opened it.

Hum, I cannot reproduce this on our alpha deployment. How are you trying to start the whiteboard as a non-moderator?

I’m on a latest stable release (2.0.7882 (2022-10-06)). Whiteboard button is available for everyone. And just to be clear - non-moderators can’t see buttons like “Recordings” or “Livestreaming”, so they are working as intended. Probably the same should work for Whiteboard.
According to config.js comments for buttons,

// Exceptions are
// “livestreaming” and “recording” which also require being a moderator and
// some other values in config.js to be enabled. Also, the “profile” button will
// not display for users with a JWT.

Or do I miss some option to hide this button from non-moderator?
Or may be, if you can’t reproduce it, it already fixed in new versions?

This is it probably?

I think it was merged the day last stable release came out, but after it came out.

Ah right, that must have been it.

And there is a new stable with that commit.

1 Like

That’s nice to hear!

I have the same error, but only on instances that dont have auth? it works fine on non anonymous instances
→ authentication = “anonymous”
→ is there something specific needed for those? the websocket “/socket.io/” is up and seems fine?

Start Conference → join with 2 People
person1 opens whiteboard → this is not displayed for person 2
if person 2 opens the whiteboard → the error “couldn’t decrypt data” appears

any hints were to start digging would be most welcome :slight_smile:

Are you running an instance with a fix?