Skip to content

feat(signal): add native voice note support for Signal platform#1

Open
directorboint-arch wants to merge 1 commit intomainfrom
feature/signal-voice-clips
Open

feat(signal): add native voice note support for Signal platform#1
directorboint-arch wants to merge 1 commit intomainfrom
feature/signal-voice-clips

Conversation

@directorboint-arch
Copy link
Copy Markdown
Owner

Summary

Adds native voice note support for the Signal platform, enabling inline voice message playback instead of plain file attachments.

Changes

1. TTS output format for Signal

Added signal to the want_opus platform check in tools/tts_tool.py so TTS tools generate Opus (.ogg) audio for Signal, matching Telegram behavior.

2. Signal voice note delivery

Rewrote send_voice() in gateway/platforms/signal.py to pass voiceNote=true to signal-cli's JSON-RPC API. This makes Signal render audio as inline voice messages with waveform playback instead of plain file attachments.

3. Documentation

Updated website/docs/user-guide/messaging/signal.md to reflect that send_voice now delivers inline voice notes.

Motivation

Signal users were receiving TTS audio as file attachments instead of voice messages. This brings Signal parity with Telegram and WhatsApp for voice clip delivery.

- tools/tts_tool.py: Include 'signal' in want_opus check so TTS tools
  generate Opus (.ogg) audio for Signal just like Telegram, enabling
  proper voice message format.

- gateway/platforms/signal.py: Rewrite send_voice() to pass
  voiceNote=true to signal-cli's JSON-RPC API so Signal renders audio
  as inline voice messages with waveform playback instead of plain file
  attachments. Includes proper size validation and typing indicators.

- website/docs/user-guide/messaging/signal.md: Update docs to reflect
  that send_voice now delivers inline voice notes rather than attachments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant