Skip to content

fix(calls): VCモデレーターの発言承認とミュートでのスピーカー切り替えに対応 - #64

Draft
mattyatea wants to merge 1 commit into
developfrom
codex/calls-moderator-speaker-approval
Draft

mattyatea wants to merge 1 commit into
developfrom
codex/calls-moderator-speaker-approval

Conversation

@mattyatea

Copy link
Copy Markdown
Contributor

What

VC モデレーターもステージ通話の発言リクエストを承認・拒否し、非ホスト参加者のスピーカー/リスナーを切り替えられるようにします。

リスナーをスピーカーにするとミュート状態で開始し、受信中の音声接続を維持します。本人がミュートを解除すると、現在の役割に合わせて認証情報を更新し、既存の WebRTC 接続にマイクを追加します。設定文言と通話プロトコルの説明も更新しました。

Why

発言承認がホストに限定されており、VC モデレーターが対応できませんでした。また、スピーカー昇格時に接続を作り直すため、受信音声が途切れていました。

Additional info (optional)

flowchart LR
    A["ホスト/参加中のVCモデレーターが承認"] --> B["ミュート状態でスピーカーへ変更"]
    B --> C["既存の音声受信を継続"]
    C --> D["本人がミュート解除"]
    D --> E["現在の役割で認証情報を更新"]
    E --> F["既存接続にマイクを追加"]
Loading
  • PASS: pnpm --filter frontend test test/unit/calls-session.test.ts test/unit/calls-media-controller.test.ts(71 件)
  • PASS: pnpm --filter backend test --run test/unit/core/calls/CallsRoomService.ts test/unit/core/calls/CallsMediaEndpoints.ts(100 件)
  • PASS: node scripts/check-shipping.mjs --base origin/develop(変更ファイル lint、SPDX、locale safety)と git diff --check
  • FAIL(検証環境の制約): backend 型チェックは共有依存環境に @zip.js/zip.js がないため停止。frontend 型チェックは共有環境の misskey-js/i18n ビルド済み型と最新ソースの不一致、および既存の beforeunload テストの型エラーで停止しています。両パッケージの型チェック成功は未確認です。
  • SKIPPED: 実際のブラウザ間通話の確認、画面キャプチャ。

API の入力・出力スキーマと DB スキーマは変更していません。関連 Issue は検索しましたが見つからず、ユーザーからの修正依頼に基づく PR です。CHANGELOG は依頼がないため編集していません。

CHANGELOG 候補:VC モデレーターによる発言承認と、ミュート状態でのスムーズなスピーカー切り替えに対応。

Checklist

  • Read the contribution guide
  • Test working in a local environment
  • (If needed) Add story of storybook
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

Copilot AI balanced review requested due to automatic review settings October 4, 2026 21:37

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 19 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: Type4ny-Project/Misskey/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: dd44da4c-d335-4c9c-b729-acf7da9a117a
📥 Commits

Reviewing files that changed from the base of the PR and between a308af3 and 33b2766.

📒 Files selected for processing (13)
  • docs/calls-protocol.md
  • locales/ja-JP.yml
  • packages/backend/src/core/calls/CallsMediaService.ts
  • packages/backend/src/core/calls/CallsRoomService.ts
  • packages/backend/src/server/api/endpoints/calls/media/credential-refresh.ts
  • packages/backend/test/unit/core/calls/CallsMediaEndpoints.ts
  • packages/backend/test/unit/core/calls/CallsRoomService.ts
  • packages/frontend/src/components/MkCallsRoomWindow.vue
  • packages/frontend/src/utility/calls-media.ts
  • packages/frontend/src/utility/calls-session.ts
  • packages/frontend/test/unit/calls-media-controller.test.ts
  • packages/frontend/test/unit/calls-session.test.ts
  • packages/i18n/src/autogen/locale.ts
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

このPRによるapi.jsonの差分
差分はありません。
Get diff files from Workflow Page

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

🖥 Frontend Diagnostics Report

(No significant changes)

View details

