feat(tts): add TTS buttons to PlanView and FilesView markdown preview with configurable input mode (#1443)
Add TTS controls to markdown preview surfaces so users can listen to plans and markdown files directly from the preview toolbar. Changes: - Add read-aloud / stop buttons to PlanView markdown preview. - Add read-aloud / stop buttons to FilesView markdown preview for markdown files. - Respect the existing showMessageTTSButtons preference in both preview views. - Add a persisted ttsInputMode setting with sanitized/raw modes. - Keep sanitized mode as the default for backward compatibility. - Allow raw markdown only for server TTS providers that can handle markdown. - Always use sanitized text for browser and macOS say fallback paths. - Add Voice Settings controls for TTS input mode. - Add i18n keys for the new preview buttons and setting labels. - Merge latest main and preserve newer FilesView toolbar/editor changes. Validation: - bun test packages/ui/src/stores/useConfigStore.test.ts packages/ui/src/components/chat/message/parts/ToolPart.test.ts packages/web/server/lib/tts/routes.test.js - bun run type-check - bun run lint - git diff --check --------- Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
committed by
GitHub
co-authored by
Bohdan Triapitsyn
parent
a6bf73b245
commit
ba95e13b36
@@ -1707,6 +1707,10 @@ export const dict: Record<I18nKey, string> = {
|
||||
"chat.messageBody.tts.stopSpeaking": "Dejar de hablar",
|
||||
"chat.messageBody.tts.readAloud": "Leer en voz alta",
|
||||
"chat.messageBody.tts.readAloudWithProvider": "Leer en voz alta ({provider} voz)",
|
||||
"planView.tts.readAloud": "Leer plan en voz alta",
|
||||
"planView.tts.stopSpeaking": "Detener lectura",
|
||||
"filesView.tts.readAloud": "Leer archivo en voz alta",
|
||||
"filesView.tts.stopSpeaking": "Detener lectura",
|
||||
"chat.messageBody.toast.noProject": "No se encontró proyecto para esta sesión",
|
||||
"chat.messageBody.toast.savePlanFailed": "No se pudo guardar el plan",
|
||||
"chat.messageBody.toast.planSaved": "Plan guardado",
|
||||
|
||||
Reference in New Issue
Block a user