diff --git a/.changeset/loud-dolphins-clap.md b/.changeset/loud-dolphins-clap.md new file mode 100644 index 000000000..4f53cefa5 --- /dev/null +++ b/.changeset/loud-dolphins-clap.md @@ -0,0 +1,5 @@ +--- +'@segment/analytics-core': patch +--- + +Remove extraneous code from EQ diff --git a/packages/core/src/queue/__tests__/extension-flushing.test.ts b/packages/core/src/queue/__tests__/extension-flushing.test.ts index 4e2138e8c..3b723ae20 100644 --- a/packages/core/src/queue/__tests__/extension-flushing.test.ts +++ b/packages/core/src/queue/__tests__/extension-flushing.test.ts @@ -30,6 +30,9 @@ const testPlugin: Plugin = { const ajs = {} as CoreAnalytics +// get rid of console spam for thrown errors. +jest.spyOn(console, 'warn').mockImplementation(() => {}) + describe('Registration', () => { test('can register plugins', async () => { const eq = new EventQueue() @@ -130,6 +133,7 @@ describe('Plugin flushing', () => { }) test('atempts `enrichment` plugins', async () => { + jest.spyOn(console, 'warn').mockImplementationOnce(() => null) const eq = new EventQueue() await eq.register( diff --git a/packages/core/src/queue/event-queue.ts b/packages/core/src/queue/event-queue.ts index d37891208..2aa7bd127 100644 --- a/packages/core/src/queue/event-queue.ts +++ b/packages/core/src/queue/event-queue.ts @@ -133,11 +133,6 @@ export class EventQueue extends Emitter { ctx.attempts = 1 return this.deliver(ctx).catch((err) => { - if (err instanceof ContextCancelation && err.retry === false) { - ctx.setFailedDelivery({ reason: err }) - return ctx - } - const accepted = this.enqueuRetry(err, ctx) if (!accepted) { ctx.setFailedDelivery({ reason: err }) @@ -194,16 +189,12 @@ export class EventQueue extends Emitter { } private enqueuRetry(err: Error, ctx: CoreContext): boolean { - const notRetriable = - err instanceof ContextCancelation && err.retry === false - const retriable = !notRetriable - - if (retriable) { - const accepted = this.queue.pushWithBackoff(ctx) - return accepted + const retriable = !(err instanceof ContextCancelation) || err.retry + if (!retriable) { + return false } - return false + return this.queue.pushWithBackoff(ctx) } async flush(): Promise {