FAILURE MAP
← Case archive

FA-76355 / Email MIME structure / Member archive

Pick the part to render from multipart/alternative: charset default and case · case 05

Parts without a charset parameter, or with an upper-case charset name, are treated as unrenderable.

Member previewVariant 5 · 3 implementations · 7 checks per implementation

Case contract

Alternatives are ordered by increasing fidelity, so the LAST part whose effective type is in `supported` wins. A multipart/related alternative counts as its root type: the child whose cid equals the start parameter (which carries angle brackets, cids are stored bare) or else the first child. A text/* part is only renderable when its charset (default us-ascii, case-insensitive) is us-ascii, utf-8 or iso-8859-1. With nothing renderable the first part is shown as a fallback. Result {index, type, fallback}.

Why this case matters

Choosing the wrong alternative shows raw markup, a degraded body or an unreadable charset to the reader.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
richest supported last{"fallback": true, "index": 0, "type": "text/plain"}{"fallback": false, "index": 2, "type": "text/x-amp-html"}Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