[Bug] Silence timeout doesn't close interface and start transcription; causes silent loss of dictated speech.

Offen
#765 0 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@LeanBitLab arbeitet bereits daran.

Seit 03.11.2026.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

bug

This issue involves the LeanType Voice Plugin, but I'm reporting it here because the silence-timeout setting and recording UI are managed through the main keyboard application.

Describe the bug

  1. When the configured silence timeout is reached, audio capture stops (unverified whether it actually does stop, however the result is the same regardless) without providing any clear indication to the user.
  2. The visual waveform does drop to a fraction of its previous amplitude, even when speaking resumes at normal volume. However, this is not a sufficiently noticeable change to meaningfully indicate that recording has stopped, unless the user is already aware of the issue and specifically watching for it. Even at its reduced amplitude, the waveform continues to animate, giving the impression that recording is still in progress.
  3. The recording interface / waveform remains active, does not close, and transcription does not begin until the user selects the "check" icon to close the recording interface and begin transcription, or the "X" icon to cancel recording and transcription. In fact, the recording interface appears to remain active indefinitely until the user selects one of these 2 options / buttons. Only when the user manually stops the recording and confirms it does transcription begin (as far as I'm aware, this is the only way to initiate transcription). The resulting transcription includes only the speech captured before the silence timeout was reached.

The silence timeout therefore fails to:

  1. Provide any indication that it has been reached.
  2. Close the recording interface and stop the waveform animation.
  3. Automatically initiate transcription of the captured audio, as is typical of voice input in other keyboards.

This creates a misleading recording state that can result in substantial, unnoticed loss of dictated speech.

To Reproduce

  1. Set the Voice Plugin's silence timeout to 5 seconds (or any length of time).
  2. Start dictation and speak normally.
  3. Pause for approximately 5 seconds (or previously selected length), then resume speaking.
  4. Observe that recording interface does not close, nor is there any clear indication of the timeout being reached, as the waveform remains active (albeit at a reduced amplitude).
  5. Continue dictating, then manually stop and confirm the recording and transcription.
  6. Observe that the resulting transcription contains only the speech preceding the silence timeout, omitting everything dictated afterward.

Expected behavior

  1. When the silence timeout is reached, recording and the recording interface including the waveform animation should stop as well, clearly indicating that audio is no longer being captured. The interface should not continue displaying an active recording interface and waveform while subsequent speech is discarded.

  2. When the silence timeout is reached and recording stops, transcription should start automatically without the requirement for further user prompting. This is the default / typical behaviour of voice input features in other commonly used keyboards.

Screenshots
None attached. The issue is most apparent during an active recording.

App version & Flavor

  • LeanType: v4.3.1, Offline
  • Voice Plugin: 1.0.1
  • Whisper Base (~57 MB)

Device Info

  • Model: Samsung Galaxy S22 Ultra
  • OS version: Android 16
  • OneUI VersionL 8.0
Vorherrschende Sprache
Kotlin
Sterne
1k
Forks
59
Ø Merge
14 Std. 9 Min.
Gemergte PRs (30 T.)
56

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus LeanBitLab/LeanType

Alle Issues in LeanBitLab/LeanType

Ähnliche Issues

Weitere Issues zu Kotlin

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.