# Send Images With Responsive Display Size

Oysterun can make supported image uploads easier to send, sync, reload, and
view by using a bounded display-sized copy for the chat message. This page
helps you understand what happens when you attach images, which files can be
bounded, and what to do when Oysterun keeps the original bytes.

## Prerequisites

- You are signed in to Oysterun.
- A Route C Session chat is open.
- The composer is visible.
- You have an image file available to attach.

Starting screen: a normal Session chat with the composer, **Attach files**, and
**Send message** available.

## Send A Supported Image

1. Select **Attach files** in the composer.
2. Choose a supported static image file.
3. Add any message text you want to send with the image.
4. Select **Send message**.

Expected result: the sent message appears in the timeline with the same visual
subject and aspect ratio as the image you chose. Oysterun may use smaller bytes
for the displayed upload so the chat stays responsive.

## Supported Image Inputs

Oysterun can create a bounded display copy for browser-decodable static images:

- JPEG;
- PNG;
- WebP.

For a supported image that is larger than the display bounds, Oysterun keeps the
long edge at or below 1280 pixels, preserves the aspect ratio, and does not
upscale smaller images. Lossy JPEG or WebP output uses a normal display quality
target near 0.75.

Checkpoint: after the message sends, the timeline image should still look like
the selected image and keep the same proportions, even when the uploaded bytes
are smaller.

## When Oysterun Keeps The Original File

Oysterun keeps the original upload bytes when it cannot safely make a smaller
display copy. This can happen for:

- non-image attachments;
- animated GIF, animated WebP, or animated PNG files;
- HEIC or HEIF files;
- images the browser cannot decode;
- canvas or conversion failures;
- images that are already within the display bounds;
- derivatives that would not be smaller than the original.

Expected result: the attachment still sends when the original upload is allowed,
but Oysterun does not silently corrupt or replace it with an unsafe derivative.

## Multiple Images In One Message

One send with multiple images still creates one product message with one shared
caption. Each attachment keeps its own order, filename, uploaded content, image
dimensions, and display information.

Provider delivery remains one saved-path prompt for the whole product message.
The image-size handling does not split the send into separate chat messages.

Checkpoint: the timeline shows one grouped product message, the attachments
stay in order, and the caption appears once for the group.

## What This Does Not Change

Image display sizing does not add visible compression settings, change non-image
attachment behavior, redesign Matrix upload internals, or upload a second
full-size original copy for supported images that were sent as bounded display
copies.

## If Image Upload Or Display Fails

Bounded recovery:

1. If **Attach files** is unavailable, check that the Session chat and composer
   are loaded.
2. If the image does not send, try the send again after the upload or network
   state settles.
3. If the file type is unsupported, convert it to JPEG, PNG, or static WebP and
   attach the converted file.
4. If the image is animated and you need to preserve animation, send the
   original file and expect Oysterun not to create a bounded display copy.
5. If the timeline preview looks wrong, remove the attachment before sending
   and choose the file again.
6. If the login screen appears, sign in and reopen the Session chat from the
   Sessions list.
