matrix-org / matrix-spec

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

Message Drafts #764

Open kevincox opened 3 years ago

kevincox commented 3 years ago

I haven't bothered to write an MSC but can open one if there is interest.

There should be a way to save and sync drafts across clients. These drafts should probably be e2e encrypted. (It would be possible to support unencrypted drafts but I would prefer not to).

The concept is very simple: When a user is composing a message the client occasionally saves the in-progress message, encrypts it only to the user themselves and sends the message to the server.

Concerns:

Possibly related:

Timed messages: One may think of a timed message similar to a draft that has been scheduled to send however these need to be handled differently. While you may be able to edit a timed message before it sends a timed message would need to be encrypted to all recipients. A draft is only encrypted to a user's own devices. Furthermore it may be common to have many timed messages whereas the number of concurrent drafts is likely small. When editing a timed message it might also make sense to save a draft of that message. It seems like the use cases are different enough that separate proposals and APIs makes more sense.

pretentious7 commented 2 years ago

I would be very interested in specifically the scheduled sending portion of this idea. I have a work chat, where we generally operate with the understanding that we won't be messaging during non work hours. But sometimes I come across an article or something, and I have to save it somewhere then remember to send it the next morning, and that just adds a lot of friction.

NANASHI0X74 commented 1 year ago

I'm amazed there's been almost no activity on this issue as of yet. To me the lack of this feature has been a major pain for a long time- although evidently it wasn't enough to raise an issue because of it 😅