From d30a324293c54eec2f89fbc66c50c62c3e12a652 Mon Sep 17 00:00:00 2001 From: kyy Date: Tue, 16 Jun 2026 15:55:14 +0900 Subject: [PATCH] =?UTF-8?q?recent=20changes=20=EA=B4=80=EA=B3=84=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=20=ED=8C=8C=EC=8B=B1=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/features/overview/recentClientChanges.test.ts | 10 ++++++++++ devfront/src/features/overview/recentClientChanges.ts | 8 +++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/devfront/src/features/overview/recentClientChanges.test.ts b/devfront/src/features/overview/recentClientChanges.test.ts index 243bfb08..2dee876e 100644 --- a/devfront/src/features/overview/recentClientChanges.test.ts +++ b/devfront/src/features/overview/recentClientChanges.test.ts @@ -89,6 +89,16 @@ describe("recent client changes", () => { { label: "Relation", value: "admins" }, { label: "Subject", value: "User:1" }, ]); + + expect( + buildRecentClientChangeDetails("ADD_RELATION", { + relation: "config_editor", + subject: "User:2", + }), + ).toEqual([ + { label: "Relation", value: "config_editor" }, + { label: "Subject", value: "User:2" }, + ]); }); it("ignores audit object key order changes in update details", () => { diff --git a/devfront/src/features/overview/recentClientChanges.ts b/devfront/src/features/overview/recentClientChanges.ts index 3262b59e..c5930c27 100644 --- a/devfront/src/features/overview/recentClientChanges.ts +++ b/devfront/src/features/overview/recentClientChanges.ts @@ -257,6 +257,12 @@ export function buildRecentClientChangeDetails( ) { const before = isRecord(details.before) ? details.before : {}; const after = isRecord(details.after) ? details.after : {}; + const sourceDetails = + action === "ADD_RELATION" + ? { ...after, ...details } + : action === "REMOVE_RELATION" + ? { ...before, ...details } + : {}; if (action === "ROTATE_SECRET") { return [ @@ -268,7 +274,7 @@ export function buildRecentClientChangeDetails( } if (action === "ADD_RELATION" || action === "REMOVE_RELATION") { - const source = action === "ADD_RELATION" ? after : before; + const source = sourceDetails; return [ ...(source.relation ? [