matrix-org / matrix-spec

The Matrix protocol specification
Apache License 2.0
178 stars 94 forks source link

Message attachments (multiple photos, files, other messages for forwarding, etc) #541

Open MurzNN opened 4 years ago

MurzNN commented 4 years ago

Many messengers allow attaching one or multiple media (file, photo, video), when user composing message text, and even other messages (eg for forwarding message from one room to other). But Matrix protocol now only can send one media per message (without text), so if user want to send several photos and text, it will generate several separate messages.

I can't find feature request about adding attachments to message, so create this new feature request.

As implementation, this can be simple field m.attachments, with list of msc:// urls for media, or event_id's for attach messages, eg for forwarding message to other room, in event content. Rendering attachments can be client-side feature.

richvdh commented 4 years ago

related: matrix-org/matrix-spec#242

uhoreg commented 4 years ago

I would encourage anyone who writes a proposal for this to name it something like "Multiple Media in Messages", so that we can have more alliterative MSC titles.

Half-Shot commented 4 years ago

I would encourage anyone who writes a proposal for this to name it something like "Multiple Media in Messages", so that we can have more alliterative MSC titles.

Mmm

MurzNN commented 4 years ago

Maybe MITM (Multiple Items To Messages)? :-D

MurzNN commented 4 years ago

Single attachment to message is popular use case too, but missed now in Matrix (partly implemented as related in edits and replies). So we can implement single and multiple attachments together in one code.

MurzNN commented 4 years ago

Also we can use message attachments for forwarding messages (even multiple messages, like in Telegram), because current forward feature in Riot is simply copy-pasting text of source message to target. Related Riot-web issues: https://github.com/vector-im/riot-web/issues/5536 https://github.com/vector-im/riot-web/issues/5952

MurzNN commented 3 years ago

Here is my MSC with more detailed description https://github.com/matrix-org/matrix-doc/pull/2881

gabrc52 commented 1 year ago

Any update in 2023? Most messaging apps work like this, which makes it more convoluted to write bridges to send one message event with the text and one message event for every attachment.

I see that MSC1767 was merged, which is one of the alternatives listed in MSC2881, but I am not sure how this would work in practice.

turt2live commented 1 year ago

MSC1767 is the start of a very long series of MSCs, and is expected to make further progress as we continue our IETF mission in the MIMI working group - TWIM will contain updates as we progress here (and generally the matrix.org blog).

ThiefMaster commented 5 months ago

I think being able to send an image with a message attached is an absolute requirement nowadays. So it would be really great to have that feature. Every other messenger has it as well.

My usecase: Sending someone a picture just w/o context may just confuse them. But especially on mobile you cannot QUICKLY send a message after the image, because typing on mobile devices is slow. So the only good way to send an image with context is to write the message, cut it, send the image, paste the message, and send it....

gabrc52 commented 5 months ago

I think being able to send an image with a message attached is an absolute requirement nowadays. So it would be really great to have that feature. Every other messenger has it as well.

Yeah, it is. Thankfully now MSC2530 was approved, so it might make it to clients soon enough.

But especially on mobile you cannot QUICKLY send a message after the image, because typing on mobile devices is slow.

Could you file an issue for your mobile client if it hasn't been filed?

ThiefMaster commented 5 months ago

My second point was more about the fact that on a desktop you could already send the image and quickly write a message, while on a mobile phone it takes longer simply due to the inferior keyboard (onscreen vs full-size physical). So not really a problem on the Matrix/Element/whateverclient side

anaqreon commented 2 months ago

As an avid Matrix user and supporter, it is baffling to me how there have been so many exciting advances in the Matrix ecosystem since this issue was created over four years ago, and yet the ability to link room events together, in a way that clients could interpret for example as attached images and render accordingly, is still missing. As has been articulated by others, this is one of those features that would significantly improve the user experience at relatively low development cost. It is unlikely that the primary challenges are technical; I suspect that there must be some organizational obstacles related to the Matrix spec change process. Can anyone shed light on this?

turt2live commented 2 months ago

The spec process requires implementation of an MSC (proposal) before it can reasonably continue through the process. Currently there are many proposals, including ones for Extensible Events, but little to no implementation. We'd really love to see this feature landed and have spent quite a bit of time working on Extensible Events already - if folks are interested in this feature, implementation would be greatly appreciated.

NAM1025 commented 1 month ago

Very interested in this feature. It's the main thing keeping me from trying to get friends and family to use Matrix/Element.