From fa9d3a85b37dda9f137be9859ebcbb2889e7ce75 Mon Sep 17 00:00:00 2001 From: Erdi Rowlands Date: Fri, 9 Aug 2024 13:55:12 +0100 Subject: [PATCH 1/2] FFM-11852 Harden poller firing more than once edge cases --- src/poller.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/poller.ts b/src/poller.ts index a493da0..6e9f6b8 100644 --- a/src/poller.ts +++ b/src/poller.ts @@ -32,8 +32,12 @@ export default class Poller { } private poll(): void { + if (!this.isRunning) return this.attemptFetch().finally(() => { - this.timeoutId = setTimeout(() => this.poll(), this.configurations.pollingInterval) + // Check if poller is still running before setting the next timeout + if (this.isRunning) { + this.timeoutId = setTimeout(() => this.poll(), this.configurations.pollingInterval) + } }) } @@ -70,9 +74,9 @@ export default class Poller { public stop(): void { if (this.timeoutId) { + this.isRunning = false clearTimeout(this.timeoutId) this.timeoutId = undefined - this.isRunning = false this.eventBus.emit(Event.POLLING_STOPPED) this.logDebugMessage('Polling stopped') } From 197fe50021dd57d1a8d6ca8d6e3513d747212b71 Mon Sep 17 00:00:00 2001 From: Erdi Rowlands Date: Mon, 12 Aug 2024 15:04:53 +0100 Subject: [PATCH 2/2] FFM-11852 Version bump --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5407278..ae915b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@harnessio/ff-javascript-client-sdk", - "version": "1.27.0-rc.0", + "version": "1.27.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@harnessio/ff-javascript-client-sdk", - "version": "1.27.0-rc.0", + "version": "1.27.0", "license": "Apache-2.0", "dependencies": { "jwt-decode": "^3.1.2", diff --git a/package.json b/package.json index dbcc5c5..8a79ce4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@harnessio/ff-javascript-client-sdk", - "version": "1.27.0-rc.0", + "version": "1.27.0", "author": "Harness", "license": "Apache-2.0", "main": "dist/sdk.cjs.js",