BigPizzaV3/CodexPlusPlus · error · anyhow::Error

provider target discovery task failed: {error}

Error message

provider target discovery task failed: {error}

What it means

Wrapped failure thrown by the load_provider_sync_targets Tauri command when the spawn_blocking task around codex_plus_data::load_provider_sync_targets fails at the task level (JoinError), formatted as "provider target discovery task failed: {error}". Means the blocking wrapper died (panic/cancellation); a clean domain error from the discovery itself is returned by the inner call.

Source

Thrown at apps/codex-plus-manager/src-tauri/src/commands.rs:2829

    let key = key.trim();
    if key.is_empty() { None } else { Some(key) }
}

fn ensure_text_newline(value: &str) -> String {
    if value.trim().is_empty() {
        String::new()
    } else {
        format!("{}\n", value.trim_end())
    }
}

#[tauri::command]
pub async fn load_provider_sync_targets() -> CommandResult<Value> {
    let settings = SettingsStore::default().load().unwrap_or_default();
    let result =
        tauri::async_runtime::spawn_blocking(|| codex_plus_data::load_provider_sync_targets(None))
            .await
            .map_err(|error| anyhow::anyhow!("provider target discovery task failed: {error}"));
    match result {
        Ok(mut targets) => {
            let manual = settings
                .provider_sync_manual_providers
                .iter()
                .chain(settings.provider_sync_saved_providers.iter())
                .filter_map(|value| {
                    let trimmed = value.trim();
                    if trimmed.is_empty() {
                        None
                    } else {
                        Some(trimmed.to_string())
                    }
                })
                .collect::<Vec<_>>();
            merge_manual_provider_sync_targets(&mut targets, &manual, &settings);
            ok(
                "Provider 同步目标已加载。",

View on GitHub (pinned to f2074595a2)

Solutions

  1. 查看任务 panic 日志定位崩溃点
  2. 确认 settings 与本地数据文件可读
  3. 重试加载
  4. 修复 load_provider_sync_targets 内的 unwrap 路径
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at apps/codex-plus-manager/src-tauri/src/commands.rs:2829 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23). Data as JSON: /api/errors/bee161bc26f0d155. Report an issue: GitHub.