From a5e543c1dd8a12819c86dc9331640a1c99c39c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20G=C3=B3is?= Date: Thu, 28 Aug 2025 16:36:17 +0100 Subject: [PATCH] chore: unknown flags should not include flags that exist in Unleash --- .../unknown-flags/unknown-flags-store.ts | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/lib/features/metrics/unknown-flags/unknown-flags-store.ts b/src/lib/features/metrics/unknown-flags/unknown-flags-store.ts index f665f75a3d..9ac4d8098f 100644 --- a/src/lib/features/metrics/unknown-flags/unknown-flags-store.ts +++ b/src/lib/features/metrics/unknown-flags/unknown-flags-store.ts @@ -66,18 +66,24 @@ export class UnknownFlagsStore implements IUnknownFlagsStore { } async getAll({ limit, orderBy }: QueryParams = {}): Promise { - let query = this.db(`${TABLE} AS uf`).select( - 'uf.name', - 'uf.app_name', - 'uf.seen_at', - 'uf.environment', - this.db.raw( - `(SELECT MAX(e.created_at) + let query = this.db(`${TABLE} AS uf`) + .select( + 'uf.name', + 'uf.app_name', + 'uf.seen_at', + 'uf.environment', + this.db.raw( + `(SELECT MAX(e.created_at) FROM ${TABLE_EVENTS} AS e WHERE e.feature_name = uf.name) AS last_event_at`, - ), - ); + ), + ) + .whereNotExists( + this.db('features as f') + .select(this.db.raw('1')) + .whereRaw('f.name = uf.name'), + ); if (orderBy) { query = query.orderBy(orderBy);