diff --git a/.betterer.results b/.betterer.results
index dd98080fa88..ec2f803ce93 100644
--- a/.betterer.results
+++ b/.betterer.results
@@ -2838,6 +2838,10 @@ exports[`better eslint`] = {
[0, 0, 0, "No untranslated strings. Wrap text with ", "2"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "3"]
],
+ "public/app/features/dashboard-scene/saving/DashboardSceneChangeTracker.test.ts:5381": [
+ [0, 0, 0, "Unexpected any. Specify a different type.", "0"],
+ [0, 0, 0, "Unexpected any. Specify a different type.", "1"]
+ ],
"public/app/features/dashboard-scene/saving/SaveDashboardAsForm.tsx:5381": [
[0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "1"],
diff --git a/public/app/features/dashboard-scene/saving/DashboardSceneChangeTracker.test.ts b/public/app/features/dashboard-scene/saving/DashboardSceneChangeTracker.test.ts
new file mode 100644
index 00000000000..413035cf22b
--- /dev/null
+++ b/public/app/features/dashboard-scene/saving/DashboardSceneChangeTracker.test.ts
@@ -0,0 +1,23 @@
+import * as createDetectChangesWorker from 'app/features/dashboard-scene/saving/createDetectChangesWorker';
+
+import { DashboardSceneChangeTracker } from './DashboardSceneChangeTracker';
+
+describe('DashboardSceneChangeTracker', () => {
+ it('should set _changesWorker to undefined when terminate is called', () => {
+ const terminate = jest.fn();
+ jest.spyOn(createDetectChangesWorker, 'createWorker').mockImplementation(
+ () =>
+ ({
+ terminate,
+ }) as any
+ );
+ const changeTracker = new DashboardSceneChangeTracker({
+ subscribeToEvent: jest.fn().mockReturnValue({ unsubscribe: jest.fn() }),
+ } as any);
+ changeTracker.startTrackingChanges();
+
+ expect(changeTracker['_changesWorker']).not.toBeUndefined();
+ changeTracker.terminate();
+ expect(changeTracker['_changesWorker']).toBeUndefined();
+ });
+});
diff --git a/public/app/features/dashboard-scene/saving/DashboardSceneChangeTracker.ts b/public/app/features/dashboard-scene/saving/DashboardSceneChangeTracker.ts
index 4bc186849e9..bf30ddd9e99 100644
--- a/public/app/features/dashboard-scene/saving/DashboardSceneChangeTracker.ts
+++ b/public/app/features/dashboard-scene/saving/DashboardSceneChangeTracker.ts
@@ -188,5 +188,6 @@ export class DashboardSceneChangeTracker {
public terminate() {
this.stopTrackingChanges();
this._changesWorker?.terminate();
+ this._changesWorker = undefined;
}
}