68a3085ac1
process_image takes ~560ms on a 12MP photo and image_content_block decodes HEIC/JPEG with PIL; both ran synchronously inside async handlers, freezing every concurrent chat stream. Run them via asyncio.to_thread in the upload handlers, the chat stream, and iMessage. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>