#4837

fix: guard .strip() on multimodal content and log prepare_call exceptions

OpenXingkai98wants to merge intofrom

Fixes #4800 and #4805.

Changes

  • #4800: Guard msg.content.strip() calls with isinstance() check in loop.py — prevents crash when multimodal content returns non-string content
  • #4805: Replace suppress(Exception) with explicit try/except + logger.exception() in runner.py — ensures prepare_call failures are logged instead of silently swallowed

(The aiohttp dependency fix for #4829 was removed from this PR — already addressed in #4830 by @alekwo.)

Verification

  • Tests: 1243 pass | Lint: clean | Diff: 2 files, +7/-4

Generated with Claude Code via Happy

Co-Authored-By: Claude noreply@anthropic.com Co-Authored-By: Happy yesreply@happy.engineering

Activity

6
alekwo3mo ago

Issue #4829 was already fixed in PR #4830 (note that it also required changes in the tests)

alekwo3mo ago

Issue #4829 was already fixed in PR #4830 (note that it also required changes in the tests)

alekwo3mo ago

Issue #4829 was already fixed in PR #4830 (note that it also required changes in the tests)

chengyongrureviewed3mo ago
Xingkai98reviewed3mo ago