feat: Progressive upload during recording (faster Instant Mode) #351
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces several enhancements to the instant recording functionality. The key changes include adding support for progressive uploads, modifying the recording flow to accommodate these uploads, and updating the handling of recording completion.
Recording Options and State Management
app
parameter from theset_recording_options
function inlib.rs
.start_recording
.Progressive Upload Implementation
start_recording
, including starting the upload in a background task and handling file growth. [1] [2]start_progressive_upload
inupload.rs
to handle the progressive upload process, including chunked uploads and progress tracking.Notification and Link Sharing
handle_recording_finish
to return an optional shareable link and adjusted the logic to handle notifications and link copying for instant recordings. [1] [2]handle_recording_end
to open the shareable link after the recording has fully stopped and the stop sound has played.Code Refactoring
upload_video
to theuse
statement inrecording.rs
to support the new upload functionality.start_recording
function to use cloned values forid
andrecording_dir
to avoid borrowing issues. [1] [2]These changes collectively enhance the user experience by improving the reliability and efficiency of recording uploads, particularly for instant recordings.