From 99665009f3797b8140218b00cf5104d0100c530e Mon Sep 17 00:00:00 2001 From: "Fusion (runfusion.ai)" Date: Wed, 20 May 2026 03:00:55 -0700 Subject: [PATCH] feat(FN-5222): remove docs link from secrets view Removes a docs link from the SecretsView component and adds a regression test to cover the change. Fusion-Task-Id: FN-5222 --- .../dashboard/app/components/SecretsView.tsx | 3 +-- .../components/__tests__/SecretsView.test.tsx | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/dashboard/app/components/SecretsView.tsx b/packages/dashboard/app/components/SecretsView.tsx index 4b31fd80e..09d997f05 100644 --- a/packages/dashboard/app/components/SecretsView.tsx +++ b/packages/dashboard/app/components/SecretsView.tsx @@ -275,8 +275,7 @@ export const SecretsView = ({ addToast }: SecretsViewProps) => {

- Shared passphrase used to wrap cross-node secret bundles. Both nodes in a sync pair must share the same value. Stored locally only; never transmitted. {" "} - Learn more + Shared passphrase used to wrap cross-node secret bundles. Both nodes in a sync pair must share the same value. Stored locally only; never transmitted.

diff --git a/packages/dashboard/app/components/__tests__/SecretsView.test.tsx b/packages/dashboard/app/components/__tests__/SecretsView.test.tsx index 9c142817d..35d06a886 100644 --- a/packages/dashboard/app/components/__tests__/SecretsView.test.tsx +++ b/packages/dashboard/app/components/__tests__/SecretsView.test.tsx @@ -60,6 +60,22 @@ describe("SecretsView", () => { expect(screen.getByRole("button", { name: "Clear" })).toBeInTheDocument(); }); + it("FN-5222: does not render a docs link in the cross-node sync card", async () => { + vi.stubGlobal( + "fetch", + vi + .fn() + .mockResolvedValueOnce(mockJsonResponse({ ok: true, body: { secrets: [] } })) + .mockResolvedValueOnce(mockJsonResponse({ ok: true, body: { configured: false } })), + ); + + render(); + + await screen.findByText("Not configured"); + expect(screen.queryByRole("link", { name: "Learn more" })).not.toBeInTheDocument(); + expect(document.querySelector('a[href^="/docs/secrets.md"]')).toBeNull(); + }); + it("submitting matching passphrases issues PUT and re-fetches status", async () => { const fetchMock = vi .fn()