Raven Sentry not working in recent Angular 4

I am building an application using Angular 4 and I am using Sentry as a remote registration platform.

The problem is that today I decided to upgrade my packages to my latest versions, and now Sentry destroys my entire application.

Here is my code:

Raven.config(environment.ravenUrl).install();

export class RavenErrorHandler implements ErrorHandler {
  handleError(err: any): void {
    Raven.captureException(err);
  }
}

@NgModule({
  declarations: [
  // My components
  ],
  imports: [
    BrowserModule,
    ReactiveFormsModule,
    HttpModule,
    AppRoutingModule,
    NgbModule.forRoot(),
    StoreModule.forRoot({
      orders: ordersReducer,
      login: loginReducer,
      routerReducer: routerReducer
    }),
    StoreRouterConnectingModule,
    EffectsModule.forRoot([
      OrderEffect,
      LoginEffect
    ]),
    !environment.production ? StoreDevtoolsModule.instrument() : [],
    PerfectScrollbarModule.forRoot(PERFECT_SCROLLBAR_CONFIG)
  ],
  providers: [
    { provide: ErrorHandler, useClass: RavenErrorHandler }
  ],
  bootstrap: [AppComponent],
})
export class AppModule { }

As you can see, I just completed the Clockwork Documentation on how to install it on Angular.

I did some code verification, and I saw that Raven.config(environment.ravenUrl).install();if I delete this call, the error will disappear, but I do not want to do this.

In Google Chrome, the error is this:

zone.js:195 Uncaught RangeError: Maximum call stack size exceeded
    at http://localhost:4200/polyfills.bundle.js:5303:31
    at XMLHttpRequest.proto.(anonymous function) (http://localhost:4200/polyfills.bundle.js:3819:24)
    at XMLHttpRequest.open (http://localhost:4200/vendor.bundle.js:17409:37)
    at Raven._makeRequest (http://localhost:4200/vendor.bundle.js:18090:17)
    at Raven._sendProcessedPayload (http://localhost:4200/vendor.bundle.js:18014:56)
    at Raven._send (http://localhost:4200/vendor.bundle.js:17956:22)
    at Raven._processException (http://localhost:4200/vendor.bundle.js:17730:14)
    at Raven._handleStackInfo (http://localhost:4200/vendor.bundle.js:17636:14)
    at Raven.captureException (http://localhost:4200/vendor.bundle.js:16774:18)
    at XMLHttpRequest.wrapped (http://localhost:4200/vendor.bundle.js:16710:22)
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:2970:31)
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (http://localhost:4200/polyfills.bundle.js:2737:47)
    at ZoneTask.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (http://localhost:4200/polyfills.bundle.js:3044:34)
    at invokeTask (http://localhost:4200/polyfills.bundle.js:3972:14)
    at XMLHttpRequest.globalZoneAwareCallback (http://localhost:4200/polyfills.bundle.js:3990:17)
    at http://localhost:4200/polyfills.bundle.js:5303:31
    at XMLHttpRequest.proto.(anonymous function) (http://localhost:4200/polyfills.bundle.js:3819:24)
    at XMLHttpRequest.open (http://localhost:4200/vendor.bundle.js:17409:37)
    at Raven._makeRequest (http://localhost:4200/vendor.bundle.js:18090:17)
    at Raven._sendProcessedPayload (http://localhost:4200/vendor.bundle.js:18014:56)
    at Raven._send (http://localhost:4200/vendor.bundle.js:17956:22)
    at Raven._processException (http://localhost:4200/vendor.bundle.js:17730:14)
    at Raven._handleStackInfo (http://localhost:4200/vendor.bundle.js:17636:14)
    at Raven.captureException (http://localhost:4200/vendor.bundle.js:16774:18)
    at XMLHttpRequest.wrapped (http://localhost:4200/vendor.bundle.js:16710:22)
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:2970:31)
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (http://localhost:4200/polyfills.bundle.js:2737:47)
    at ZoneTask.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (http://localhost:4200/polyfills.bundle.js:3044:34)
    at invokeTask (http://localhost:4200/polyfills.bundle.js:3972:14)
    at XMLHttpRequest.globalZoneAwareCallback (http://localhost:4200/polyfills.bundle.js:3990:17)
    at http://localhost:4200/polyfills.bundle.js:5303:31
    at XMLHttpRequest.proto.(anonymous function) (http://localhost:4200/polyfills.bundle.js:3819:24)
    at XMLHttpRequest.open (http://localhost:4200/vendor.bundle.js:17409:37)
    at Raven._makeRequest (http://localhost:4200/vendor.bundle.js:18090:17)
    at Raven._sendProcessedPayload (http://localhost:4200/vendor.bundle.js:18014:56)
    at Raven._send (http://localhost:4200/vendor.bundle.js:17956:22)
    at Raven._processException (http://localhost:4200/vendor.bundle.js:17730:14)
    at Raven._handleStackInfo (http://localhost:4200/vendor.bundle.js:17636:14)
    at Raven.captureException (http://localhost:4200/vendor.bundle.js:16774:18)
    at XMLHttpRequest.wrapped (http://localhost:4200/vendor.bundle.js:16710:22)
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:2970:31)
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (http://localhost:4200/polyfills.bundle.js:2737:47)
    at ZoneTask.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (http://localhost:4200/polyfills.bundle.js:3044:34)
    at invokeTask (http://localhost:4200/polyfills.bundle.js:3972:14)
    at XMLHttpRequest.globalZoneAwareCallback (http://localhost:4200/polyfills.bundle.js:3990:17)
    at http://localhost:4200/polyfills.bundle.js:5303:31
    at XMLHttpRequest.proto.(anonymous function) (http://localhost:4200/polyfills.bundle.js:3819:24)
    at XMLHttpRequest.open (http://localhost:4200/vendor.bundle.js:17409:37)
    at Raven._makeRequest (http://localhost:4200/vendor.bundle.js:18090:17)
    at Raven._sendProcessedPayload (http://localhost:4200/vendor.bundle.js:18014:56)

And in Firefox, I just get an error message stating that I have reached the maximum limit for recursion.

, .

- ? , Angular 4.4.2 Angular CLI (1.4.2).

UPDATE

Chrome, , :

zone.js:195 Uncaught <failed to convert exception to string>
webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask  @   zone.js:195
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask   @   zone.js:499
invokeTask  @   zone.js:1427
globalZoneAwareCallback @   zone.js:1445
(anonymous) @   zone.js:2758
proto.(anonymous function)  @   zone.js:1274
(anonymous) @   raven.js:1023
_makeRequest    @   raven.js:1704
_sendProcessedPayload   @   raven.js:1628
_send   @   raven.js:1570
_processException   @   raven.js:1344
_handleStackInfo    @   raven.js:1250
captureException    @   raven.js:388
wrapped @   raven.js:324
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask   @   zone.js:425
webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask  @   zone.js:192
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask   @   zone.js:499
invokeTask  @   zone.js:1427
globalZoneAwareCallback @   zone.js:1445
(anonymous) @   zone.js:2758
proto.(anonymous function)  @   zone.js:1274
(anonymous) @   raven.js:1023
_makeRequest    @   raven.js:1704
_sendProcessedPayload   @   raven.js:1628
_send   @   raven.js:1570
_processException   @   raven.js:1344
_handleStackInfo    @   raven.js:1250
captureException    @   raven.js:388
wrapped @   raven.js:324
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075
wrapped @   raven.js:321
wrapFn  @   zone.js:1075 
+4

Source: https://habr.com/ru/post/1686000/


All Articles