Releases: rustemar/voice-keyboard
Releases · rustemar/voice-keyboard
Release list
v1.8.4 — Keep trying until your internet comes back
- Recordings that can't be transcribed now wait safely on the device and resend themselves automatically the moment a working internet connection returns — no more giving up after a few tries
- Waiting recordings survive closing the keyboard, switching apps, and even restarting the phone or the app; nothing is deleted until it has actually been sent
- The keyboard now checks for a real connection before sending and no longer hangs for minutes trying to reach a dead network
v1.8.3 — Don't lose recordings when the network drops
- Failed transcriptions are now retried automatically (3 attempts with a short backoff), so a brief Wi-Fi↔mobile hand-off no longer eats your dictation
- If a recording still can't be sent, it's kept instead of discarded: a red counter and "resend" button appear under the backspace key — tap it once the connection is back to transcribe everything that was waiting
- Permanent errors (wrong API key) stop retrying immediately but the recording is still kept, so you can fix the key and resend
v1.8.2 — Strip trailing "Субтитры создавал X" hallucinations
- Removes Whisper end-card credits appended after legitimate speech (the classic "Субтитры создавал DimaTorzok" tail, plus "Subtitles by …", "Sous-titres réalisés par …", "Untertitelung im Auftrag des …", "Спасибо за просмотр", etc.)
- Real sentences that just happen to mention subtitles ("Я смотрел фильм. Субтитры были на английском.", "Включи субтитры пожалуйста.") pass through unchanged
- Initials in credit lines ("И. Иванов", "А. Сёмкин") are recognized as part of the credit, not a sentence boundary
v1.8.1 — Strip trailing notes from post-processing output
- Removes trailing "Note:" / "Footnote:" / "Disclaimer:" blocks (in any supported language) that post-processing sometimes appended after the actual text
- Removes stray separator lines (---, ***, ___) at the end of the output
- Strengthened the post-processing prompt to forbid these in the first place; the strip step is a safety net
v1.8.0 — Stop names list from leaking on silence
- Detects when Whisper returns the vocabulary list as a "transcription" of empty recordings, and drops it
- Catches more silence artifacts: subtitle credits with "Корректор/Редактор", thanks lines in German/French
- Stops eating real one-word dictation: short "Привет" / "Спасибо" / "Хорошо" pass through correctly
- Three-name dictations like "Альфия, Алсу, Рустем" are preserved while seven-name hallucinations are not
v1.7.9 — Better silence handling
- Catches more empty-recording artifacts: "Спасибо", "Vielen Dank", subtitle credit lines
- Stops echoes of the style hint from leaking into the field
- Short clips no longer get silently dropped — only long silent recordings are filtered
v1.7.8 — Fix vocabulary leak on silence
- Fixed: when nothing was said, post-processing could output a list of vocabulary words
- The vocabulary is now passed as a strict spelling reference, never as content to insert
v1.7.7 — Vocabulary in post-processing
- The custom vocabulary list is now also sent to the post-processing model (Fix, Shorten, Emoji, Rhyme, Translate) — rare names survive cleanup instead of being "corrected" to common spellings
- Terminal mode is excluded by design
v1.7.6 — Custom vocabulary
- New "Custom vocabulary" screen in settings — add names, technical terms, and other words that get misrecognized; the list is sent as a hint to the recognizer to improve accuracy
- New "Drop period for single-word output" toggle — useful for voice search in contacts or search boxes, where a trailing period is unwanted
- Both features can be edited at any time from Settings
v1.7.5 — Smarter text cleanup
- Fix and Shorten modes now handle self-corrections ("wait no", "не, я имел в виду") — only the corrected version is kept
- Better removal of false starts, stutters, and accidental repetitions
- Preserves technical terms, proper nouns, and the speaker's voice more reliably
- Empty or filler-only input now produces no output