Challenge 5: Chat List Preview
The chat list shows the last message preview. If the last message is an image, the preview currently shows nothing (empty string). With this feature, it should show the description.
Need: The last_text field in the chat
list should prefer the image description if the last message has one. If
multiple images, show the first description + ” (+2 images)“.
Challenge 6: Privacy Consent
Sending images to a third-party AI service is a privacy concern. The user must consent before any image is described.
Need: A one-time consent dialog on first app launch
(or first image detection). Store consent in config.json.
If denied, show generic “[Image]” placeholders forever. The consent can
be changed later in Settings.