Zackriya-Solutions/meetily · error

Unsupported Parakeet model: {}

Error message

Unsupported Parakeet model: {}

What it means

Thrown when a download is requested for a model name that has no entry in the engine's model spec table (find_model_spec returned None), i.e. the name is not one of the supported/registered Parakeet models. Note the engine first confirms the model is loaded/known in cache ('Model {} not found' is a different error); this error means the name is known to the cache layer but absent from the download spec registry, typically a name typo or a model added in a newer app version.

Source

Thrown at frontend/src-tauri/src/parakeet_engine/parakeet_engine.rs:644

        });
        self.download_model_detailed(model_name, detailed_callback).await
    }

    /// Download a catalogued Parakeet model with detailed progress.
    pub async fn download_model_detailed(
        &self,
        model_name: &str,
        progress_callback: Option<Box<dyn Fn(DownloadProgress) + Send>>,
    ) -> Result<()> {
        let model_info = self
            .available_models
            .read()
            .await
            .get(model_name)
            .cloned()
            .ok_or_else(|| anyhow!("Model {} not found", model_name))?;
        let spec = find_model_spec(model_name)
            .ok_or_else(|| anyhow!("Unsupported Parakeet model: {}", model_name))?;

        self.download_model_detailed_from_source(
            model_name,
            &model_info.path,
            spec.source_base_url,
            spec.artifacts,
            progress_callback,
        )
        .await
    }

    async fn reserve_active_download(&self, model_name: &str) -> Result<Arc<ActiveDownload>> {
        let mut active_downloads = self.active_downloads.lock().await;
        if active_downloads.downloads.contains_key(model_name) {
            return Err(anyhow!("Download already in progress for model: {}", model_name));
        }

        let (completion, _) = watch::channel(false);

View on GitHub (pinned to a2cb62e827)

Solutions

  1. Use the exact model name string from the app's supported model list/spec (check find_model_spec entries in parakeet_engine.rs)
  2. Log the requested model_name and compare it character-by-character with registered names (case and quantization suffix matter)
  3. Update the app so the Rust spec table and frontend model list are from the same version
  4. Add a spec entry in find_model_spec if you are intentionally adding a new supported model

Example fix

// before
await invoke('download_parakeet_model', { modelName: 'Parakeet-TDT-0.6B-v2' });
// after (exact registered name)
await invoke('download_parakeet_model', { modelName: 'parakeet-tdt-0.6b-v2' });
Defensive patterns

Strategy: type-guard

Validate before calling

const SUPPORTED_PARAKEET_MODELS = ['parakeet-tdt-0.6b-v2' /* keep in sync with find_model_spec */];
function isSupportedModel(name: string): boolean { return SUPPORTED_PARAKEET_MODELS.includes(name); }

Type guard

function isRegisteredParakeetModel(name: unknown): name is string { return typeof name === 'string' && SUPPORTED_PARAKEET_MODELS.includes(name); }

Try / catch

try {
  await invoke('download_parakeet_model', { modelName });
} catch (e) {
  if (String(e).includes('Unsupported Parakeet model')) {
    showError(`Model "${modelName}" is not supported by this app version. Update the app or pick a listed model.`);
  } else { throw e; }
}

Prevention

When it happens

Trigger: Calling download_model (or download_model_detailed) with a model_name string that doesn't exactly match a spec key, e.g. 'parakeet-tdt-0.6b-v2-int8' when only 'parakeet-tdt-0.6b-v2' (or a specific quantization key) is registered.

Common situations: Typo or case mismatch in the model name passed from the frontend invoke(); frontend hardcodes a model name from an older/newer app version than the Rust spec table; custom UI offering models the bundled spec doesn't support.

Related errors


AI-assisted analysis of Zackriya-Solutions/meetily@a2cb62e827 (2026-09-12). Data as JSON: /api/errors/ee41fb7a75a9c26d. Report an issue: GitHub.