Skip to content

v1.40.19 - Deadlock Fix for Chunk Retranscription

Choose a tag to compare

@askidmobile askidmobile released this 13 Dec 20:10
· 91 commits to master since this release

Fixed

  • Deadlock on Chunk Retranscription: Fixed critical bug where UI didn't update after retranscribing a chunk
    • Problem: Chunk remained in "Распознаётся..." status with hourglass icon despite successful transcription
    • Root Cause: Deadlock in OnChunkTranscribed callback - callback was invoked from UpdateChunk* functions while holding locks, then tried to acquire same locks via applyExistingSpeakerRenames() → UpdateSpeakerName()
    • Solution: Moved callback invocation outside critical section in all three functions:
      • UpdateChunkTranscription
      • UpdateChunkStereoWithSegments
      • UpdateChunkWithDiarizedSegments

Technical

  • backend/session/manager.go: Refactored 3 functions to invoke callback after releasing locks
  • Pattern: data update under lock → release lock → invoke callback

Downloads

  • Apple Silicon (M1/M2/M3): AIWisper-1.40.19-arm64.dmg (uploading...)