{"record":{"id":"96c30ae1f50f9102","repo":"zeroclaw-labs/zeroclaw","slug":"signal-http-client-should-build","errorCode":null,"errorMessage":"Signal HTTP client should build","messagePattern":"Signal HTTP client should build","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-channels/src/signal.rs","lineNumber":192,"sourceCode":"    /// Set a per-channel proxy URL that overrides the global proxy config.\n    pub fn with_proxy_url(mut self, proxy_url: Option<String>) -> Self {\n        self.proxy_url = proxy_url;\n        self\n    }\n\n    pub fn with_approval_timeout_secs(mut self, secs: u64) -> Self {\n        self.approval_timeout_secs = secs;\n        self\n    }\n\n    fn http_client(&self) -> Client {\n        let builder = Client::builder().connect_timeout(Duration::from_secs(10));\n        let builder = zeroclaw_config::schema::apply_channel_proxy_to_builder(\n            builder,\n            \"channel.signal\",\n            self.proxy_url.as_deref(),\n        );\n        builder.build().expect(\"Signal HTTP client should build\")\n    }\n\n    /// Effective sender: prefer `sourceNumber` (E.164), fall back to `source`.\n    fn sender(envelope: &Envelope) -> Option<String> {\n        envelope\n            .source_number\n            .as_deref()\n            .or(envelope.source.as_deref())\n            .map(String::from)\n    }\n\n    fn is_sender_allowed(&self, sender: &str) -> bool {\n        let peers = (self.peer_resolver)();\n        crate::allowlist::is_user_allowed(&peers, sender, crate::allowlist::Match::Sensitive)\n    }\n\n    fn is_e164(recipient: &str) -> bool {\n        let Some(number) = recipient.strip_prefix('+') else {","sourceCodeStart":174,"sourceCodeEnd":210,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-channels/src/signal.rs#L174-L210","documentation":"Error \"Signal HTTP client should build\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-channels/src/signal.rs:192 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the TLS/HTTP client dependencies and system certificates; this panic indicates a build-time client configuration failure.","Update reqwest/rustls dependencies or system CA certificates and restart the channel."],"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"}