-
Notifications
You must be signed in to change notification settings - Fork 0
systems tauri command bridge
Active contributors: Douwe de Vries, vriesd
The Tauri bridge exposes Rust operations to the React renderer through typed commands and generated TypeScript bindings. It keeps persistence and provider process logic out of the frontend.
| File | Purpose |
|---|---|
src-tauri/src/commands.rs |
Command module registry. |
src-tauri/src/commands/sessions.rs |
Session command handlers. |
src-tauri/src/commands/entries.rs |
Entry command handlers. |
src-tauri/src/commands/findings.rs |
Finding command handlers. |
src-tauri/src/commands/generation.rs |
Generation context and AI action commands. |
src-tauri/src/commands/files.rs |
Managed file and clipboard commands. |
src-tauri/src/commands/error.rs |
Structured command error mapping. |
src-tauri/src/specta_bindings.rs |
Command/type registration and TypeScript export. |
frontend/src/tauri.ts |
Frontend wrapper over generated invoke functions. |
frontend/src/tauriCommands.ts |
Stable frontend command helpers. |
Command handlers call AppState::with_service from src-tauri/src/settings.rs, which locks the core SessionService. Results are serialized back through Tauri and typed on the frontend through frontend/src/bindings.ts.
graph LR
View[React view] --> Wrapper[frontend/src/tauri.ts]
Wrapper --> Bindings[frontend/src/bindings.ts]
Bindings --> Command[src-tauri commands]
Command --> State[AppState::with_service]
State --> Core[SessionService]
The bridge connects Frontend shell to Rust core. Generation commands also start Generation jobs, and provider commands use Provider detection.
When adding a command, register it in src-tauri/src/specta_bindings.rs, implement it under src-tauri/src/commands, update frontend wrappers in frontend/src/tauri.ts if needed, and run bun run bindings:check or bun run bindings:generate.
- QA Scribe
- Download overview video (MP4)
- Architecture
- Getting started
- Glossary
- By the numbers
- Lore
- Fun facts
- Video overview
- How to contribute
- Development workflow
- Testing
- Debugging
- Patterns and conventions
- Tooling
- Applications
- Desktop app
- Smoke harness
- Systems
- Rust core
- Tauri command bridge
- Frontend shell
- Generation jobs
- Provider detection
- Release tooling
- Features
- Session capture
- Rich record editing
- Managed attachments
- AI-assisted Testware
- Settings and provider setup
- Crates
- qa-scribe-core
- qa-scribe-app
- Primitives
- Session
- Entry
- Finding
- Draft
- Evidence
- API
- Tauri commands
- Deployment
- Security
- Background
- Architecture decisions
- Migration context
- Cleanup opportunities
- TODOs and FIXMEs
- Complexity hotspots
- Reference
- Configuration
- Data models
- Dependencies