Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[BUG] Normal dictation overlay hides before transcription and text insertion complete

Open
#676 4 comments 1 reaction 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

  • #793 by @so1omon563 — closed without merging

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
45/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
swift
Domain
desktop

Research direction

Start in Sources/Fluid/ContentView.swift at shouldHideOverlayOnStop in stopAndProcessTranscription(), and compare the stop path with commit b75c23f8. Check the linked pull request for prior context before making changes. Done means normal dictation keeps a visible processing state until transcription finishes and text is inserted, then hides the overlay.

Written by the indexing model from the issue text.

Description

bug
Describe the bug

When stopping normal dictation without AI post-processing, the recording overlay immediately disappears while transcription is still running.

This creates a period where there is no visible processing feedback, and the transcribed text appears later. Previously, the overlay remained visible in a “Transcribing”/loading state until the text was ready and inserted.

AI, Command, and Rewrite modes appear to retain their processing state correctly. The issue affects ordinary speech-to-text dictation.

Possible Reason

The behavior appears to come from Sources/Fluid/ContentView.swift, specifically the shouldHideOverlayOnStop branch in stopAndProcessTranscription(). For normal dictation, this branch calls:

self.hideOverlayAsync(reason: "stop_path")

before awaiting asr.stop(), so the overlay is hidden while final transcription is still running.

This behavior was introduced in commit b75c23f8, titled “perf: optimize audio capture startup.” Before that commit, the stop path entered the visible Transcribing processing state for normal dictation as well.

Reproduction steps
  1. Open FluidVoice.
  2. Select a speech-to-text model such as Cohere Transcribe.
  3. Use normal Dictation mode without AI post-processing.
  4. Focus a text field in another application, such as Apple Notes.
  5. Start dictation using the configured hotkey.
  6. Speak for a few seconds.
  7. Press the hotkey again to stop recording.
  8. Observe that the overlay immediately begins disappearing.
  9. Wait for transcription to finish and observe that the text is inserted after the overlay has already disappeared.
Expected behavior

Stop recording → show processing state → transcribe → insert text → hide overlay

Actual behavior

Stop recording → hide overlay → transcribe in background → insert text

App Version

1.6.5 (Build 16)

macOS Version

macOS 26.5.2 (Build 25F84)

Architecture

Apple Silicon

Logs or crash report
[17:54:16.120] [DEBUG] [ContentView] Hiding dictation overlay at stop path
[17:54:16.120] [INFO] [AppBenchmark] overlay_hide_request reason=stop_path
[17:54:16.120] [INFO] [ASRService] STOP() called - beginning shutdown sequence
[17:54:16.125] [INFO] [OverlayBenchmark] notch set_processing processing=false
[17:54:16.125] [INFO] [OverlayBenchmark] notch hide_animation_start
[17:54:16.702] [INFO] [AppBenchmark] overlay_hidden reason=stop_path
[17:54:17.109] [INFO] [ExternalCoreML] transcription finished
[17:54:17.110] [INFO] [AppBenchmark] text_ready chars=37
[17:54:17.113] [INFO] [TypingBenchmark] complete
Screenshots or screen recording

Screen Recording 2026-07-21 at 6.10.10 PM.mov

Dominant language
Swift
Stars
11.9k
Forks
863
Avg merge
1d 16h
Merged PRs (30d)
26

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from altic-dev/FluidVoice

All issues in altic-dev/FluidVoice

Similar issues

More Swift issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.