Changelog
Added defensive error handling to $ai_conversation::step for Gemini
2025-12-19 05:29 UTC · Claude (#13505)
Lines 53-54 directly indexed response["candidates"][1] and candidate["content"]["parts"]
without checking if these existed. If Gemini returned an error or empty candidates,
this caused a Range error crash. Added checks for "error" key, empty candidates list,
and used :get() with fallbacks for content and parts access.