Stop reading image files inside gemini/mistral commands; use pre-encoded image data from message parts
Rework loadImagesIfExists / loadImagesFromFileIds to return cached file_unique_ids and download only missing sizes
Encode cached images to base64 when assembling the reply chain
Make getPhotoMaxSize synchronous (returns PhotoSize), and map to URL only when needed
Await MessageStore.put / UserStore.put and prefetch single-image downloads on message receipt