Conversation
Walkthrough変更概要
ChangesReceiver配信と発話セッション
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Client as messageReceiver
participant SSE as receiverEventStream
participant API as /api/v1/events
participant Gateway as messageGateway
Client->>SSE: Receiver SSEを購読
SSE->>API: 認証付きGETを実行
Gateway->>API: messagesまたはcommandsイベントを発行
API-->>SSE: SSEイベントを送信
SSE-->>Client: 対象種別の起床通知
Client->>Gateway: メッセージまたはコマンドを取得
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/components/messageReceiver.tsx`:
- Around line 638-646: Integrate the `safeFetchCommands` and `safeFetchMessages`
runners in `messageReceiver.tsx` into one coalesced runner for each Receiver,
ensuring command draining always completes before message draining, especially
for `interrupt_before_speak`. Update the `stop_requested` and `message_queued`
handling around the affected dispatch path to use this runner, and add
regression coverage with delayed command/message responses verifying commands
are applied before messages.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 1b8d8504-bf83-43af-9129-536d3d84c474
📒 Files selected for processing (13)
docs/external-presentation-api-spec.mddocs/receiver-registry-api-spec.mdsrc/__tests__/features/api/receiverEventStream.test.tssrc/__tests__/pages/api/v1/externalApi.test.tssrc/__tests__/pages/api/v1/externalApiValidation.test.tssrc/components/messageReceiver.tsxsrc/constants/appVersion.jsonsrc/features/api/messageGateway.tssrc/features/api/receiverEventStream.tssrc/features/chat/speechPipeline/speakMessageHandler.tssrc/pages/api/v1/events.tssrc/pages/api/v1/speak.tssrc/pages/send-message.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
新機能
/api/v1/speakにspeechSessionIdを追加し、ストリーミング生成した回答を複数リクエストへ分割しても、同じ発話セッションへ送信順で追加できるようにしました。message_queued、command_queued、stop_requestedを受信して対象データを即時取得できるようにしました。改善
speechSessionIdの発話は、priority: highの場合もFIFOを維持するようにしました。バグ修正
interrupt: trueの停止コマンドと後続発話をReceiverごとの単一runnerで直列処理し、通信順の逆転で新しい発話まで停止する競合を防ぎました。テスト
speechSessionIdの入力検証、同一セッションの送信順、イベント通知をカバーするAPIテストを追加・更新しました。ドキュメント・翻訳
speechSessionId、ライブSSEフレーム、通知後の取得契約、フォールバック条件を日本語・英語・中国語で反映し、docsのmainへマージしました。その他
2.70.0に更新しました。