Skip to content

Feature: add on-device transcription for video circles - #178

Open
mvsrcdst wants to merge 2 commits into
Swiftgram:masterfrom
mvsrcdst:feature/video-circle-message-transcribe
Open

Feature: add on-device transcription for video circles#178
mvsrcdst wants to merge 2 commits into
Swiftgram:masterfrom
mvsrcdst:feature/video-circle-message-transcribe

Conversation

@mvsrcdst

@mvsrcdst mvsrcdst commented Jul 13, 2026

Copy link
Copy Markdown

Closes #144

Summary

  • Adds an on-device transcription for video circle messages, matching the existing behavior for voice messages
  • Extracts the shared fetch/convert/transcribe signal chain into SGLocalTranscription so both message types reuse the same code instead of duplicating it
  • Also fixes a bug: requiresOnDeviceRecognition was set from
    speechRecognizer.supportsOnDeviceRecognition, but that property
    always reads back true no matter what you assign it. So on-device
    recognition was forced for every locale. If the on-device model
    wasn't downloaded, transcription just failed instead of falling back
    to network recognition.

Screenshots

Video-circle message with transcribe button image
Video-circle message with transcribed text image

Testing

  • Built and ran on iOS 18.6/iOS 26.5 Simulators
  • Verified video circle transcribe button appears for non-Premium accounts
  • Verified transcription produces text
  • Verified via logging that on-device recognition is used when the locale's model is downloaded (requiresOnDeviceRecognition: true), confirming genuine offline operation
  • Verified voice-message transcription (which shares the same fixed code path) still works correctly
@mvsrcdst
mvsrcdst force-pushed the feature/video-circle-message-transcribe branch from 44ed49c to 19fdfca Compare August 4, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant