From 1f40531a709429d64822c18b12428acfb6d46a55 Mon Sep 17 00:00:00 2001 From: Takis Kakalis <80459599+Takaros999@users.noreply.github.com> Date: Wed, 8 Apr 2026 15:34:47 +0300 Subject: [PATCH 1/2] better logging for unrecognised response --- rust/core/src/bridge.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rust/core/src/bridge.rs b/rust/core/src/bridge.rs index 8b7122a..910471b 100644 --- a/rust/core/src/bridge.rs +++ b/rust/core/src/bridge.rs @@ -636,7 +636,13 @@ impl BridgeConnection { #[cfg(not(feature = "native-crypto"))] let plaintext = decrypt(&self.key_bytes, &iv, &ciphertext)?; - let bridge_response: BridgeResponse = serde_json::from_slice(&plaintext)?; + let bridge_response: BridgeResponse = + serde_json::from_slice(&plaintext).map_err(|_| { + let raw = String::from_utf8_lossy(&plaintext); + Error::BridgeError(format!( + "World App returned an unrecognized response. This may indicate a version mismatch. Raw response: {raw}" + )) + })?; match bridge_response { BridgeResponse::Error { error_code } => Ok(Status::Failed(error_code)), From e2da5136af9c8a5e5cfb7c0c0aadfa2232354d4d Mon Sep 17 00:00:00 2001 From: Takis Kakalis <80459599+Takaros999@users.noreply.github.com> Date: Wed, 8 Apr 2026 15:35:11 +0300 Subject: [PATCH 2/2] default to 4.0 --- js/examples/nextjs/app/ui.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/examples/nextjs/app/ui.tsx b/js/examples/nextjs/app/ui.tsx index a8ca40a..f9a5339 100644 --- a/js/examples/nextjs/app/ui.tsx +++ b/js/examples/nextjs/app/ui.tsx @@ -142,7 +142,7 @@ export function DemoClient(): ReactElement { const [useStagingConnectBaseUrl, setUseStagingConnectBaseUrl] = useState(false); const [isConnectUrlTooltipOpen, setIsConnectUrlTooltipOpen] = useState(false); - const [worldIdVersion, setWorldIdVersion] = useState<"3.0" | "4.0">("3.0"); + const [worldIdVersion, setWorldIdVersion] = useState<"3.0" | "4.0">("4.0"); const [v4CredentialType, setV4CredentialType] = useState("proof_of_human"); const [presetKind, setPresetKind] = useState("orb");