From 32ddf1487b9e1fcb1572a0ab8dbde038f1518b92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gast=C3=B3n=20Fournier?= Date: Tue, 19 Aug 2025 05:46:00 -0700 Subject: [PATCH] chore: ignore CR events with feature name (#10503) ## About the changes This ignores Change Request event types when calculating the etag because Change Request events don't change data. They were being included when the change request event contained a featureName. After this change, those should be excluded. --- src/lib/features/events/event-store.ts | 3 ++- src/test/e2e/api/client/feature.optimal304.e2e.test.ts | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/features/events/event-store.ts b/src/lib/features/events/event-store.ts index 43d86b43b4..ede6faac4c 100644 --- a/src/lib/features/events/event-store.ts +++ b/src/lib/features/events/event-store.ts @@ -203,7 +203,8 @@ export class EventStore implements IEventStore { .whereNotIn('type', [ FEATURE_CREATED, FEATURE_TAGGED, - ]), + ]) + .whereNot('type', 'LIKE', 'change-%'), ) .orWhereIn('type', [ SEGMENT_UPDATED, diff --git a/src/test/e2e/api/client/feature.optimal304.e2e.test.ts b/src/test/e2e/api/client/feature.optimal304.e2e.test.ts index b6651bf39e..c90a40ddad 100644 --- a/src/test/e2e/api/client/feature.optimal304.e2e.test.ts +++ b/src/test/e2e/api/client/feature.optimal304.e2e.test.ts @@ -6,6 +6,7 @@ import dbInit, { type ITestDb } from '../../helpers/database-init.js'; import getLogger from '../../../fixtures/no-logger.js'; import type User from '../../../../lib/types/user.js'; import { TEST_AUDIT_USER } from '../../../../lib/types/index.js'; +import { CHANGE_REQUEST_CREATED } from '../../../../lib/events/index.js'; // import { DEFAULT_ENV } from '../../../../lib/util/constants'; const testUser = { name: 'test', id: -9999 } as User; @@ -139,6 +140,14 @@ describe.each([ TEST_AUDIT_USER, ); + await app.services.eventService.storeEvent({ + type: CHANGE_REQUEST_CREATED, + createdBy: testUser.email, + createdByUserId: testUser.id, + ip: '127.0.0.1', + featureName: `ch-on-feature-${apendix}`, + }); + shutdownHooks.push(async () => { await app.destroy(); await db.destroy();