Skip to content

Commit 21838dc

Browse files
Clean up temp files after atomic settings writes
- Remove leftover temp files after renaming keybindings and server settings - Keep atomic write flow while avoiding stale temporary artifacts
1 parent 11d5a70 commit 21838dc

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed

apps/server/src/keybindings.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,7 @@ const makeKeybindings = Effect.gen(function* () {
674674
Effect.tap(() => fs.makeDirectory(path.dirname(keybindingsConfigPath), { recursive: true })),
675675
Effect.tap((encoded) => fs.writeFileString(tempPath, encoded)),
676676
Effect.flatMap(() => fs.rename(tempPath, keybindingsConfigPath)),
677+
Effect.ensuring(fs.remove(tempPath, { force: true }).pipe(Effect.ignore({ log: true }))),
677678
Effect.mapError(
678679
(cause) =>
679680
new KeybindingsConfigError({

apps/server/src/serverSettings.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ const makeServerSettings = Effect.gen(function* () {
226226
Effect.tap(() => fs.makeDirectory(pathService.dirname(settingsPath), { recursive: true })),
227227
Effect.tap((encoded) => fs.writeFileString(tempPath, encoded)),
228228
Effect.flatMap(() => fs.rename(tempPath, settingsPath)),
229+
Effect.ensuring(fs.remove(tempPath, { force: true }).pipe(Effect.ignore({ log: true }))),
229230
Effect.mapError(
230231
(cause) =>
231232
new ServerSettingsError({

0 commit comments

Comments
 (0)