Voice: Discord-style voice and video rooms, now bundled with Discourse ๐ŸŽ™

Not misremembering, just old school :old_man:

This was added just 10 years ago in Mumble 1.3, when Mumble itself was over 10 years old.

It was the primary complaint about Mumble for a very long time.

5 ืœื™ื™ืงื™ื

I just played around with this and itโ€™s super cool! Wanted to give some initial feedback.

  • Volume for screenshare vs speech:

I tried this out, and doesnโ€™t show the other participants screenshare volume separately from their speech volume. It only shows one combined slider for both their voice and screenshare audio. Did I miss a slider or misunderstand? (My use case is being able to mute/lower the volume of someoneโ€™s game stream but still hear them talk.)

  • Small bug: when editing a room (ex: capitalizing the first letter of the room name), when I go back to edit it again, it doesnโ€™t show any edit option until I refresh the whole page. Maybe the client UI is forgetting I have permissions after applying the edit.
  • I am very appreciative of the IP privacy popup! Thank you for anticipating this concern :slight_smile:
  • On my system, my mic is very quiet and needs a lot of boost. This is a system issue on my side, but on Mumble (and I would assume Discord but itโ€™s been a while so I donโ€™t remember) I can apply a lot of manual gain to overcome this. I would suggest when disabling the automatic gain option, providing a manual gain knob with a looot of headroom for boosting (my normal raw background noise is -48db and speech is like -30db. In audacity this would be approx a 20db boost to get to normal range.)
  • Not due to Discourse, but has the same limitation that all linux webrtc screenshare has โ€“ namely, no audio screenshare on firefox, and chrome only supporting browser tab audio screenshare). So if I want to stream a game, I canโ€™t stream the audio from the game on linux due to browser limitations.
    • One clever workaround I saw another solution provide was to just expose an endpoint address I could point OBS to. (Maybe livekit already supports this, I have not set up the livekit server part yet)
  • I am really impressed with the subtitling feature! I donโ€™t have a use case yet for transcription part, but I can definitely see it being useful in business environments for note taking.
  • There is currently a UI challenge of visitors not knowing there are people in the chat rooms unless they scroll down โ€“ potentially a long way. On my install, itโ€™s more than a full page scroll due to all the links/categories/tags I have. This is especially true on mobile, which just doesnโ€™t surface the chat user list at all, unless they click on the menu bar. I might recommend some kind of top-right button for when chat is active (ex from mumble). Seeing that (1) or more in there is always my main cue to me that someone wants me to hop in the chat!

Anyway, great work on this โ€“ itโ€™s a huge step forward for Discourse and Iโ€™m very excited by it! :rocket:

6 ืœื™ื™ืงื™ื

Lots of great feedback, just want to highlight something

This has been my main challenge so far, and it reaches across platforms, as streaming my 7680x2160@240Hz gaming sessions via the browser, who lack hardware encoding is impossible.

So Iโ€™m exploring handling this, and features like global PTT, via a native desktop app, that can allow us to handle those integrations better.

6 ืœื™ื™ืงื™ื

Thank you; the native desktop app sounds intriguing, but please also support the existing open streaming standards since at least in my friend group, everyone already has OBS installed, trusts it, and knows how to point it somewhere. (Admittedly, this is more common among gamers than other less-technical users)

(Edit - just to be clear, the native app does also sound cool. Having all my forums in one UI would be handy)

ืœื™ื™ืง 1

In a way, I agree with you, meaning itโ€™s not Zoom. But I also allow myself to somewhat disagree because fortunately OBS is a standard used in many fields!

ืœื™ื™ืง 1

I had a small issue with the rebuild today because I had previously tested the plugin under the name โ€˜Resenhaโ€™, which, by the way, I was quite sad about when it was changed to โ€˜Voiceโ€™.

This solved my problem:

2 ืœื™ื™ืงื™ื

Now, about the plugin itself, I noticed โ€” and it might just be my impression because I rebuilt it after nearly two weeks with over 300 commits โ€” that something made me appear in the #who-is-online channel when I tested voice on my instance, even though the toggle was set to โ€˜Offlineโ€™. Is this expected?

