#2930

fix(gateway): the older Mistral realtime model only takes the streaming delay

OpenDanielButler1wants to merge intofrom

https://entire.com/gh/phaseoteam/-/trails/163/changes/Phaseo/163

What changed

  • The relay now rejects language, context_bias and turn_detection in a session.update for mistral/voxtral-mini-transcribe-realtime, the older 2602 model, with relay.client_event_rejected. diarize was already rejected. target_streaming_delay_ms is still allowed.
  • The realtime guide says the older model accepts only target_streaming_delay_ms, in English and all 8 locales.

Why

Live tests through the gateway on 2026-10-29, after #3272 and #3373 deployed:

  • language: "en" on the 2602 model: Mistral replied Model 'voxtral-mini-transcribe-realtime-2602' does not support language forcing., then closed the upstream with 1011. The call ended as provider_closed after 0.9 s.
  • Each setting was then probed in its own session, with no audio, so each cost $0.
SettingRealtime 32602
languageacceptederror, connection closed
target_streaming_delay_msacceptedaccepted
context_biasaccepted"does not support context biasing"
turn_detection ({})accepted"does not support turn detection"
diarizeacceptedrejected by the relay already (Mistral's guide)

How

  • MISTRAL_FIELDS_UNSUPPORTED_BY_MODEL in core/mistral-realtime.ts lists the four fields for voxtral-mini-transcribe-realtime-2602.
  • sanitizeMistralSessionUpdate already rejects the whole update when any listed field is present. The session stays open.

Before and after

Method: the same session.update sent to a live 2602 session through the gateway.

BeforeAfter
session.update with language on 2602Mistral errors, call ends (provider_closed)relay.client_event_rejected, call continues
Settings that end a 2602 call30

Verification

  • pnpm exec vitest run src/core/realtime-mistral.test.ts: 13 passed. New cases check each field is rejected on 2602, still accepted on Realtime 3, and that the delay is accepted on 2602.
  • Docs: validate-locales valid (654 pages), translation freshness hashes recorded, check clean.
  • Live after #3373 (for context): Realtime 3 transcribed 8.74 s and settled at $0.001165; 2602 at $0.000874 when no setting was sent.
  • Not verified live: the relay rejection itself. That happens after deploy, and the unit tests cover it.

Model: Claude Opus 5.5 (effort unknown) · Harness: Claude Code in T3 Code

🤖 Generated with Claude Code

Activity

6
vercel[bot]1d ago

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated
phaseo ReadyPreviewOct 29, 2026 4:14pm UTC

coderabbitai[bot]1d ago

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 4 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
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 357cb84e-13ea-4827-9df5-a6a44e6ef6d8
Commits

Reviewing files that changed from the base of the PR and between 7cf419141310a9d6876ab025b88f9c92a1efed21 and 9f43a124748e3153fba6d5e692f5bee53855fb49.

Files selected for processing: 13
  • .changeset/realtime-mistral-2602-settings.md
  • apps/api/src/core/mistral-realtime.ts
  • apps/api/src/core/realtime-mistral.test.ts
  • apps/docs/ar/v1/guides/realtime-voice.mdx
  • apps/docs/de/v1/guides/realtime-voice.mdx
  • apps/docs/es/v1/guides/realtime-voice.mdx
  • apps/docs/fr/v1/guides/realtime-voice.mdx
  • apps/docs/hi/v1/guides/realtime-voice.mdx
  • apps/docs/ja/v1/guides/realtime-voice.mdx
  • apps/docs/pt-BR/v1/guides/realtime-voice.mdx
  • apps/docs/translation-status.json
  • apps/docs/v1/guides/realtime-voice.mdx
  • apps/docs/zh-Hans/v1/guides/realtime-voice.mdx
  • Autofix · 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.

chatgpt-codex-connector[bot]1d ago

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code Review✅ Completed 2026-10-29T16:10:46.575046Z9f43a12PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

github-actions[bot]1d ago

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None