diff --git a/apps/desktop/src-tauri/src/general_settings.rs b/apps/desktop/src-tauri/src/general_settings.rs index 61bc67e03..d2c3bfaae 100644 --- a/apps/desktop/src-tauri/src/general_settings.rs +++ b/apps/desktop/src-tauri/src/general_settings.rs @@ -116,8 +116,6 @@ pub struct GeneralSettingsStore { pub enable_new_recording_flow: bool, #[serde(default)] pub post_deletion_behaviour: PostDeletionBehaviour, - #[serde(default = "default_enable_new_uploader", skip_serializing_if = "no")] - pub enable_new_uploader: bool, #[serde(default = "default_excluded_windows")] pub excluded_windows: Vec, #[serde(default)] @@ -133,10 +131,6 @@ fn default_enable_new_recording_flow() -> bool { cfg!(debug_assertions) } -fn default_enable_new_uploader() -> bool { - true -} - fn no(_: &bool) -> bool { false } @@ -184,7 +178,6 @@ impl Default for GeneralSettingsStore { auto_zoom_on_clicks: false, enable_new_recording_flow: default_enable_new_recording_flow(), post_deletion_behaviour: PostDeletionBehaviour::DoNothing, - enable_new_uploader: default_enable_new_uploader(), excluded_windows: default_excluded_windows(), delete_instant_recordings_after_upload: false, } diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 53b8a4986..cbea53042 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -2216,21 +2216,10 @@ pub async fn run(recording_logging_handle: LoggingHandle, logs_dir: PathBuf) { tokio::spawn({ let app = app.clone(); async move { - let is_new_uploader_enabled = GeneralSettingsStore::get(&app) - .map_err(|err| { - error!( - "Error checking status of new uploader flow from settings: {err}" - ) - }) - .ok() - .and_then(|v| v.map(|v| v.enable_new_uploader)) - .unwrap_or(false); - if is_new_uploader_enabled { - resume_uploads(app) - .await - .map_err(|err| warn!("Error resuming uploads: {err}")) - .ok(); - } + resume_uploads(app) + .await + .map_err(|err| warn!("Error resuming uploads: {err}")) + .ok(); } }); diff --git a/apps/desktop/src-tauri/src/upload.rs b/apps/desktop/src-tauri/src/upload.rs index 721300c49..3a3884520 100644 --- a/apps/desktop/src-tauri/src/upload.rs +++ b/apps/desktop/src-tauri/src/upload.rs @@ -3,9 +3,7 @@ use crate::{ UploadProgress, VideoUploadInfo, api::{self, PresignedS3PutRequest, PresignedS3PutRequestMethod, S3VideoMeta, UploadedPart}, - general_settings::GeneralSettingsStore, posthog::{PostHogEvent, async_capture_event}, - upload_legacy, web_api::{AuthedApiError, ManagerExt}, }; use async_stream::{stream, try_stream}; @@ -68,29 +66,6 @@ pub async fn upload_video( channel: Option>, ) -> Result { println!("Uploading video {video_id}..."); - let is_new_uploader_enabled = GeneralSettingsStore::get(&app) - .map_err(|err| error!("Error checking status of new uploader flow from settings: {err}")) - .ok() - .and_then(|v| v.map(|v| v.enable_new_uploader)) - .unwrap_or(false); - info!("uploader_video: is new uploader enabled? {is_new_uploader_enabled}"); - if !is_new_uploader_enabled { - return upload_legacy::upload_video( - app, - video_id, - file_path, - None, - Some(screenshot_path), - Some(meta), - channel, - ) - .await - .map(|v| UploadedItem { - link: v.link, - id: v.id, - }); - } - info!("Uploading video {video_id}..."); let start = Instant::now(); @@ -187,22 +162,6 @@ pub async fn upload_image( app: &AppHandle, file_path: PathBuf, ) -> Result { - let is_new_uploader_enabled = GeneralSettingsStore::get(app) - .map_err(|err| error!("Error checking status of new uploader flow from settings: {err}")) - .ok() - .and_then(|v| v.map(|v| v.enable_new_uploader)) - .unwrap_or(false); - info!("upload_image: is new uploader enabled? {is_new_uploader_enabled}"); - if !is_new_uploader_enabled { - return upload_legacy::upload_image(app, file_path) - .await - .map(|v| UploadedItem { - link: v.link, - id: v.id, - }) - .map_err(Into::into); - } - let file_name = file_path .file_name() .and_then(|name| name.to_str()) @@ -395,26 +354,6 @@ impl InstantMultipartUpload { realtime_video_done: Option>, recording_dir: PathBuf, ) -> Result<(), AuthedApiError> { - let is_new_uploader_enabled = GeneralSettingsStore::get(&app) - .map_err(|err| { - error!("Error checking status of new uploader flow from settings: {err}") - }) - .ok() - .and_then(|v| v.map(|v| v.enable_new_uploader)) - .unwrap_or(false); - info!("InstantMultipartUpload::run: is new uploader enabled? {is_new_uploader_enabled}"); - if !is_new_uploader_enabled { - return upload_legacy::InstantMultipartUpload::run( - app, - pre_created_video.id.clone(), - file_path, - pre_created_video, - realtime_video_done, - ) - .await - .map_err(Into::into); - } - let video_id = pre_created_video.id.clone(); debug!("Initiating multipart upload for {video_id}..."); diff --git a/apps/desktop/src/routes/(window-chrome)/settings/experimental.tsx b/apps/desktop/src/routes/(window-chrome)/settings/experimental.tsx index 804773a07..2e3573523 100644 --- a/apps/desktop/src/routes/(window-chrome)/settings/experimental.tsx +++ b/apps/desktop/src/routes/(window-chrome)/settings/experimental.tsx @@ -26,7 +26,6 @@ function Inner(props: { initialStore: GeneralSettingsStore | null }) { enableNewRecordingFlow: false, autoZoomOnClicks: false, custom_cursor_capture2: true, - enableNewUploader: false, }, ); @@ -97,19 +96,6 @@ function Inner(props: { initialStore: GeneralSettingsStore | null }) { ); }} /> - { - handleChange("enableNewUploader", value); - // This is bad code, but I just want the UI to not jank and can't seem to find the issue. - setTimeout( - () => window.scrollTo({ top: 0, behavior: "instant" }), - 5, - ); - }} - /> diff --git a/apps/desktop/src/routes/(window-chrome)/settings/general.tsx b/apps/desktop/src/routes/(window-chrome)/settings/general.tsx index 39a3dd055..c1b147516 100644 --- a/apps/desktop/src/routes/(window-chrome)/settings/general.tsx +++ b/apps/desktop/src/routes/(window-chrome)/settings/general.tsx @@ -70,7 +70,6 @@ const createDefaultGeneralSettings = (): GeneralSettingsStore => ({ enableNewRecordingFlow: false, autoZoomOnClicks: false, custom_cursor_capture2: true, - enableNewUploader: false, excludedWindows: [], }); diff --git a/apps/desktop/src/utils/tauri.ts b/apps/desktop/src/utils/tauri.ts index f5ccb1db4..6eb6cc627 100644 --- a/apps/desktop/src/utils/tauri.ts +++ b/apps/desktop/src/utils/tauri.ts @@ -393,7 +393,7 @@ export type ExportSettings = ({ format: "Mp4" } & Mp4ExportSettings) | ({ format export type FileType = "recording" | "screenshot" export type Flags = { captions: boolean } export type FramesRendered = { renderedCount: number; totalFrames: number; type: "FramesRendered" } -export type GeneralSettingsStore = { instanceId?: string; uploadIndividualFiles?: boolean; hideDockIcon?: boolean; hapticsEnabled?: boolean; autoCreateShareableLink?: boolean; enableNotifications?: boolean; disableAutoOpenLinks?: boolean; hasCompletedStartup?: boolean; theme?: AppTheme; commercialLicense?: CommercialLicense | null; lastVersion?: string | null; windowTransparency?: boolean; postStudioRecordingBehaviour?: PostStudioRecordingBehaviour; mainWindowRecordingStartBehaviour?: MainWindowRecordingStartBehaviour; custom_cursor_capture2?: boolean; serverUrl?: string; recordingCountdown?: number | null; enableNativeCameraPreview: boolean; autoZoomOnClicks?: boolean; enableNewRecordingFlow: boolean; postDeletionBehaviour?: PostDeletionBehaviour; enableNewUploader: boolean; excludedWindows?: WindowExclusion[]; deleteInstantRecordingsAfterUpload?: boolean } +export type GeneralSettingsStore = { instanceId?: string; uploadIndividualFiles?: boolean; hideDockIcon?: boolean; hapticsEnabled?: boolean; autoCreateShareableLink?: boolean; enableNotifications?: boolean; disableAutoOpenLinks?: boolean; hasCompletedStartup?: boolean; theme?: AppTheme; commercialLicense?: CommercialLicense | null; lastVersion?: string | null; windowTransparency?: boolean; postStudioRecordingBehaviour?: PostStudioRecordingBehaviour; mainWindowRecordingStartBehaviour?: MainWindowRecordingStartBehaviour; custom_cursor_capture2?: boolean; serverUrl?: string; recordingCountdown?: number | null; enableNativeCameraPreview: boolean; autoZoomOnClicks?: boolean; enableNewRecordingFlow: boolean; postDeletionBehaviour?: PostDeletionBehaviour; excludedWindows?: WindowExclusion[]; deleteInstantRecordingsAfterUpload?: boolean } export type GifExportSettings = { fps: number; resolution_base: XY; quality: GifQuality | null } export type GifQuality = { /** diff --git a/crates/recording/src/sources/audio_mixer.rs b/crates/recording/src/sources/audio_mixer.rs index 46d418f4f..01d7fb45c 100644 --- a/crates/recording/src/sources/audio_mixer.rs +++ b/crates/recording/src/sources/audio_mixer.rs @@ -309,8 +309,9 @@ impl AudioMixer { frame.set_rate(source.info.rate() as u32); - let silence_duration = - Duration::from_secs_f64(silence_samples_count as f64 / rate as f64); + let silence_duration = Duration::from_secs_f64( + silence_samples_count as f64 / rate as f64, + ); let timestamp = buffer_last_timestamp + buffer_last_duration; source.buffer_last = Some((timestamp, silence_duration)); source.buffer.push_back(AudioFrame::new(frame, timestamp)); @@ -687,4 +688,3 @@ mod test { } } } -