Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSC2246: Asynchronous media uploads #2246

Merged
merged 30 commits into from
Apr 25, 2023

Conversation

tulir
Copy link
Member

@tulir tulir commented Aug 24, 2019

Rendered

Implementations:

Signed-off-by: Tulir Asokan tulir@maunium.net


FCP Proposal

Signed-off-by: Tulir Asokan <tulir@maunium.net>
@ara4n
Copy link
Member

ara4n commented Aug 24, 2019

sounds excellent to me; would love to unblock streaming transfers at last.
need to consider risk of DoS by creating lots of IDs, and define the json if any handed to the /create (for instance, could be useful in future for defining whether a give mxc url should be locked behind auth of some kind)

Signed-off-by: Tulir Asokan <tulir@maunium.net>
@turt2live turt2live added the proposal A matrix spec change proposal label Aug 24, 2019
@turt2live turt2live self-requested a review August 26, 2019 02:50
Copy link
Member

@turt2live turt2live left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also generally looking in the right direction - I've left some early comments which are hopefully helpful.

proposals/2246-asynchronous-uploads.md Outdated Show resolved Hide resolved
proposals/2246-asynchronous-uploads.md Outdated Show resolved Hide resolved
proposals/2246-asynchronous-uploads.md Outdated Show resolved Hide resolved
proposals/2246-asynchronous-uploads.md Outdated Show resolved Hide resolved
proposals/2246-asynchronous-uploads.md Outdated Show resolved Hide resolved
@bmarty
Copy link

bmarty commented Aug 27, 2019

The idea is then to send a media event, after the new /create endpoint, and before sending the media itself; isn't it? We have to consider the failure of the upload: it can lead to media event with eternal not found media.
Also the client should have a way to know that the media is not yet available to the server for a better UI, by displaying a waiting message (ex: Bob is sending an image) for instance?

@turt2live turt2live changed the title MSC2246: Asynchronous media uploads [WIP] MSC2246: Asynchronous media uploads Dec 7, 2019
@turt2live turt2live added the kind:feature MSC for not-core and not-maintenance stuff label Apr 20, 2020
@tulir tulir changed the title [WIP] MSC2246: Asynchronous media uploads MSC2246: Asynchronous media uploads Aug 1, 2020
@tulir tulir marked this pull request as ready for review August 1, 2020 22:46
@JuniorJPDJ

This comment was marked as off-topic.

@turt2live turt2live added the needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. label Jun 8, 2021
proposals/2246-asynchronous-uploads.md Outdated Show resolved Hide resolved
proposals/2246-asynchronous-uploads.md Outdated Show resolved Hide resolved
proposals/2246-asynchronous-uploads.md Outdated Show resolved Hide resolved
@richvdh richvdh added the merged A proposal whose PR has merged into the spec! label May 3, 2023
richvdh added a commit to matrix-org/matrix-spec that referenced this pull request May 3, 2023
@turt2live
Copy link
Member

Merged 🎉

sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Jun 9, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/complement that referenced this pull request Jun 9, 2023
As of MSC2246 [1], the PUT method is allowed on the
/_matrix/media/v3/upload endpoint.

See the spec documentation here:
https://spec.matrix.org/v1.7/client-server-api/#put_matrixmediav3uploadservernamemediaid

[1]: matrix-org/matrix-spec-proposals#2246

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Jun 9, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/complement that referenced this pull request Jun 9, 2023
As of MSC2246 [1], the PUT method is allowed on the
/_matrix/media/v3/upload endpoint.

See the spec documentation here:
https://spec.matrix.org/v1.7/client-server-api/#put_matrixmediav3uploadservernamemediaid

[1]: matrix-org/matrix-spec-proposals#2246

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Jun 9, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Jun 10, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Jun 10, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Aug 14, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Aug 14, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Aug 23, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Sep 5, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Sep 5, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
@tezlm
Copy link

tezlm commented Oct 17, 2023

I know I'm very late, but it's surprising that nobody mentioned tus yet, which allows for resumable file uploads. Since the core is headers + PATCH it can luckily be retrofitted into matrix in a future msc, if anyone wants it.

sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Oct 24, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Oct 24, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Oct 24, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Oct 24, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Oct 26, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
sumnerevans added a commit to beeper/synapse-legacy-fork that referenced this pull request Nov 9, 2023
See matrix-org/matrix-spec-proposals#2246 for details

Signed-off-by: Sumner Evans <sumner@beeper.com>
@sumnerevans
Copy link
Contributor

For future code sleuths:

Async uploads PR: matrix-org/synapse#15503

Released in Synapse:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:feature MSC for not-core and not-maintenance stuff merged A proposal whose PR has merged into the spec! proposal A matrix spec change proposal
Projects
Status: Done to some definition
Development

Successfully merging this pull request may close these issues.