Claude audio transcribe - not working#161
Conversation
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Greptile SummaryThis PR adds inline base64 audio support to the native Whisper transcription tool. The main changes are:
Confidence Score: 4/5The inline audio request path needs a resource-limit fix before merging. The existing download URL flow appears preserved, but the new inline path can allocate oversized JSON payloads before its audio-size guard runs, and the schema change may affect strict MCP clients that expect audio_file to be a plain object. crates/platform/src/native_mcp_tools/whisper_transcribe.rs
What T-Rex did
Important Files Changed
|
|
|
||
| #[derive(Debug, Deserialize)] | ||
| #[serde(deny_unknown_fields)] | ||
| struct InlineBase64AudioInput { |
There was a problem hiding this comment.
Inline Payload Allocates First
When an authorized MCP client sends a very large audio_data value, the request body is parsed into JSON and deserialized into this String before encoded_base64_may_exceed_decoded_limit runs. The new 8 MiB inline cap can still reject the call, but only after the gateway has already allocated and processed the oversized JSON payload, so repeated calls can exhaust memory or CPU before the guard is reached.
Artifacts
Repro: Rust harness source that exercises deserialization before the inline size guard
- Contains supporting evidence from the run (text/x-rust; charset=utf-8).
Repro: Cargo manifest used to compile and run the focused harness
- Contains supporting evidence from the run (text/toml; charset=utf-8).
Repro: harness run output showing owned String materialization before InlineSizeLimitExceeded
- Keeps the command output available without making the summary code-heavy.
Repro: full crate check output showing libclang blocked direct brain3-platform test execution
- Keeps the command output available without making the summary code-heavy.
No description provided.