{"record":{"id":"10e62b8bde316f2e","repo":"zeroclaw-labs/zeroclaw","slug":"slack-file-byte-upload-failed-status-sanitiz","errorCode":null,"errorMessage":"Slack file byte upload failed ({status}): {sanitized}","messagePattern":"Slack file byte upload failed \\((.+?)\\): (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-channels/src/slack.rs","lineNumber":1177,"sourceCode":"        let file_id = upload_body\n            .get(\"file_id\")\n            .and_then(|value| value.as_str())\n            .context(\"files.getUploadURLExternal response missing file_id\")?;\n\n        let upload_status = self\n            .http_client()\n            .post(upload_url)\n            .body(attachment.data.clone())\n            .send()\n            .await?;\n        let status = upload_status.status();\n        if !status.is_success() {\n            let raw = upload_status\n                .text()\n                .await\n                .unwrap_or_else(|e| format!(\"<failed to read response body: {e}>\"));\n            let sanitized = zeroclaw_providers::sanitize_api_error(&raw);\n            anyhow::bail!(\"Slack file byte upload failed ({status}): {sanitized}\");\n        }\n\n        let mut complete_request = serde_json::json!({\n            \"channel_id\": channel_id,\n            \"files\": [{\n                \"id\": file_id,\n                \"title\": file_name,\n            }],\n        });\n        if let Some(ts) = thread_ts {\n            complete_request[\"thread_ts\"] = serde_json::json!(ts);\n        }\n        let complete_resp = self\n            .http_client()\n            .post(self.slack_api_url(\"files.completeUploadExternal\"))\n            .bearer_auth(&self.bot_token)\n            .json(&complete_request)\n            .send()","sourceCodeStart":1159,"sourceCodeEnd":1195,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-channels/src/slack.rs#L1159-L1195","documentation":"Error \"Slack file byte upload failed ({status}): {sanitized}\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-channels/src/slack.rs:1177 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the returned status and body for the Slack upload URL failure; check network access to Slack and retry."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}