0.21.1

Beta

Job photos saved in newer phone formats now open, instead of the job reporting that it has none.

Photos that were there all along

When you asked an AI client to look at a job's photos in ServiceM8, it could tell you the job had none and count them as "non-image attachments" instead. The photos were there. Newer phones increasingly save pictures as AVIF, and the connector recognised only a fixed list of older formats, so it discarded those photos before it ever tried to fetch one. On one account, four of every five requests for job photos came back that way.

AVIF photos now open. So do BMP and TIFF.

The connector no longer guesses from the file name

Deciding what counts as a photo by looking at its file extension meant that every new camera format was a new outage waiting to happen. ServiceM8 already records the width and height of anything it recognised as an image at upload, and the connector now trusts that first, falling back to the extension only when there are no dimensions to read. A format we have never seen before is now judged on what it is rather than what it is called.

Files that are definitely not photos, like PDFs, videos and archives, are ruled out first, so a video clip is never handed to the picture reader.

When a photo cannot be shown, it says so

If nothing on a job can be displayed, the answer now lists what is actually attached and in what format, for example ".avif (11), .pdf (1)", rather than asserting the job has no photos. If a single photo fails, it is named along with its format and the reason, and the rest are still returned.

One format is still unreadable: HEIC, which iPhones use by default. It is now reported by name whenever it turns up, instead of being passed over in silence, so we can see how often it actually costs anyone anything before deciding what to do about it.