Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 1.35 KB

2529-text-messages-as-captions.md

File metadata and controls

44 lines (32 loc) · 1.35 KB

Use existing m.room.message/m.text events as captions for images

Background

There is a demand to be able to apply a text caption to an image, as is possible in other chat platforms. In Matrix this is not possible, so people will generally send two events: one m.image, then a m.text event immediately afterward to simulate a caption.

Better would be to able to explicitly mark an event as a caption.

Proposal

Allow an optional m.relates_to field in the content field of a text message event.

Example:

...
  "content": {
    "body": "Caption text",
    "msgtype": "m.text",
    "m.relates_to": {
            "event_id": "$(some image event)",
            "rel_type": "m.caption"
        }
  },

If a client recognises the rel_type, they can render the caption with the image rather than as a separate message in the timeline.

The benefit of this is that if a client doesn't support or recognise the m.caption, it can ignore the relation and just render the message inline.

This would not require aggregation from the server since there will always be a need to send the event separately anyway.

Potential issues

  • Not sure how this relates to the broader questions discussed in MSC1849
  • This is catering to a narrow use-case requirement. There may be a more general solution available
  • Would MSC1767 (extensible events) obsolete this?