1. Aug 09, 2023
    • Marc Durdin's avatar
      chore(developer): improve kmc sentry reporting on fatal build errors · fa19eea8
      Marc Durdin authored
      kmc already reported unhandled exceptions, but any handled fatal errors
      were captured and only reported to the user. It is better to report
      these to Sentry as these are still unexpected.
      
      I have refactored all the fatal exception messages in various kmc
      modules to use a common mechanism, keeping all the Sentry integration in
      kmc, now passing exception data up in the `CompilerEvent.exceptionVar`
      property.
      
      * I took the opportunity to rename messages.ts to
        infrastructureMessages.ts
      
      * @types/chai was missing which gave intellisense errors in vscode
      
      * normal exit of kmc now provides an opportunity for error reports to
        Sentry to be finalized
      
      * Added a unit test for fatal errors in kmc
      
      * Added a manual test pathway with `SENTRY_CLIENT_TEST_BUILD_EXCEPTION`
        env var to trip the build fatal error mechanism and verify that it
        looks ok; the following shows test runs demonstrate how fatal build
        errors are reported:
      
      ```
      mcdurdin@THARK MINGW64 /c/Projects/keyman/app/developer/src/kmc (chore/developer/report-fatal-compiler-errors-to-sentry)
      $ SENTRY_CLIENT_TEST_BUILD_EXCEPTION=1 node . --error-reporting build
      fatal KM05001: Unexpected exception: Error: Test exception from SENTRY_CLIENT_TEST_BUILD_EXCEPTION
      
      Call stack:
      Error: Test exception from SENTRY_CLIENT_TEST_BUILD_EXCEPTION
          at build (file:///C:/Projects/keyman/app/developer/src/kmc/build/src/commands/build.js:78:19)
          at Command.<anonymous> (file:///C:/Projects/keyman/app/developer/src/kmc/build/src/commands/build.js:66:24)
          at Command.listener [as _actionHandler] (C:\Projects\keyman\app\node_modules\commander\lib\command.js:482:17)
          at C:\Projects\keyman\app\node_modules\commander\lib\command.js:1283:65
          at Command._chainOrCall (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1177:12)
          at Command._parseCommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1283:27)
          at C:\Projects\keyman\app\node_modules\commander\lib\command.js:1081:27
          at Command._chainOrCall (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1177:12)
          at Command._dispatchSubcommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1077:23)
          at Command._parseCommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1248:19)
      
          This error has been automatically reported to the Keyman team.
            Identifier:  6f0fca1a26694c22b03f02b2463d39c5
            Application: Keyman Developer
            Reported at: https://sentry.io/organizations/keyman/projects/keyman-developer/events/6f0fca1a26694c22b03f02b2463d39c5/
      
      mcdurdin@THARK MINGW64 /c/Projects/keyman/app/developer/src/kmc (chore/developer/report-fatal-compiler-errors-to-sentry)
      $ SENTRY_CLIENT_TEST_BUILD_EXCEPTION=1 node . --no-error-reporting build
      fatal KM05001: Unexpected exception: Error: Test exception from SENTRY_CLIENT_TEST_BUILD_EXCEPTION
      
      Call stack:
      Error: Test exception from SENTRY_CLIENT_TEST_BUILD_EXCEPTION
          at build (file:///C:/Projects/keyman/app/developer/src/kmc/build/src/commands/build.js:78:19)
          at Command.<anonymous> (file:///C:/Projects/keyman/app/developer/src/kmc/build/src/commands/build.js:66:24)
          at Command.listener [as _actionHandler] (C:\Projects\keyman\app\node_modules\commander\lib\command.js:482:17)
          at C:\Projects\keyman\app\node_modules\commander\lib\command.js:1283:65
          at Command._chainOrCall (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1177:12)
          at Command._parseCommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1283:27)
          at C:\Projects\keyman\app\node_modules\commander\lib\command.js:1081:27
          at Command._chainOrCall (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1177:12)
          at Command._dispatchSubcommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1077:23)
          at Command._parseCommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1248:19)
      ```
      fa19eea8
  2. Aug 08, 2023
  3. Aug 07, 2023
  4. Aug 06, 2023
  5. Aug 05, 2023
  6. Aug 04, 2023
  7. Aug 03, 2023
  8. Aug 02, 2023