Karaoke-Manager / karman

A Server-Based Management Software for Your UltraStar Songs.
MIT License
7 stars 0 forks source link

Resumable uploads #10

Open TheMcs000 opened 2 years ago

TheMcs000 commented 2 years ago

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:


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

Implementation Considerations

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

codello commented 2 years ago

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:

There are some client and server implementations available.

TheMcs000 commented 2 years ago

Looks good to me

codello commented 1 year ago

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.