From 107f02d82c400d16ff5410e5ebd3de32be9832b8 Mon Sep 17 00:00:00 2001 From: Philippe Bernery Date: Thu, 17 Feb 2022 16:56:21 +0100 Subject: [PATCH 1/3] Fix access to backburner `run.backburner` is deprecated and creates errors now when used. This commit fixes the issue by using the `_backburner` if it exists (which is the case in recent versions of Ember), or `run.backbackburner` if not (which is the case in older versions of Ember). --- .../ember/addon/instance-initializers/sentry-performance.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/ember/addon/instance-initializers/sentry-performance.ts b/packages/ember/addon/instance-initializers/sentry-performance.ts index a750bb404153..2a97a3362fd3 100644 --- a/packages/ember/addon/instance-initializers/sentry-performance.ts +++ b/packages/ember/addon/instance-initializers/sentry-performance.ts @@ -29,10 +29,13 @@ export function initialize(appInstance: ApplicationInstance): void { } function getBackburner() { + if (_backburner) { + return _backburner; + } + if (run.backburner) { return run.backburner; } - return _backburner; } function getTransitionInformation(transition: any, router: any) { From 4aca5e7ea7213952a1749ce3a3d3cdccf1b5859d Mon Sep 17 00:00:00 2001 From: Philippe Bernery Date: Thu, 24 Feb 2022 15:26:09 +0100 Subject: [PATCH 2/3] Always return a value --- .../ember/addon/instance-initializers/sentry-performance.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/ember/addon/instance-initializers/sentry-performance.ts b/packages/ember/addon/instance-initializers/sentry-performance.ts index 2a97a3362fd3..18405673622b 100644 --- a/packages/ember/addon/instance-initializers/sentry-performance.ts +++ b/packages/ember/addon/instance-initializers/sentry-performance.ts @@ -33,9 +33,7 @@ function getBackburner() { return _backburner; } - if (run.backburner) { - return run.backburner; - } + return run.backburner; } function getTransitionInformation(transition: any, router: any) { From bf68c8a92cfbbde75ef4473bf9fa8aa46e4e46cc Mon Sep 17 00:00:00 2001 From: Philippe Bernery Date: Fri, 25 Feb 2022 16:45:25 +0100 Subject: [PATCH 3/3] Be conservative and fallback to mock object --- .../instance-initializers/sentry-performance.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/ember/addon/instance-initializers/sentry-performance.ts b/packages/ember/addon/instance-initializers/sentry-performance.ts index 18405673622b..0a43bc582c96 100644 --- a/packages/ember/addon/instance-initializers/sentry-performance.ts +++ b/packages/ember/addon/instance-initializers/sentry-performance.ts @@ -2,6 +2,7 @@ import ApplicationInstance from '@ember/application/instance'; import Ember from 'ember'; import { run, _backburner, scheduleOnce } from '@ember/runloop'; import * as Sentry from '@sentry/browser'; +import { ExtendedBackburner } from "@sentry/ember/runloop"; import { Span, Transaction, Integration } from '@sentry/types'; import { EmberRunQueues } from '@ember/runloop/-private/types'; import { getActiveTransaction } from '..'; @@ -28,12 +29,19 @@ export function initialize(appInstance: ApplicationInstance): void { } } -function getBackburner() { +function getBackburner(): Pick { if (_backburner) { return _backburner; } - return run.backburner; + if (run.backburner) { + return run.backburner; + } + + return { + on() {}, + off() {} + } } function getTransitionInformation(transition: any, router: any) {