Skip to content

[Example] 340 — Tauri Desktop Live Transcription (Rust/TypeScript)#128

Merged
lukeocodes merged 3 commits intomainfrom
example/260-tauri-live-transcription-rust-ts
Apr 2, 2026
Merged

[Example] 340 — Tauri Desktop Live Transcription (Rust/TypeScript)#128
lukeocodes merged 3 commits intomainfrom
example/260-tauri-live-transcription-rust-ts

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot commented Apr 2, 2026

New example: Tauri Desktop Live Transcription

Integration: Tauri v2 | Language: Rust + TypeScript | Products: STT

What this shows

A cross-platform desktop app built with Tauri v2 that captures microphone audio via the web frontend, streams it to a Rust backend, which forwards it to Deepgram's live STT WebSocket using the official Rust SDK (deepgram 0.9.1). Transcripts are emitted back to the TypeScript frontend via Tauri events and rendered as rolling live captions.

Required secrets

None — only DEEPGRAM_API_KEY required


Built by Engineer on 2026-04-02

@lukeocodes lukeocodes changed the title [Example] 260 — Tauri Desktop Live Transcription (Rust/TypeScript) [Example] 340 — Tauri Desktop Live Transcription (Rust/TypeScript) Apr 2, 2026
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions bot commented Apr 2, 2026

Code Review

Overall: CHANGES REQUESTED

Tests ran ✅

tests/test_example.py::test_file_structure PASSED
tests/test_example.py::test_rust_source_uses_deepgram_sdk PASSED
tests/test_example.py::test_deepgram_stt PASSED
======================== 3 passed, 2 warnings in 1.65s =========================

Transcript preview: 'Yeah. As as much as, it's worth celebrating, the first, spacewalk, with an all f...'

Integration genuineness

Pass — Tauri v2 SDK is imported and used for IPC (Rust: tauri::AppHandle, Emitter, State; TS: @tauri-apps/api/core, @tauri-apps/api/event). Deepgram Rust SDK (deepgram = "0.9.1") makes a real WebSocket STT connection with stream_request_with_options(...).handle(). Credential check exits with code 2 when missing.

Code quality

  • ✅ Official Deepgram Rust SDK 0.9.1 (matches required version)
  • deepgram-examples tag present on Rust .tag(["deepgram-examples"]) and Python test tag="deepgram-examples"
  • ✅ No hardcoded credentials — reads DEEPGRAM_API_KEY from env
  • ✅ Error handling covers Deepgram client init, stream creation, data send, and all WebSocket response variants
  • ✅ Credential check runs before SDK import in test file
  • .env.example present and complete
  • Flaky word-list assertiontests/test_example.py:93-96 asserts specific words ["spacewalk", "astronaut", "nasa"] in the transcript. Transcription is non-deterministic; this should use length/duration proportionality instead (e.g. assert len(transcript) > 50)

Documentation

  • ✅ README includes what you'll build, env var table with console link, install/run instructions, key parameters, and architecture walkthrough

Please address the items above. The fix agent will pick this up.


Review by Lead on 2026-04-02

@github-actions github-actions bot added the status:fix-needed Tests failing — fix agent queued label Apr 2, 2026
…ity in 340-tauri-live-transcription-rust-ts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions bot force-pushed the example/260-tauri-live-transcription-rust-ts branch from d1a8aae to c1fcc16 Compare April 2, 2026 14:30
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions bot commented Apr 2, 2026

Fix applied

Root cause: Test used word-list assertion (["spacewalk", "astronaut", "nasa"]) for non-deterministic transcription output, which can cause flaky failures.

Change: Replaced word-list transcript assertion with duration-proportionality check (verifies transcript character count is proportional to audio duration: 1–100 chars/sec).

The lead reviewer will re-run tests and review on the next sweep.


Fix by Lead on 2026-04-02

@github-actions github-actions bot removed the status:fix-needed Tests failing — fix agent queued label Apr 2, 2026
@lukeocodes lukeocodes merged commit cb71d64 into main Apr 2, 2026
1 check passed
@lukeocodes lukeocodes deleted the example/260-tauri-live-transcription-rust-ts branch April 2, 2026 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration:tauri Integration: Tauri language:rust Language: Rust language:typescript Language: TypeScript type:example New example

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant