Summary
Reported via user feedback email (Yachao, 2026-07-17).
With an OpenAI translation model and the subtitle display mode set to show both the original text and the translation, the original (source-language) line sometimes fails to appear. The translated text is usually displayed correctly; only the source line intermittently disappears. The reporter has not isolated whether it's OpenAI, the speech-recognition step, or Sokuji's subtitle display logic — needs investigation on our side.
Where to look
- OpenAI input transcription is asynchronous and optional. The source text for user speech comes from
conversation.item.input_audio_transcription.completed (and .failed) events, which arrive on their own schedule — often after the assistant's translated response has started or completed, and sometimes not at all. Handlers live in:
src/services/clients/OpenAIClient.ts
src/services/clients/OpenAIGAClient.ts
src/services/clients/OpenAIWebRTCClient.ts
Check whether a transcription that completes/fails late still updates the already-rendered subtitle entry, or is dropped once the item has scrolled/been superseded.
- Subtitle combine/window logic.
src/components/Subtitle/SubtitleApp.tsx (~line 120, "Combine items with source tagging") mirrors MainPanel's logic in simplified form — verify that an item whose transcript is still empty at render time gets re-rendered when the transcript later lands, in both the Electron subtitle window and the extension overlay.
- Wire-format stripping (extension path).
stripHeavyItemFields + windowing/throttling on the subtitle port intentionally trims item payloads — confirm the source transcript field always survives, including for items whose transcript arrives in a later update after the item left the forwarded window.
- Compare with MainPanel: does the same item show its original text in the main conversation view when the subtitle line is missing? That cleanly splits "transcription never arrived (OpenAI side)" from "subtitle display lost it (our side)".
Repro (as reported)
- Provider: OpenAI. Subtitle display mode: original + translation.
- Speak normally during a session.
- Occasionally a subtitle entry shows only the translated line; the source-language line is missing.
Frequency is intermittent; no exact trigger identified yet.
Summary
Reported via user feedback email (Yachao, 2026-07-17).
With an OpenAI translation model and the subtitle display mode set to show both the original text and the translation, the original (source-language) line sometimes fails to appear. The translated text is usually displayed correctly; only the source line intermittently disappears. The reporter has not isolated whether it's OpenAI, the speech-recognition step, or Sokuji's subtitle display logic — needs investigation on our side.
Where to look
conversation.item.input_audio_transcription.completed(and.failed) events, which arrive on their own schedule — often after the assistant's translated response has started or completed, and sometimes not at all. Handlers live in:src/services/clients/OpenAIClient.tssrc/services/clients/OpenAIGAClient.tssrc/services/clients/OpenAIWebRTCClient.tsCheck whether a transcription that completes/fails late still updates the already-rendered subtitle entry, or is dropped once the item has scrolled/been superseded.
src/components/Subtitle/SubtitleApp.tsx(~line 120, "Combine items with source tagging") mirrors MainPanel's logic in simplified form — verify that an item whose transcript is still empty at render time gets re-rendered when the transcript later lands, in both the Electron subtitle window and the extension overlay.stripHeavyItemFields+ windowing/throttling on the subtitle port intentionally trims item payloads — confirm the source transcript field always survives, including for items whose transcript arrives in a later update after the item left the forwarded window.Repro (as reported)
Frequency is intermittent; no exact trigger identified yet.