Describe the bug
Reported by a user: "when you save the project with modified settings (padding, roundness, …), they are not picked up when the project is reopened".
The settings themselves are saved correctly — legacyEditor in the .openscreen file holds the padding/roundness/wallpaper as expected. What goes wrong is which project you get back.
The recorder hands a finished recording to the editor through a single main-process slot (set/getCurrentRecordingSession in electron/ipc/handlers.ts). NewEditorShell's mount effect reads that slot and, whenever it holds a session, creates a new project and imports the recording into it. Nothing ever empties the slot.
Opening the editor destroys and recreates its window (createEditorWindowWrapper in electron/main.ts, called by the HUD's Open Studio / switch-to-editor and by the File menu), so the mount effect runs again with the same session still parked — and imports the same recording into a second brand-new project, at the default padding / roundness / wallpaper. Everything the user set and saved stays behind in the first project, which is no longer the one on screen.
Evidence on disk (%APPDATA%/openscreen/projects/): two project files whose only asset is the same recording-1786542128356.mp4, created two minutes apart, both with an empty settings envelope.
12/08/2026 15:44:38 proj_89a63c82… …\recordings\recording-1786542128356.mp4 legacyEditor=null
12/08/2026 15:42:38 proj_b0219ba4… …\recordings\recording-1786542128356.mp4 legacyEditor=null
Expected behavior
A recording is imported into a project once. Reopening the editor reopens the project you were working in — with the padding, roundness, wallpaper and every other setting you saved.
Steps to reproduce
- Record something; the editor opens on a new project holding that recording.
- Change padding and roundness in the inspector's Effects panel, save (Ctrl+S — the top bar shows Saved).
- Go back to the HUD and reopen the editor (Open Studio).
- The editor comes up on a different, empty-settings project on the same recording. The saved one is still there under Open project, but nothing points you at it.
Environment
- Reproduces on the current
main (v1.9.x), Windows.
Fix
Consume the hand-off: once the recording lives in a project, clear the session slot so a later mount takes the existing "reopen the most recent project" path — which lands on the project the recording went into.
Describe the bug
Reported by a user: "when you save the project with modified settings (padding, roundness, …), they are not picked up when the project is reopened".
The settings themselves are saved correctly —
legacyEditorin the.openscreenfile holds the padding/roundness/wallpaper as expected. What goes wrong is which project you get back.The recorder hands a finished recording to the editor through a single main-process slot (
set/getCurrentRecordingSessioninelectron/ipc/handlers.ts).NewEditorShell's mount effect reads that slot and, whenever it holds a session, creates a new project and imports the recording into it. Nothing ever empties the slot.Opening the editor destroys and recreates its window (
createEditorWindowWrapperinelectron/main.ts, called by the HUD's Open Studio /switch-to-editorand by the File menu), so the mount effect runs again with the same session still parked — and imports the same recording into a second brand-new project, at the default padding / roundness / wallpaper. Everything the user set and saved stays behind in the first project, which is no longer the one on screen.Evidence on disk (
%APPDATA%/openscreen/projects/): two project files whose only asset is the samerecording-1786542128356.mp4, created two minutes apart, both with an empty settings envelope.Expected behavior
A recording is imported into a project once. Reopening the editor reopens the project you were working in — with the padding, roundness, wallpaper and every other setting you saved.
Steps to reproduce
Environment
main(v1.9.x), Windows.Fix
Consume the hand-off: once the recording lives in a project, clear the session slot so a later mount takes the existing "reopen the most recent project" path — which lands on the project the recording went into.