From 75df598bc0fc71ed47558a9b8c73e68dc52fce43 Mon Sep 17 00:00:00 2001 From: momen Date: Mon, 18 May 2026 23:14:10 +0800 Subject: [PATCH] fix(detail): normalize review store arch --- src/__tests__/unit/appIdentity.test.ts | 9 +++++++++ src/modules/appIdentity.ts | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/__tests__/unit/appIdentity.test.ts b/src/__tests__/unit/appIdentity.test.ts index ef376d10..fcc5bea0 100644 --- a/src/__tests__/unit/appIdentity.test.ts +++ b/src/__tests__/unit/appIdentity.test.ts @@ -35,6 +35,15 @@ describe("appIdentity", () => { expect(buildReviewAppKey(app, "amd64")).toBe("apm:amd64-apm:office:wps"); }); + it("builds review keys from already-qualified client arch values", () => { + expect(buildReviewAppKey({ ...app, origin: "spark" }, "amd64-store")).toBe( + "spark:amd64-store:office:wps", + ); + expect(buildReviewAppKey(app, "amd64-apm")).toBe( + "apm:amd64-apm:office:wps", + ); + }); + it("parses package arch and review tags", () => { expect(parsePackageArch(app.filename)).toBe("amd64"); expect( diff --git a/src/modules/appIdentity.ts b/src/modules/appIdentity.ts index efea36ed..7cf59e43 100644 --- a/src/modules/appIdentity.ts +++ b/src/modules/appIdentity.ts @@ -9,7 +9,8 @@ export const buildStoreArch = ( origin: "spark" | "apm", clientArch: string, ): string => { - return `${clientArch}-${origin === "spark" ? "store" : "apm"}`; + const rawArch = clientArch.replace(/-(store|apm)$/, ""); + return `${rawArch}-${origin === "spark" ? "store" : "apm"}`; }; export const buildFavoriteAppKey = (app: App): string => {