mAIndmeld 0.4.0: image attachments
Added
- Image attachments (issue #2):
POST /api/rooms/:code/attachmentsstores
one PNG, JPEG, WebP, or GIF beside the room file, checked by its bytes and
capped per file and per room; messages androom_sendtake an
attachment_idandcaption; the bytes are served to participants or by
a signed five-minute link; uploads never sent on a message are cleaned up.
Models and the summarizer see[image: caption]until the follow-up
issues land. - The room page attaches images (issue #3): a picker beside the composer,
or paste one in; a preview strip with a caption field; the upload happens
on send, so a failure leaves the text and image in the composer; images
render inline with the caption, and open full size in a new tab. - Captions (issue #4): a caption of at least three characters is required
with every image, since it is all that non-vision participants and the
summarizer see.captions.profilenames a vision-capable profile that
adds a one-sentence automatic caption in the background, never blocking
the upload and never replacing the person's caption. - Vision for model participants (issue #5): a profile with
vision: true
gets the newest four images from others as data-URI image parts with
metadata stripped, within 1 MB andimage_max_px; anything else, and
every other profile, gets the caption line. A rejected image part is an
ordinary failure. - The summarizer sees captions only (issue #6): the envelope renders an
image as[image: caption]with any generated description, and the
prompt asks for images to be cited by caption, never by id or link.
Image: ghcr.io/dev-dull/maindmeld:0.4.0@sha256:7ba0ad2c62c1d7b294a2784d91a725b2dde77cb1a5922a05852404ed05ed2b8a