It should allow for as much of a set-and-forget experience as possible. In other words, the server should drive Live Mode so you can close your browser window if you want
Safeguards should be present to prevent runaway YouTube API quota usage
Error handling should pause pending uploads to maintain correct video ordering on YouTube
Users should be able to specify which video labels to expect for a specific video
If the server is stopped, Live Mode should be disabled when it is restarted
The client should clearly show the current state of Live Mode and allow starting and stopping it
Stopping the server by stopping the Docker containers / ctrl-c'ing should cleanly stop the worker and not leave stuck jobs
Live Mode errors must never crash the server
Nice-to-haves:
Watchdogs (will show alerts in the client)
If a match's video(s) can't be found within a set time period
If it's been some number of minutes since the last successful upload
Live Mode implementation will start with an experimental version (https://github.com/gafirst/match-uploader/issues/39) to figure out high-level issues with this concept.
High-level requirements for Live Mode:
Nice-to-haves:
Epic items: