Images with text: Protocol A says multipart, the clients show only image texts (revisit D-067?) #331

Open
opened 2026-10-24 22:21:27 +00:00 by littlefox · 1 comment
Owner

Interop audit, 2026-10-24.

The spec and the clients disagree on images with text. Protocol A (§ "Multipart articles", lyskom-server/doc/Protocol-A.texi) recommends exactly what #33 did for "the common case that the user wants to post a text containing an image and a descriptive text": multipart/mixed, the text/x-kom-basic part first, the images inline. The clients don't implement it:

  • Emacs client: lyskom-format-multipart prints "< Flerdelade inlägg (…) stöds inte. >" (lyskom-rest.el); image/* is shown (lyskom-format-image).
  • jskom: renders text/* and image/* only; anything else is "[unknown content-type: …]" (jskom/static/partials/text.html). It posts an image as the whole text, never with a caption.

D-067 (#329, merged in #330) went with the clients: the text, then the image as an image/* footnote. When D-067 was decided, the spec's recommendation wasn't on the table. The earlier explanation said multipart was just an unverified assumption, but #33 actually followed the spec.

Side effects of D-067 to weigh:

  • Two texts per captioned image: other clients count two unread posts.
  • Emacs readers see the text, then the image as a footnote. jskom readers see a footnote to click.

Options:

  1. Keep D-067 (clients first). Readable in every client today.
  2. Back to the spec (multipart). One text, as specified, but invisible in Emacs and jskom until they implement multipart.
  3. Spec and clients both: post multipart, and propose that the Emacs client and jskom render it (an upstream/patch matter, D-062).
Interop audit, 2026-10-24. **The spec and the clients disagree on images with text.** Protocol A (§ "Multipart articles", `lyskom-server/doc/Protocol-A.texi`) recommends exactly what #33 did for "the common case that the user wants to post a text containing an image and a descriptive text": `multipart/mixed`, the text/x-kom-basic part first, the images `inline`. The clients don't implement it: - Emacs client: `lyskom-format-multipart` prints "< Flerdelade inlägg (…) stöds inte. >" (`lyskom-rest.el`); `image/*` is shown (`lyskom-format-image`). - jskom: renders `text/*` and `image/*` only; anything else is "[unknown content-type: …]" (`jskom/static/partials/text.html`). It posts an image as the whole text, never with a caption. D-067 (#329, merged in #330) went with the clients: the text, then the image as an `image/*` footnote. When D-067 was decided, the spec's recommendation wasn't on the table. The earlier explanation said multipart was just an unverified assumption, but #33 actually followed the spec. Side effects of D-067 to weigh: - Two texts per captioned image: other clients count two unread posts. - Emacs readers see the text, then the image as a footnote. jskom readers see a footnote to click. Options: 1. **Keep D-067** (clients first). Readable in every client today. 2. **Back to the spec** (multipart). One text, as specified, but invisible in Emacs and jskom until they implement multipart. 3. **Spec and clients both:** post multipart, and propose that the Emacs client and jskom render it (an upstream/patch matter, D-062).
Author
Owner

Strangely I cannot find any reference to multipart articles on the published Protocol A pages on https://www.lysator.liu.se/lyskom/protocol/

That means we have likely been looking at slightly different editions of the protocol specification

Strangely I cannot find any reference to multipart articles on the published Protocol A pages on https://www.lysator.liu.se/lyskom/protocol/ That means we have likely been looking at slightly different editions of the protocol specification
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
littlefox/neokom#331
No description provided.