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
@@ -1749,5 +1749,8 @@ export const settingsDict = {
|
||||
'settings.voice.page.tooltip.say': 'Natywne dla macOS. Szybkie, darmowe, offline.',
|
||||
'settings.voice.page.tooltip.sttBrowser': 'Web Speech API (Chrome/Edge). Darmowe, bez konfiguracji.',
|
||||
'settings.voice.page.tooltip.sttServer': 'Serwer Whisper zgodny z OpenAI. Lepsza dokładność, dowolny język.',
|
||||
'settings.voice.page.field.ttsInputMode': 'Tryb wejścia TTS',
|
||||
'settings.voice.page.field.ttsInputModeSanitized': 'Oczyszczony tekst',
|
||||
'settings.voice.page.field.ttsInputModeRaw': 'Surowy Markdown',
|
||||
'settings.window.description': 'Okno ustawień OpenChamber.',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user