This should be fixed soon: FIX: Do not overwrite permissions after editing - Pull Request #43496 - discourse/discourse - GitHub

3 ืœื™ื™ืงื™ื

Is it possible to provide in our hosted>about page>site activity>(say) 5 voice chats in the last 7 days? Or whatever wording is appropriate?

Our use case is to show as much activity to help in getting new members to join.

3 ืœื™ื™ืงื™ื

Could you invite groups to a voice room instead of individual users? I realize that gets messy on the Members Page if you have to remove someone whoโ€™s still in that group, etc.

Weโ€™re going to roll this out for some active customer-facing projects we have going on, but itโ€™s 17 groups with all different people :sweat_smile:

Yeah, this is basically the reason why it works like this.

If you want to gate the entire feature to members of those 17 groups thatโ€™s doable via the site setting, but the one time invite is per user (too easy to become spam amplification) and the room membership itself is per user (keeping it sync with groups would be a future improvement).

3 ืœื™ื™ืงื™ื

Totally fair. Doesnโ€™t appear to be a way to do this via API either :sadpanda:

Am I missing something with the invitation link method? I shared the link to a test account that is in the approved groups but Iโ€™m getting the Oops! That page doesnโ€™t exist or is private when I try to click it with my test user.

Update: Heck, even if I invite that user and see the voice channel on the sidebar, clicking the link takes me to that Oops page.

ืœื™ื™ืง 1

We handle some of this logic for adding and removing people to chat channels already, if the channel is associated with a private category.

Falco, I canโ€™t remember if we already have a way to associate a voice channel with a chat channel or not. I know we discussed that in the past with DMs. But that might be an approach here.

Alternatively, we could copy what weโ€™re doing for chat channels and allow for categories to act as the access control layer (though I know weโ€™ve often discussed removing that layer of indirection and allowing one to set access directly at the channel level).

  • set up a private category
  • create a chat channel for that category
  • enable voice in that chat channel (or create a voice channel for the category too)

If you also want to restrict the whole feature overall to a set of groups, I think thatโ€™d still need to be managed via the site setting. A workflow could help manage some level of automation or consistency checking for that, perhaps.

@martin this may have some overlap with the generic access control stuff youโ€™ve been working on.

It may be worth catching up with @awesomerobot about about making a broader push with that soon so we can think about how to apply that aspect of things more consistently throughout the app.

Thatโ€™s weird, are those test users in any weird, like in a trust level that doesnโ€™t allow access?

Yup, thatโ€™s on the roadmap.

Definitely wasnโ€™t a blocker to release, and itโ€™s such a convoluted part of the app that our efforts could be better used getting the core of audio and video right, but something I will follow up in the coming months.

4 ืœื™ื™ืงื™ื

Replied on dev, but the new ACL system should be great for this, rather than using the old convoluted permission-by-category-inheritence :slight_smile:

2 ืœื™ื™ืงื™ื

I donโ€™t believe so. I just shifted my test user up to TL3, so itโ€™s definitely not a TL restriction. Something about the invitation link itself seems broken. See below when accessing it through normal means (the link performs the same whether my user has access or not).

Unfortunately, these groups operate only via DMs, so thereโ€™s no per-category marriage to rely on.

I think sharing an invitation link in a DM will be sufficient once we figure out why itโ€™s not working :sweat_smile:

ืœื™ื™ืง 1

good suggestion. PR here that will add this.

4 ืœื™ื™ืงื™ื

I noticed that every time I join a voice room with room type set to open, the user automatically turns on their microphone. This also happens when a speaker joins a stage voice room. I wonder if itโ€™s possible to allow the administrator to set whether the microphone should be turned on automatically upon joining.

ืœื™ื™ืง 1

Wouldnโ€™t that be confusing?

The style of โ€œworkโ€ meeting apps like Zoom, Teams, Meet, have this when a participant threshold is crossed, but this was never a behavior in the school of apps we took inspiration from, like TeamSpeak, Ventrillo, Mumble, Discord, etc.

I feel like this extra step doesnโ€™t really have much prior art, and feels like an extra step that further complicates UX for newbies.

2 ืœื™ื™ืงื™ื