{"record":{"id":"0de1bb65aa1c9aa5","repo":"tinyhumansai/openhuman","slug":"no-integration-client-user-not-signed-in","errorCode":null,"errorMessage":"no integration client — user not signed in","messagePattern":"no integration client — user not signed in","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/agent/learning/linkedin_enrichment.rs","lineNumber":118,"sourceCode":"        tracing::info!(\n            path = %profile_path.display(),\n            \"[linkedin_enrichment] PROFILE.md already exists — skipping pipeline\"\n        );\n        result\n            .log\n            .push(\"PROFILE.md already exists — skipping enrichment.\".into());\n        for id in [\"gmail-search\", \"apify-scrape\", \"build-profile\"] {\n            result.stages.push(EnrichmentStage {\n                id: id.into(),\n                status: StageStatus::Skipped,\n                detail: Some(\"PROFILE.md already on disk\".into()),\n            });\n        }\n        return Ok(result);\n    }\n\n    let client = build_client(config)\n        .ok_or_else(|| anyhow::anyhow!(\"no integration client — user not signed in\"))?;\n\n    // ── Stage 1: search Gmail for LinkedIn emails ───────────────────\n    let profile_url = if let Some(url) = preset_profile_url {\n        tracing::info!(url = %url, \"[linkedin_enrichment] stage 1: using preset profile URL\");\n        result\n            .log\n            .push(format!(\"Using preset LinkedIn profile: {url}\"));\n        result.stages.push(EnrichmentStage {\n            id: \"gmail-search\".into(),\n            status: StageStatus::Success,\n            detail: Some(url.clone()),\n        });\n        Some(url)\n    } else {\n        tracing::info!(\"[linkedin_enrichment] stage 1: searching Gmail for LinkedIn emails\");\n        result\n            .log\n            .push(\"Searching Gmail for LinkedIn emails...\".into());","sourceCodeStart":100,"sourceCodeEnd":136,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/a221052e0df5b1f7598fceba7329fd1af95d6699/src/openhuman/agent/learning/linkedin_enrichment.rs#L100-L136","documentation":"Error \"no integration client — user not signed in\" thrown in tinyhumansai/openhuman.","triggerScenarios":"Thrown at src/openhuman/agent/learning/linkedin_enrichment.rs:118 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a221052e0df5b1f7598fceba7329fd1af95d6699","analyzedAt":"2026-08-16T12:47:06.542Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}