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

Resumable uploads #10

Open
TheMcs000 opened this issue Dec 15, 2021 · 3 comments
Open

Resumable uploads #10

TheMcs000 opened this issue Dec 15, 2021 · 3 comments
Labels
proposal A Karman feature proposal status/draft A proposal that is still being drafted

Comments

@TheMcs000
Copy link

TheMcs000 commented Dec 15, 2021

Uploads aren't POST requests, but it's uploading the file in different chunks.
This way the upload can be resumed if the internet connection breaks.

We have to come up with a concept in the backend and frontend

Feature:

  • Mass upload hundreds of songs without pain

Updated proposal by @codello

What feature do you want to propose?

Karman should use the Tus protocol for large file uploads (new songs, videos).

How do users access the feature?

This feature should be implemented in clients transparently in a way that uploads can be automatically resumed in case of a network outage or transmission error.

Describe alternatives you've considered

  • There are other similar resumable upload protocols (such as the one used by YouTube). However the Tus protocol is a well defined standard with many client implementations available.
  • Not implementing resumable uploads at all would be possible. However this would make it quite difficult to import many songs at once into the library.

Implementation Considerations

We probably will have to write a custom Tus implementation on the server side. This however seems very manageable.

@codello
Copy link
Contributor

codello commented Dec 15, 2021

I would suggest we use the tus protocol for resumable uploads. The protocol includes multiple extensions. I think we should at least support the following:

  • Creation
  • Creation With Upload
  • Expiration
  • Termination
  • (Possibly Concatenation)

There are some client and server implementations available.

@codello codello added this to the Version 0.1 milestone Dec 15, 2021
@codello codello added proposal A Karman feature proposal status/draft A proposal that is still being drafted labels Dec 21, 2021
@TheMcs000
Copy link
Author

Looks good to me

@codello codello added status/planned A proposal whose implementation has been planned and removed status/draft A proposal that is still being drafted labels Dec 25, 2021
@codello codello removed this from the Version 0.1 milestone Aug 13, 2023
@codello codello added status/draft A proposal that is still being drafted and removed status/planned A proposal whose implementation has been planned labels Aug 13, 2023
@codello
Copy link
Contributor

codello commented Aug 20, 2023

In the current version of the API uploading large files is not really an intended feature anymore. Packaging many songs into a zip file does not seem like a common scenario for me. Usually you have all of your songs on a drive and would need to explicitly package these songs to upload the zip file, effectively doubling your storage requirements.

Instead I think that an individual file upload. The largest files are videos by far. However these rarely exceed a few 100 MB. While resumable uploads could be nice, I don't really see the benefit anymore. Thus I'm inclined to reject this proposal for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal A Karman feature proposal status/draft A proposal that is still being drafted
Projects
None yet
Development

No branches or pull requests

2 participants