From 6703e6fb635f3495d19cb490ec804b6ea9593310 Mon Sep 17 00:00:00 2001 From: webadderall <131426131+webadderall@users.noreply.github.com> Date: Thu, 9 Apr 2026 21:24:19 +1000 Subject: [PATCH] fix(settings): restore user preferences after loading project on startup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When loading a saved project on startup, applyLoadedProject() overwrites all editor state — including user preference settings like padding, aspect ratio, and export format — with potentially stale project values. The subsequent save effect then writes those stale values back to localStorage, effectively erasing the user's latest preferences. Now re-applies preference-level settings from localStorage after project load so that per-user settings (padding, border radius, aspect ratio, export format/quality/encoding, gif settings) survive across sessions. Fixes #197 --- src/components/video-editor/VideoEditor.tsx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/components/video-editor/VideoEditor.tsx b/src/components/video-editor/VideoEditor.tsx index 0c4e5f2d..0bd6b7f3 100644 --- a/src/components/video-editor/VideoEditor.tsx +++ b/src/components/video-editor/VideoEditor.tsx @@ -1587,6 +1587,21 @@ export default function VideoEditor() { currentProjectResult.path ?? null, ); if (restored) { + // Re-apply user preferences so stale project data does not + // overwrite the last-used padding, aspect ratio, export + // settings, etc. that were saved to localStorage. + setPadding(initialEditorPreferences.padding); + setBorderRadius(initialEditorPreferences.borderRadius); + setAspectRatio(initialEditorPreferences.aspectRatio); + setExportFormat(initialEditorPreferences.exportFormat); + setMp4FrameRate(initialEditorPreferences.mp4FrameRate ?? DEFAULT_MP4_EXPORT_FRAME_RATE); + setExportQuality(initialEditorPreferences.exportQuality); + setExportEncodingMode(initialEditorPreferences.exportEncodingMode); + setExportBackendPreference(initialEditorPreferences.exportBackendPreference); + setExportPipelineModel(initialEditorPreferences.exportPipelineModel); + setGifFrameRate(initialEditorPreferences.gifFrameRate); + setGifLoop(initialEditorPreferences.gifLoop); + setGifSizePreset(initialEditorPreferences.gifSizePreset); return; } }