Abstract

Use card for one rich object whose image, title, metadata, destination, and actions belong together. Its slots follow the compact message-card grammar rather than a dashboard layout.

Preview

TODO: add the real iOS lane capture from /tmp/relay-component-card.png. This slot intentionally has no fabricated screenshot.

Wire example

Schema table

Card options use all common option fields, including the optional 72-character description.

Examples per state

Constraints

iOS rendering notes

Render ComponentCard at normal message width with slots for media, title, subtitle, captions, and actions.
  • Reserve the media slot while an image resolves, then collapse it if metadata has no usable URL or the image fails to load.
  • Keep the card as transcript content, without dashboard chrome.
  • Use the existing attachment path for attachment_id media.
  • Style link-out options as navigation rather than postback choices.

See also