File uploads in the web app

When you add a file to a chat in the DataMind Oda web app, the upload does not wait for your message: it starts at once, from your browser to Oda on this computer, and runs in the background while you keep working. This page follows that upload: how it starts, how progress and cancelling work, what Oda keeps, and the limits. For adding files and images to a message in the first place, see Attach images and files.

How an upload starts and runs

  1. Add a file with the composer's File control, or drop it on the page. The file appears in the rail under the composer and its upload begins immediately, before you send anything.
  2. Oda uploads the file's bytes in the background, so the interface stays responsive even for large files. While the upload runs, the file's card shows Uploading… with a spinner and a progress bar.
  3. The bar follows the bytes already sent. When the browser can tell Oda the total size, the bar fills by proportion; otherwise it shows activity without a fixed end point.
  4. A small number of files upload at a time (two by default); other files wait their turn and start as earlier uploads finish.

Sending while files upload

Cancel or retry an upload

What Oda stores, and for which chat

If an upload fails

When a file fails, its card reads Upload failed; click to retry, and the failure carries a reason. These are the reasons an upload can report, and what to do about each:

ReasonWhat it meansWhat to do
background upload requires Web Worker supportThis browser cannot run the background upload Oda uses.Open Oda in a current browser and add the file again; retrying on this browser will not help.
background upload transport failedThe upload lost its connection to Oda while sending.Retry the file. If it keeps happening, check that DataMind Oda is still running on this computer.
background upload worker failedThe background upload stopped unexpectedly.Retry the file.
file upload transport failed with HTTP 413Oda refused the upload because it was too large for the route it took.Try a smaller file.
file upload transport returned an invalid resultThe reply to the upload could not be read, so Oda cannot confirm the file arrived. The same reason covers its close forms, an invalid failure and an invalid receipt.Retry the file; if the message returns, keep it for your DataMind OS administrator.
background upload worker received an invalid bodyThe file's data could not be sent in the form the upload expects.Remove the file and add it again.
background upload stream produced a non-Uint8Array chunkA one-pass upload produced data Oda could not accept.Remove the file and add it again.
subagent conversations do not accept file uploadsA helper's conversation cannot receive uploaded files.Add and send the file from the main chat instead.
session "<id>" was disposed before its file upload completedThe chat ended while the file was still uploading.Add the file again in the chat where you want it.
Session unavailable; files cannot be uploadedThe chat has no live session, so Oda cannot receive the file.Reopen the chat, or start a new one, and add the file again.
The file has not finished uploading; re-add it and try againA message referred to a file whose upload Oda no longer holds.Add the file again, and send once its upload finishes.

Questions, answered

When does a file start uploading?

As soon as you add it, not when you send the message. The file appears in the rail under the composer and starts uploading in the background straight away.

Can I keep working while a file uploads?

Yes. Uploads run in the background, so you can keep typing, scrolling and opening other chats. Only sending waits: a message with a file goes once that file's upload finishes.

How do I cancel an upload?

Remove the file from the composer with its remove control. Removing stops an upload in progress, the file is not sent, and nothing else needs to be done.

Can I resume an upload that was cancelled or failed?

No. Uploads are not resumable: a retry starts again from the file's first byte. A large file on a slow link takes as long on the second try as on the first.

Why can I not send while a file is uploading?

A message waits for every file you picked, so it never carries an incomplete file. While uploads run, the Send button stays inactive and Enter answers Files are still uploading; send after they finish. A failed file holds the message too until you retry or remove it.

Why did a file fail to upload?

Its card reads Upload failed; click to retry, and the upload reports a reason: a lost connection to Oda, a browser that cannot run background uploads, a size the route refused, and so on. The table in If an upload fails matches each reason to what to do.

Where do uploaded files go?

From your browser to DataMind Oda on this computer; the upload itself does not go anywhere else. Oda stores the file as a read-only copy and holds it for that chat until your message carries it. What happens between the upload and your message is on Upload receipts.

What happens to a file I upload but never send?

It stays held for that chat only, waiting for a message from that chat. It is never attached to anything on its own, and it is dropped when the chat ends.

Why is the stored file's name different from the one I attached?

Oda keeps only the last part of the name and cleans it so it can be stored: characters such as <, >, :, ", |, ? and * become _, and a very long name is shortened. If nothing usable remains, the stored name is file.

Can I upload a file into a helper's conversation?

No. An upload belongs to one chat, and a helper's conversation refuses file uploads with subagent conversations do not accept file uploads. Add the file in the main chat and send it there.

How many files can upload at once?

A few go at once (two by default), and the rest wait their turn, starting as running uploads finish. You can add several files in one go; Oda queues them for you.