Skip to content

Full-screen model loading overlay + mic gating during model load #22

Description

@Pivii

Context

Model loading on Android is a silent wait (2–8 s cold start depending on model). iOS v1.7.1 (#144) added a full-screen ModelLoadingOverlay: shimmer animation + cycling status text, mic taps cleanly gated while the model loads, overlay reused during onboarding, and it stays up until real work is observed (no premature dismissal).

What to do

  • Compose overlay shown while whisper.cpp / sherpa-onnx context is initializing (app side and IME side)
  • Gate the mic button against the loading state (visual disabled state, no dropped taps into the void)
  • Reuse in onboarding model download/prewarm step
  • Dismiss only when the engine is actually ready

Acceptance criteria

  • Tapping mic with a cold engine shows the overlay instead of a silent wait
  • No recording can start while loading; no stuck overlay on load failure (error state)
  • Onboarding uses the same component

iOS reference: dictus-ios v1.7.1 release notes, PR #164.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestios-parityiOS v1.7.1 parity catch-up

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions