fix(transcriber): fall back to engine default on a foreign model ID - #29
Merged
Conversation
A local provider read its model ID from config.json and hard-errored when that ID belonged to a different engine, which is the normal state right after any provider switch: the persisted ID is whatever the PREVIOUS provider had selected, and it reaches the new provider via SetModel before the tray ever offers this engine's model list. The result was that every recording failed with `unknown <engine> model "<other-engine-id>"` until the user happened to open the model menu and pick something. Fall back to the provider's own default instead. Falling back is safe because the default is by construction the right engine's file. What must never happen is loading another engine's weights, and that is still rejected. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
📋 PR Summary This PR changes local (on-device) transcription providers so that when Changes
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Independent of the Qwen POC (#28) — found while testing it, but it affects
Parakeet ↔ Whisper switching today.
The bug
A local provider reads its model ID from
config.jsonand hard-errors when thatID belongs to a different engine. That is the normal state right after any
provider switch: the persisted ID is whatever the previous provider had
selected, and it reaches the new provider via
SetModelbefore the tray everoffers this engine's model list.
Result: every recording fails with
unknown <engine> model "<other-engine-id>"until the user happens to open the model menu and pick something.
The fix
Fall back to the provider's own default instead of erroring
(
transcriber/local.go).Safe because the default is by construction the right engine's file. What must
never happen is loading another engine's weights — that is a multi-minute hang
rather than a clean error, per the note at
local.go:102— and that is stillrejected.
Tests pass; Parakeet and Whisper both verified transcribing after the change.
🤖 Generated with Claude Code