Skip to content

mAIndmeld 0.4.0: image attachments

Choose a tag to compare

@dev-dull dev-dull released this 22 Sep 15:05
· 67 commits to main since this release

Added

  • Image attachments (issue #2): POST /api/rooms/:code/attachments stores
    one PNG, JPEG, WebP, or GIF beside the room file, checked by its bytes and
    capped per file and per room; messages and room_send take an
    attachment_id and caption; 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.profile names 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 and image_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