diff --git a/clients/fides-js/__tests__/lib/consent-utils.test.ts b/clients/fides-js/__tests__/lib/consent-utils.test.ts index 275501ab0cf..db20a604baf 100644 --- a/clients/fides-js/__tests__/lib/consent-utils.test.ts +++ b/clients/fides-js/__tests__/lib/consent-utils.test.ts @@ -345,7 +345,7 @@ describe("shouldResurfaceBanner", () => { }, savedConsent: mockSavedConsent, options: {}, - expected: false, + expected: true, }, { label: "returns false for modal component", diff --git a/clients/fides-js/src/lib/consent-utils.ts b/clients/fides-js/src/lib/consent-utils.ts index 03ac6c7689d..8d38c99732d 100644 --- a/clients/fides-js/src/lib/consent-utils.ts +++ b/clients/fides-js/src/lib/consent-utils.ts @@ -274,9 +274,18 @@ export const shouldResurfaceBanner = ( if (!!options && isConsentOverride(options)) { return false; } + + if ( + cookie.fides_meta.consentMethod === ConsentMethod.DISMISS || + cookie.fides_meta.consentMethod === ConsentMethod.REJECT + ) { + return true; + } + if (experience.meta?.version_hash) { return experience.meta.version_hash !== cookie.tcf_version_hash; } + return true; } // Never surface banner for modal-only or headless experiences diff --git a/clients/package-lock.json b/clients/package-lock.json index fca629cd57c..663e10be8ba 100644 --- a/clients/package-lock.json +++ b/clients/package-lock.json @@ -25084,12 +25084,12 @@ "framer-motion": "12.4.7", "headers-polyfill": "^4.0.3", "immer": "^9.0.21", - "next": "^15.2.3", + "next": "15.2.7", "next-swagger-doc": "^0.4.0", "p-retry": "^6.2.1", "pino": "^9.7.0", - "react": "^19.0.0", - "react-dom": "19.0.0", + "react": "19.0.2", + "react-dom": "19.0.2", "react-error-boundary": "^4.0.13", "react-phone-number-input": "^3.4.1", "react-redux": "^9.2.0", @@ -25155,9 +25155,9 @@ } }, "privacy-center/node_modules/@next/env": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.4.tgz", - "integrity": "sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==", + "version": "15.2.7", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.7.tgz", + "integrity": "sha512-jSxlawUghGPFc7jAzL+Sw4EokhNJ1wGw7JSX0ozGxLw9i41aQGll+MqCMu7uMZO9xicb71e3GcGLJx8vXS6zEQ==", "license": "MIT" }, "privacy-center/node_modules/@next/eslint-plugin-next": { @@ -25170,9 +25170,9 @@ } }, "privacy-center/node_modules/@next/swc-darwin-arm64": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.4.tgz", - "integrity": "sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==", + "version": "15.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.5.tgz", + "integrity": "sha512-4OimvVlFTbgzPdA0kh8A1ih6FN9pQkL4nPXGqemEYgk+e7eQhsst/p35siNNqA49eQA6bvKZ1ASsDtu9gtXuog==", "cpu": [ "arm64" ], @@ -25186,9 +25186,9 @@ } }, "privacy-center/node_modules/@next/swc-darwin-x64": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.4.tgz", - "integrity": "sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==", + "version": "15.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.5.tgz", + "integrity": "sha512-ohzRaE9YbGt1ctE0um+UGYIDkkOxHV44kEcHzLqQigoRLaiMtZzGrA11AJh2Lu0lv51XeiY1ZkUvkThjkVNBMA==", "cpu": [ "x64" ], @@ -25202,9 +25202,9 @@ } }, "privacy-center/node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.4.tgz", - "integrity": "sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==", + "version": "15.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.5.tgz", + "integrity": "sha512-FMSdxSUt5bVXqqOoZCc/Seg4LQep9w/fXTazr/EkpXW2Eu4IFI9FD7zBDlID8TJIybmvKk7mhd9s+2XWxz4flA==", "cpu": [ "arm64" ], @@ -25218,9 +25218,9 @@ } }, "privacy-center/node_modules/@next/swc-linux-arm64-musl": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.4.tgz", - "integrity": "sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==", + "version": "15.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.5.tgz", + "integrity": "sha512-4ZNKmuEiW5hRKkGp2HWwZ+JrvK4DQLgf8YDaqtZyn7NYdl0cHfatvlnLFSWUayx9yFAUagIgRGRk8pFxS8Qniw==", "cpu": [ "arm64" ], @@ -25234,9 +25234,9 @@ } }, "privacy-center/node_modules/@next/swc-linux-x64-gnu": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.4.tgz", - "integrity": "sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==", + "version": "15.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.5.tgz", + "integrity": "sha512-bE6lHQ9GXIf3gCDE53u2pTl99RPZW5V1GLHSRMJ5l/oB/MT+cohu9uwnCK7QUph2xIOu2a6+27kL0REa/kqwZw==", "cpu": [ "x64" ], @@ -25250,9 +25250,9 @@ } }, "privacy-center/node_modules/@next/swc-linux-x64-musl": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.4.tgz", - "integrity": "sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==", + "version": "15.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.5.tgz", + "integrity": "sha512-y7EeQuSkQbTAkCEQnJXm1asRUuGSWAchGJ3c+Qtxh8LVjXleZast8Mn/rL7tZOm7o35QeIpIcid6ufG7EVTTcA==", "cpu": [ "x64" ], @@ -25266,9 +25266,9 @@ } }, "privacy-center/node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.4.tgz", - "integrity": "sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==", + "version": "15.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.5.tgz", + "integrity": "sha512-gQMz0yA8/dskZM2Xyiq2FRShxSrsJNha40Ob/M2n2+JGRrZ0JwTVjLdvtN6vCxuq4ByhOd4a9qEf60hApNR2gQ==", "cpu": [ "arm64" ], @@ -25282,9 +25282,9 @@ } }, "privacy-center/node_modules/@next/swc-win32-x64-msvc": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.4.tgz", - "integrity": "sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==", + "version": "15.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.5.tgz", + "integrity": "sha512-tBDNVUcI7U03+3oMvJ11zrtVin5p0NctiuKmTGyaTIEAVj9Q77xukLXGXRnWxKRIIdFG4OTA2rUVGZDYOwgmAA==", "cpu": [ "x64" ], @@ -25428,12 +25428,13 @@ "integrity": "sha512-+hFFzvimn0sBMP9iPxBa9OtRX35ZQ3py0UHnb8U29VD+d8lQ8zH3dTygJWqK7av2v6yhg7scj9iZuvTS0f4+SA==" }, "privacy-center/node_modules/next": { - "version": "15.2.4", - "resolved": "https://registry.npmjs.org/next/-/next-15.2.4.tgz", - "integrity": "sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==", + "version": "15.2.7", + "resolved": "https://registry.npmjs.org/next/-/next-15.2.7.tgz", + "integrity": "sha512-Tno/NgqoEz7UQpuZSbADLp90CFSUy2RCcHlgRfFtSrNOTefnoIQRbPy5oO7Dhj3DChcw/vd1S8dKHVVlk0WjLg==", + "deprecated": "This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/security-update-2025-12-11 for more details.", "license": "MIT", "dependencies": { - "@next/env": "15.2.4", + "@next/env": "15.2.7", "@swc/counter": "0.1.3", "@swc/helpers": "0.5.15", "busboy": "1.6.0", @@ -25448,14 +25449,14 @@ "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "15.2.4", - "@next/swc-darwin-x64": "15.2.4", - "@next/swc-linux-arm64-gnu": "15.2.4", - "@next/swc-linux-arm64-musl": "15.2.4", - "@next/swc-linux-x64-gnu": "15.2.4", - "@next/swc-linux-x64-musl": "15.2.4", - "@next/swc-win32-arm64-msvc": "15.2.4", - "@next/swc-win32-x64-msvc": "15.2.4", + "@next/swc-darwin-arm64": "15.2.5", + "@next/swc-darwin-x64": "15.2.5", + "@next/swc-linux-arm64-gnu": "15.2.5", + "@next/swc-linux-arm64-musl": "15.2.5", + "@next/swc-linux-x64-gnu": "15.2.5", + "@next/swc-linux-x64-musl": "15.2.5", + "@next/swc-win32-arm64-msvc": "15.2.5", + "@next/swc-win32-x64-msvc": "15.2.5", "sharp": "^0.33.5" }, "peerDependencies": { @@ -25482,22 +25483,24 @@ } }, "privacy-center/node_modules/react": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", - "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.2.tgz", + "integrity": "sha512-xgvB+eJxFIW0HcFmURjOOLhGmbhYVHATKeS+aQd7HeRJI3nYuutqG4eJfBi+I2rFob7E72M3tXJGjv+5XUHLEQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "privacy-center/node_modules/react-dom": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", - "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.2.tgz", + "integrity": "sha512-6N4UcB4mLYRdX3W+z9fIz+2yijW3r7laRQCV+zg8PFCZsy2iVaEQgWy3eLH0NBeQmVyi1PeLzFqXfucqeYghjw==", + "license": "MIT", "dependencies": { "scheduler": "^0.25.0" }, "peerDependencies": { - "react": "^19.0.0" + "react": "^19.0.2" } }, "privacy-center/node_modules/scheduler": { @@ -25587,21 +25590,6 @@ "engines": { "node": ">=10" } - }, - "privacy-center/node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.26", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.26.tgz", - "integrity": "sha512-GQWg/Vbz9zUGi9X80lOeGsz1rMH/MtFO/XqigDznhhhTfDlDoynCM6982mPCbSlxJ/aveZcKtTlwfAjwhyxDpg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } } } } diff --git a/clients/privacy-center/package.json b/clients/privacy-center/package.json index a9bc080fd30..99cb0ec8e11 100644 --- a/clients/privacy-center/package.json +++ b/clients/privacy-center/package.json @@ -40,12 +40,12 @@ "framer-motion": "12.4.7", "headers-polyfill": "^4.0.3", "immer": "^9.0.21", - "next": "^15.2.3", + "next": "15.2.7", "next-swagger-doc": "^0.4.0", "p-retry": "^6.2.1", "pino": "^9.7.0", - "react": "^19.0.0", - "react-dom": "19.0.0", + "react": "19.0.2", + "react-dom": "19.0.2", "react-error-boundary": "^4.0.13", "react-phone-number-input": "^3.4.1", "react-redux": "^9.2.0",