diff --git a/developer/src/kmc/src/util/KeymanSentry.ts b/developer/src/kmc/src/util/KeymanSentry.ts index c7fa7eb7eb..3314086f6a 100644 --- a/developer/src/kmc/src/util/KeymanSentry.ts +++ b/developer/src/kmc/src/util/KeymanSentry.ts @@ -4,6 +4,12 @@ import Sentry from "@sentry/node"; import KEYMAN_VERSION from "@keymanapp/keyman-version"; import { spawnChild } from "./spawnAwait.js"; +/** + * Maximum delay on shutdown of process to send pending events + * to Sentry, in msec + */ +const CLOSE_TIMEOUT = 2000; + const cli = process.argv.join(' '); let isInit = false; @@ -39,7 +45,7 @@ export class KeymanSentry { } } else if(cli.includes('event')) { const eventId = Sentry.captureMessage('Test message from -sentry-client-test-exception event'); - await Sentry.close(2000); + await Sentry.close(CLOSE_TIMEOUT); console.log(`Captured test message with id ${eventId}`); process.exit(0); } else { diff --git a/developer/src/kmc/src/util/NodeCompilerCallbacks.ts b/developer/src/kmc/src/util/NodeCompilerCallbacks.ts index 58fb355e3d..d5e15e0bcc 100644 --- a/developer/src/kmc/src/util/NodeCompilerCallbacks.ts +++ b/developer/src/kmc/src/util/NodeCompilerCallbacks.ts @@ -122,11 +122,11 @@ export class NodeCompilerCallbacks implements CompilerCallbacks { this.messages.push({...event}); - // report fatal errors to Sentry, but don't display; note, it won't be + // report fatal errors to Sentry, but don't abort; note, it won't be // reported if user has disabled the Sentry setting if(CompilerError.severity(event.code) == CompilerErrorSeverity.Fatal) { - // this is async so returns a Promise, we'll let it resolve - // in its own time, and it can print its message then + // this is async so returns a Promise, we'll let it resolve in its own + // time, and it will emit a message to stderr with details at that time KeymanSentry.reportException(event.exceptionVar, false); }