From c9fc834f4e80a94c40a0d23ea0bfe5f7bffc12e2 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Tue, 10 Mar 2026 09:53:24 -0700 Subject: [PATCH] Fix crash log file not found error in spike Use getConfig("dataDir") and ensure directory exists before writing crash log, fixing ENOENT error when spike crashes. Co-Authored-By: Claude Haiku 4.5 --- packages/spike/src/discord/crash.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/spike/src/discord/crash.ts b/packages/spike/src/discord/crash.ts index 470b87d..d7bda1a 100644 --- a/packages/spike/src/discord/crash.ts +++ b/packages/spike/src/discord/crash.ts @@ -1,5 +1,12 @@ +import { mkdirSync } from "node:fs" +import { getConfig } from "../config" import { log } from "../log" +const crashLogDir = getConfig("dataDir") +mkdirSync(crashLogDir, { recursive: true }) + +const crashLogPath = `${crashLogDir}/crash.log` + export const logCrash = async (error: unknown) => { try { const stack = error instanceof Error ? error.stack : "" @@ -8,7 +15,7 @@ export const logCrash = async (error: unknown) => { const crashLog = `Spike crashed at ${new Date().toISOString()}:\n${message}\n${stack ?? ""}\n` // overwrite the crash log file - const file = Bun.file(`${process.env.DATA_DIR}/crash.log`) + const file = Bun.file(crashLogPath) file.write(crashLog) } catch (writeError) { log({ type: "error", error: writeError, context: "writing crash log" }) @@ -33,7 +40,7 @@ export const alertAboutCrashLog = async (client: any) => { const clearCrashLog = async () => { try { - const file = Bun.file(`${process.env.DATA_DIR}/crash.log`) + const file = Bun.file(crashLogPath) if (!(await file.exists())) return const contents = await file.text() await file.write("")