Requests by resource type
Type Requests Encoded bytes
Base Head Δ Base Head Δ
Document 2 2 0 34 KB 34 KB 0 B
Script 151 151 0 2.4 MB 2.4 MB $\color{green}{\text{-1.2 KB}}$
Stylesheet 63 63 0 319 KB 319 KB 0 B
Fetch 28 28 0 47 KB 47 KB 0 B
Image 9 9 0 238 KB 238 KB 0 B
Font 2 2 0 129 KB 129 KB 0 B
Other 9 9 0 421 KB 421 KB $\color{green}{\text{-7 B}}$
V8 heap snapshot statistics
Metric @ Base @ Head Δ MAD
$\color{gray}{\rule{8pt}{8pt}}$ Total 12 MB
± 6 KB
12 MB
± 1.4 KB
$\text{-13 KB}$
$\text{-0.1\%}$
6.2 KB
$\color{orange}{\rule{8pt}{8pt}}$ Code 2.9 MB 2.9 MB $\text{-1.3 KB}$ 1.6 KB
$\color{red}{\rule{8pt}{8pt}}$ Strings 1.3 MB 1.3 MB $\text{-580 B}$ 156 B
$\color{cyan}{\rule{8pt}{8pt}}$ JS arrays 121 KB 121 KB $\text{-400 B}$ 0 B
$\color{green}{\rule{8pt}{8pt}}$ Typed arrays 0 B 0 B 0 B 0 B
$\color{yellow}{\rule{8pt}{8pt}}$ System objects 0 B 0 B 0 B 0 B
$\color{violet}{\rule{8pt}{8pt}}$ Other JS objs 2.1 MB 2.1 MB $\text{-320 B}$ 327 B
$\color{pink}{\rule{8pt}{8pt}}$ Other non-JS objs 5.4 MB 5.4 MB $\text{-3.6 KB}$ 4.7 KB

Download representative heap snapshot: base / head

📦 Bundle Stats

Chunk size diff (3 updated, 0 added, 0 removed)
Chunk Base Head Δ Δ (%)
(total) 6.1 MB 6.1 MB $\color{green}{\text{-1.2 KB}}$ $\text{-0\%}$
src/pages/settings/sounds.vue ja-JP/5DD2B7tRW-Cz784fmo.js → ja-JP/AHZn2Tn8I-DvIGeJrH.js
8.1 KB 7.4 KB $\text{-648 B}$ $\color{green}{\text{-8\%}}$
src/components/MkCallsCreateDialog.vue ja-JP/5DD2B7tRW-ONLX-_3r.js → ja-JP/AHZn2Tn8I-D76Pfc-w.js
1.9 KB 1.9 KB $\text{+29 B}$ $\color{orange}{\text{+1.6\%}}$
src/components/MkCallsRoomWindow.vue ja-JP/5DD2B7tRW-DqDYeNwR.js → ja-JP/AHZn2Tn8I-Dh_PQHC4.js
24 KB 24 KB $\text{-9 B}$ $\text{-0\%}$
(other generated chunks) 2.3 MB 2.3 MB $\text{-594 B}$ $\text{-0\%}$
Startup chunk size (0 updated, 0 added, 0 removed)
Chunk Base Head Δ Δ (%)
(total) 935 KB 935 KB $\text{-594 B}$ $\text{-0.1\%}$
(other generated chunks) 861 KB 860 KB $\text{-594 B}$ $\text{-0.1\%}$
(other) 74 KB 74 KB 0 B 0%

Startup chunks are the Vite entry for src/_boot_.ts and its static imports.

Bundles Modules Entries Imports Size
Static Dynamic Rendered Gzip Brotli
Base 506 3,004 22 11,213 364 11 MB 3 MB 2.6 MB
Head 506 3,004 22 11,212 364 11 MB 3 MB 2.6 MB
Δ 0 0 0 $\color{green}{\text{-1}}$ 0 $\color{green}{\text{-1.4 KB}}$ $\text{-289 B}$ $\text{-168 B}$
Δ (%) 0% 0% 0% $\text{-0\%}$ 0% $\text{-0\%}$ $\text{-0\%}$ $\text{-0\%}$

Open treemap HTML

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

⚙️ Backend Diagnostics Report

Memory: After GC

(No significant changes)

V8 Heap Snapshot Statistics

Metric @ Base @ Head Δ MAD
$\color{gray}{\rule{8pt}{8pt}}$ Total 90 MB
± 1.3 KB
90 MB
± 9.5 KB
$\text{-1.6 KB}$
$\text{-0\%}$
9.6 KB
$\color{orange}{\rule{8pt}{8pt}}$ Code 26 MB 26 MB $\text{-48 B}$ 7.2 KB
$\color{red}{\rule{8pt}{8pt}}$ Strings 31 MB 31 MB $\text{-760 B}$ 313 B
$\color{cyan}{\rule{8pt}{8pt}}$ JS arrays 4.9 MB 4.9 MB 0 B 0 B
$\color{green}{\rule{8pt}{8pt}}$ Typed arrays 566 KB 566 KB 0 B 0 B
$\color{yellow}{\rule{8pt}{8pt}}$ System objects 2.3 MB 2.3 MB 0 B 2.3 KB
$\color{violet}{\rule{8pt}{8pt}}$ Other JS objs 25 MB 25 MB $\text{+72 B}$ 109 B
$\color{pink}{\rule{8pt}{8pt}}$ Other non-JS objs 39 KB 39 KB 0 B 0 B

Download representative heap snapshot: base / head

@mattyatea
mattyatea marked this pull request as draft October 6, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants