Log warning when credential deserialization fails

Richard Feldman created

Previously a schema change or corruption would silently show the
user as signed out. Now a log::warn helps diagnose the issue.

Change summary

crates/language_models/src/provider/openai_subscribed.rs | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

Detailed changes

crates/language_models/src/provider/openai_subscribed.rs 🔗

@@ -108,8 +108,13 @@ impl OpenAiSubscribedProvider {
                 .await;
             state.update(cx, |s, cx| {
                 if let Ok(Some((_, bytes))) = result {
-                    if let Ok(creds) = serde_json::from_slice::<CodexCredentials>(&bytes) {
-                        s.credentials = Some(creds);
+                    match serde_json::from_slice::<CodexCredentials>(&bytes) {
+                        Ok(creds) => s.credentials = Some(creds),
+                        Err(err) => {
+                            log::warn!(
+                                "Failed to deserialize ChatGPT subscription credentials: {err}"
+                            );
+                        }
                     }
                 }
                 cx.notify();