Retry the upload of video to cloud after upload failure

Current situation
Sometimes my cameras fail to upload a video, In the events list, it shows as a thumbnail, but it won’t play. The help icon shows “failed to upload.”

Upload failure might be caused by a temporary network or server issue, but network is not a major issue because overall the camera functions well.

Proposed solution
The camera will retry uploading the video a few times until it succeeds.

Behind the scenes, the camera will queue all uploads for centralized management. It will not upload them in parallel, which could make network issues worse. It will delete failed videos after X attempts. After each retry, it will use a backoff mechanism, so the retry interval increases (e.g., one minute, five minutes, 15 minutes). Failed videos could be temporarily stored on MicroSD. The queue will prioritize new videos (with no failures) over retries. Maybe retries will be paused when live streaming is on (again, to minimize network congestion). App UI might allow customization over some of this logic.