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

Aberta
#765 0 comentários 0 reações 1 responsável Ver no GitHub

Mantenedores costumam responder em até 1 dia

@LeanBitLab já está trabalhando nisso.

Desde 3/11/2026.

Avaliação

Esta issue ainda não foi avaliada.

Descrição

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
Linguagem predominante
Kotlin
Estrelas
1k
Forks
59
Merge médio
14h 9min
PRs com merge (30d)
56

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de LeanBitLab/LeanType

Todas as issues de LeanBitLab/LeanType

Issues semelhantes

Mais issues de Kotlin

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.