レビュー:コミュニティにDiscordスタイルのボイスルームを追加する 🎙

これはエンタープライズ専用ですか、それともプロフェッショナルでも実行できますか?

Discourseに「Professional」プランはありませんか?はい、これは#公式ではないため、最高レベルのプランであるEnterpriseでのみインストールできます。

えっ?あるんですか?!

出典: https://discourse.org/buy

「いいね!」 1

「Pro」を「Professional」と結びつけたことがないかもしれませんね…

「いいね!」 1

「Pro」は「Professional」の略記ではありませんか

その通りですが、ProfessionalBusiness より上位にあると期待していました(だから Pro という名前?)

@Falco 統合を完了しましたが、基本の WebRTC から SFU SDK を含むように変更する必要がありました。これは別の Docker コンテナを通じて実装しました。また、標準のサイドバーとは別に独自のインターフェースを作成し、大規模なコミュニティ向けの音声ディスカッション時にライブストリーミング機能を含めるところまで進めました。

開始と停止は、Discourse Web または Domniq - A Discourse Native Android+iOS App Preview から行えます。管理者制御やルーム制御もすべて利用可能です。

Discord 風のチャットには焦点を当てず、どちらかと言えばあなたのプラグインのコアから Clubhouse や X Spaces を参考にしてカスタマイズしましたが、クレジットは引き続きあなたに帰属させています。

「いいね!」 4

ビデオ機能を追加しました。画面共有およびウェブカメラの動画は、プラグイン内のサイト設定の背後で利用可能になりました。

「いいね!」 17

@Falco どれくらい早くホスト型フォーラムで試せるでしょうか?とても素晴らしいのですが、今は試せませんね :slight_smile:

公式ではないので、エンタープライズプランに加入するか、セルフホスティングする必要があります。

ESR 上で実行されているインスタンスとの互換性の問題があるようです。プラグインの読み込みに失敗し、以下のようなエラーが発生します。

Uncaught (in promise) Error: Could not find module discourse/blocks imported from discourse/plugins/resenha/discourse/components/resenha-anon-rooms-block
f loader.js:247
f loader.js:258
findDeps loader.js:168
f loader.js:262
findDeps loader.js:168
f loader.js:262
requireModule loader.js:24
iI app.js:228
iN app.js:251
start app.js:210
start app.js:225
start-app.js:19
loader.js:247:1

これにより、Horizon テーマのトピック一覧のレイアウトが崩れます。

ESR 版 Discourse で実験的なプラグインを使用することは、成功への道ではありません。

このプラグインを使用したい場合は、最新版をご利用ください。

「いいね!」 5

d-compatのようなメカニズムがあれば、こうした場合に旧バージョンのDiscourseも互換性を保てると期待していた!:sad_but_relieved_face:

このインスタンスでは最新バージョンへの移行は選択肢ではないので、プラグインは無効化されたままになるようです

「いいね!」 2

公式プラグインの製品環境ではそれらを用意していますが、私たちが公開するすべての実験的な機能にそれを求めるのは現実的ではありません。

「いいね!」 2

了解 :+1:

(20文字)

今日、このプラグインを使って @Falco と他の数人とちょっとチャットしました。楽しかったです!

@markvanlan と別の話題でチャットしているとき、彼のアバター横にマイクのアイコンがあるのに気づきました。そこで Watercooler チャンネルのチャットに参加して、あまり見ない顔を見ることができました。

Falco、ここで何をしているのか見てとても面白かったです。

「いいね!」 4

このプラグインについて、直近2週間で社内全員で集中的に取り組んだので、その成果をまとめました:

Resenhaの直近2週間のLLMサマリー

:sparkles: 新機能

  • ルーム内チャットの永続化 — ボイスルームをDiscourseのチャットチャンネルにリンクします。各セッションでリアクション、編集、アップロードを完備した本格的なスレッドが作成されます。設定可能なアイドルタイムアウト後に新しいスレッドに切り替わります。
  • 画面共有時の音声 — タブ音声とシステム音声は、マイクとは別の専用トラックで画面共有に付随して送信されます。ユーザーごとの音量、ミュート、ディフェン設定を尊重します。
  • 音声設定モーダル — 入力/出力デバイスの選択、ライブマイクレベルメーターの表示、ノイズゲートしきい値の設定が可能。設定はデバイスごとに保持され、通話中に再ネゴシエーションなしで適用されます。
  • リサイズ可能なドッキングウィジェット — 左上のハンドルでドラッグしてリサイズ可能(右下に固定)。サイズは保持されます。新しい最小化状態では「展開」と「退出」ボタンのみを表示。ウィジェットモードでもビデオストリームが正常に動作します。

:artist_palette: UX改善

  • サイドバーの参加者ステータスアイコン(ミュート/ディフェン/画面共有/カメラ/プッシュトゥトーク)は右端にまとめて表示され、発言中はアバター上に音声波形アニメーションが表示されます。
  • ボイスルームがフルスクリーンチャットサイドバーでも表示されるようになりました。
  • prioritize_username_in_uxサイト設定がビデオタイルと匿名ルームブロックで反映されます。
  • モバイルメニューのウィジェットz-indexを修正し、SEのリサイズハンドルを復元、ドックボタンに適切なariaLabelを追加しました。

:bug: バグ修正

  • フルスクリーン解除後、ビデオグリッドレイアウトがフルスクリーンサイズのまま固定される問題。
  • 非参加者ユーザーのサイドバー参加者数が変動する問題(ブロードキャストターゲット、Redis、クライアントクリーンアップ)。
  • Androidで音声フィードバックが機能しない問題(AudioContextを再生前に再開し、共有シングルトンでコンテキスト制限を回避)。
  • 初期ハンドシェイク後にピアが公開を開始した際、リモートビデオが表示されない問題。
  • 古くなった参加者ブロードキャストターゲット。

このプラグインをお使いの方は、最近の変更についてフィードバックをお寄せください。

「いいね!」 11

素晴らしい機能の追加ですね。これをイベントプラグインに適用することは可能でしょうか?イベントトピックでレンダリングされるフックを設定し、サイドバー外で完全表示にリダイレクトすることは可能でしょうか?

多くのフォーラムでは、Discourseでサイドバーを有効にしていないことに気づきました。代わりにヘッダーのドロップダウンを使用しています。これはResenhaにどのような影響を与えますか?既存のチャンネルやDMのドックと同様に、独自のチャットポップアウトインターフェースとして実装する予定はありますか?

「いいね!」 2

将来的には検討されるかもしれませんが、現時点ではそのような計画はありません。例えば、イベントの場所URLにResenhaルームがある場合、イベント開始5分前にアプリ内通知、プッシュ通知、メールを送信し、クリックすると/resenha/r/#{room.slug}に直接移動して、イベントルームにアクセスできるようにすることは考えられます。

正直なところ、わかりません。これは私の優先リストではかなり下の方です :laughing:

最近両方を追加しましたので、ポップアップウィジェットがあります:

そして、フルページビューがあります:

つまり、技術的にはリンクをユーザーが見つかりやすい場所に配置しておけば、いつでも使用可能です。

「いいね!」 4

デモをちょうどチェックしました。これは大きな飛躍ですね。本当に素晴らしい仕事です。以前投稿で共有した通り、大人数のグループの音声処理には LiveKit SDK を採用し、YouTube への配信は egress を通じた放送ページで行っています。新しいルームの全画面ビューはより堅牢に見えます。現在のアップデートが、私が「resenha」(注:ポルトガル語で激しい議論や活発な議論を指す)中に必要な継続性を保てるかどうか、もう少し詳しく調べてみます。