Table of contents

Issues

issues отвечает только за события, которые Hawk JavaScript catcher собирает сам: глобальные ошибки в браузере и, при необходимости, performance-события — Web Vitals, Long Tasks и Long Animation Frames.

Ручная отправка событий не зависит от issues. То есть hawk.send(), hawk.captureError(), обработчики фреймворков и любой код, который вы вызываете сами, продолжат работать даже при:

issues: false

или

issues: { errors: false }

Эти настройки отключают только встроенный сбор событий, описанный ниже.

Через issues можно включать и выключать встроенный сбор событий:

  • глобальные ошибки браузера: window.error и window.unhandledrejection;
  • performance-события: плохие Web Vitals, длинные задачи и тяжёлые кадры;
  • общую фильтрацию через beforeSend, как и для обычных событий.
import HawkCatcher from '@hawk.so/browser'; const hawk = new HawkCatcher({ token: 'INTEGRATION_TOKEN', issues: { errors: true, webVitals: true, longTasks: true, longAnimationFrames: true, }, });

Чтобы отключить весь встроенный сбор из issues, передайте:

const hawk = new HawkCatcher({ token: 'INTEGRATION_TOKEN', issues: false, });

В этом случае Hawk не будет сам подписываться на глобальные ошибки браузера и не запустит performance-детекторы.

Но ручная отправка по-прежнему будет работать:

hawk.send(...); hawk.captureError(...);

Если issues не передан или передан пустой объект:

issues: {}

то глобальные ошибки браузера включены по умолчанию.

А вот performance-детекторы по умолчанию выключены:

webVitals: false longTasks: false longAnimationFrames: false

Их нужно включать явно:

issues: { webVitals: true, longTasks: true, longAnimationFrames: true, }
Ключ Что делает
errors Включает или выключает обработчики window.error и window.unhandledrejection
webVitals Включает сбор Core Web Vitals через web-vitals
longTasks Включает сбор Long Tasks через Performance API
longAnimationFrames Включает сбор Long Animation Frames

Детектор считается включённым, если значение не undefined и не false.

Например, оба варианта включают детектор:

webVitals: true
webVitals: { reportPoorAbove: { LCP: 4500, }, }
issues: false

полностью отключает встроенный сбор из блока issues:

  • глобальные ошибки браузера не перехватываются;
  • Web Vitals не собираются;
  • Long Tasks не собираются;
  • Long Animation Frames не собираются.

При этом ручные вызовы остаются доступными:

hawk.send(...); hawk.captureError(...);

Глобальный перехват ошибок теперь настраивается через:

issues: { errors: false, }

Раньше для этого использовался параметр:

disableGlobalErrorsHandling: true

Сейчас он считается deprecated.

Пока старый параметр ещё поддерживается. Если указать:

disableGlobalErrorsHandling: true

то глобальные обработчики не будут подключены даже при:

issues: { errors: true, }

Для новых интеграций лучше использовать только issues.errors.

Было Стало
disableGlobalErrorsHandling: true issues: { errors: false }
не задавать настройку не задавать errors или указать errors: true

Важно:

errors: false

означает только «не подписываться на глобальные ошибки браузера».

Это не запрещает отправку ошибок вручную. Ошибки из try/catch, hawk.send(error), hawk.captureError(error) и других ручных вызовов будут отправляться как раньше.