Required MSCs

Additional Things

Timeline

The timeline consists of gallery, image or file posts.

It should be of type “matrixart.profile”

Gallery

This is a post with multiple images attached

{
  "type": "m.image_gallery",
  "content": {
    "m.image_gallery": [
      // array of m.image objects (without captions!)
      {
        "m.text": "Upload: matrix.png (12 KB)", // or other m.message-like event
        "m.file": {
          "url": "mxc://example.org/abcd1234",
          "name": "matrix.png",
          "mimetype": "image/png",
          "size": 12345
        },
        "m.image": {
          "width": 640,
          "height": 480
        },
        "m.thumbnail": [
          {
						// an inline m.file, minus `name`
            "url": "mxc://example.org/efgh5678",
            "mimetype": "image/jpeg",
            "size": 123,
						// an inline m.image
            "width": 160,
            "height": 120
          }
        ],
        // Additions specifically for this
        "matrixart.tags": [
          "Matrix",
          "Beep"
        ]
      }
    ],
    "m.caption": [
      // array of m.message objects
      { "m.text": "matrix logo" },
      {
        "body": "<b>matrix</b> logo",
        "mimetype": "text/html"
      }
    ]
  }
}

Stories

Stories shall happen mostly according to https://github.com/matrix-org/matrix-doc/pull/3588 but instead of a extra room it shall use https://github.com/matrix-org/matrix-doc/pull/1769 with a extev. Also it shall not use have a blocklist.

Extev example

{
  "type": "m.story",
  // m.image or m.message object
  "content": {
    "m.text": "Upload: matrix.png (12 KB)", // or other m.message-like event
    "m.file": {
      "url": "mxc://example.org/abcd1234",
      "name": "matrix.png",
      "mimetype": "image/png",
      "size": 12345
    },
    "m.image": {
      "width": 640,
      "height": 480
    },
    "m.thumbnail": [
      {
        // an inline m.file, minus `name`
        "url": "mxc://example.org/efgh5678",
        "mimetype": "image/jpeg",
        "size": 123,
        // an inline m.image
        "width": 160,
        "height": 120
      }
    ],
    "m.caption": [
      // array of m.message objects
      {
        "m.text": "matrix logo"
      },
      {
        "body": "<b>matrix</b> logo",
        "mimetype": "text/html"
      }
    ]
  }
}
{
  "type": "m.story",
  "content": {
    "m.text": "What a Story!",
    "m.html": "What a <b>Story</b>!"
  }
}

Profile Header State Event

{
    "type": "matrixart.profile_banner",
    "content": {
        "m.file": {
            "mimetype": "image/jpeg",
            "name": "_MG_0111.jpg",
            "size": 11013286,
            "url": "mxc://nordgedanken.dev/557521a26fd89f5920146f27d155d1641e2b8ba5"
        },
        "m.image": {
            "height": 3456,
            "width": 5184
        },
        "m.text": "Flowers"
    }
}