Skip to content

fix(cookies): skip Orejime init when consent popup is disabled - #6013

Open
Hashim1999164 wants to merge 1 commit into
DSpace:mainfrom
Hashim1999164:fix/6009-skip-orejime-when-disabled
Open

fix(cookies): skip Orejime init when consent popup is disabled#6013
Hashim1999164 wants to merge 1 commit into
DSpace:mainfrom
Hashim1999164:fix/6009-skip-orejime-when-disabled

Conversation

@Hashim1999164

@Hashim1999164 Hashim1999164 commented Jul 31, 2026

Copy link
Copy Markdown

References

Description

When enableCookieConsentPopup is false, the UI no longer initializes Orejime with an empty apps list (which Orejime rejects and logs to the console).

Instructions for Reviewers

List of changes in this PR:

  • Return early from BrowserOrejimeService.initialize() when the cookie consent popup is disabled, instead of calling init() with apps: [].
  • Guard showSettings() so it is a no-op if Orejime was never initialized.
  • Add a unit test covering the disabled-popup path.

How to test:

  1. Set info.enableCookieConsentPopup: false in config (or use the existing CI env that sets this).
  2. Open any page and confirm the Orejime "you must define apps" console error is gone.
  3. Confirm the cookie settings footer link stays hidden.
  4. npm run test -- --include=src/app/core/cookies/browser-orejime.service.spec.ts --browsers=ChromeHeadless (22 tests passing locally).

Checklist

  • My PR is created against the main branch of code (unless it is a backport or is fixing an issue specific to an older branch).
  • My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
  • My PR follows all coding best practices based on the Code Conventions Guide
  • My PR passes ESLint validation using npm run lint
  • My PR doesn't introduce circular dependencies (verified via npm run check-circ-deps)
  • My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.
  • My PR passes all specs/tests and includes new/updated specs or tests based on the Code Testing Guide.
  • My PR aligns with Accessibility guidelines if it makes changes to the user interface.
  • My PR uses i18n (internationalization) keys instead of hardcoded English text, to allow for translations.
  • My PR includes details on how to test it. I've provided clear instructions to reviewers on how to successfully test this fix or feature.
  • If my PR includes new libraries/dependencies (in package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
  • If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself.
  • If my PR fixes an issue ticket, I've linked them together.

Orejime requires a non-empty apps list, so initializing with apps=[] when
enableCookieConsentPopup is false logged a console error. Return early
instead and guard showSettings when no instance exists.

Fixes DSpace#6009
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Turning off the cookie dialog results in a browser error message

1 participant