Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MWPW-155314 [MEP] Enable Entitlements + Operator #2638

Merged
merged 1 commit into from
Aug 5, 2024

Conversation

JingleH
Copy link
Contributor

@JingleH JingleH commented Jul 26, 2024

This PR aims to address this scenario: when an experience column is authored to like desktop & cc-all-apps-any in MEP Manifest, right now, unless there's coincidently another column like cc-all-apps-any, the variant desktop & cc-all-apps-any will never get selected. Reason is that current logic in getPersonalizationVariant() for splitting variant name doesn't include &, so hasEntitlementTag will stay false, leading to no entitlement resolution. The code change tries to split by & when building out variantInfo.allNames. It is used to check if any entitlement tags are used. variantInfo[name] is used for variant mapping and thus unmodified.

This bug might again be trickier to reproduce, due to Milo by default doesn't do entitlements when logged out, and IMS only working on very specific branch links. So on the feature branch, the page is in a deadlock situation, with MEP waiting for entitlements that will never be resolved. (added a catch for IMS error so entitlements will still resolve). But you can create a MEP experience like https://gnav--milo--adobecom.hlx.page/drafts/jinglhua/desktop-entitlements and https://main--milo--adobecom.hlx.page/drafts/jinglhua/desktop-ent.json and then use logs or breakpoints around variantInfo and confirm that entitlements not getting resolved currently. To verify my fix, do the same, and you should see that at least it tries to resolve (will be resolved to an empty array due to IMS).

Resolves: https://jira.corp.adobe.com/browse/MWPW-155314

Test URLs:

@JingleH JingleH requested a review from a team as a code owner July 26, 2024 20:42
Copy link
Contributor

aem-code-sync bot commented Jul 26, 2024

Hello, I'm the AEM Code Sync Bot and I will run some actions to deploy your branch and validate page speed.
In case there are problems, just click a checkbox below to rerun the respective action.

  • Re-run PSI checks
  • Re-sync branch
Commits

Copy link
Contributor

aem-code-sync bot commented Jul 26, 2024

Page Scores Audits Google
/drafts/jinglhua/desktop-entitlements PERFORMANCE A11Y SEO BEST PRACTICES SI FCP LCP TBT CLS PSI

Copy link

codecov bot commented Jul 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.76%. Comparing base (071a858) to head (f88b078).
Report is 6 commits behind head on stage.

Additional details and impacted files
@@            Coverage Diff             @@
##            stage    #2638      +/-   ##
==========================================
+ Coverage   95.74%   95.76%   +0.02%     
==========================================
  Files         172      172              
  Lines       45427    45445      +18     
==========================================
+ Hits        43492    43519      +27     
+ Misses       1935     1926       -9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@aem-code-sync aem-code-sync bot temporarily deployed to mep-entitlements-operator July 26, 2024 20:50 Inactive
@JingleH JingleH added bug Something isn't working @personalization run-nala Run Nala Test Automation against PR run-milo-live Run Milo Test Nala run-nala-on-feds Feds run and removed run-nala Run Nala Test Automation against PR run-milo-live Run Milo Test Nala run-nala-on-feds Feds run labels Jul 26, 2024
Copy link
Contributor

@chrischrischris chrischrischris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If possible add a unit test case

acc[name] = vNames;
acc.allNames = [...acc.allNames, ...vNames];
acc[name] = trimNames(nameArr);
acc.allNames = [...acc.allNames, ...trimNames(name.split(/[,&]/))];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ahh... good catch sir!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @chrischrischris , I updated the regex and unit tests. We should be all covered!

@JingleH
Copy link
Contributor Author

JingleH commented Jul 26, 2024

i'll be adding UT on Monday

Copy link
Contributor

This pull request is not passing all required checks. Please see this discussion for information on how to get all checks passing. Inconsistent checks can be manually retried. If a test absolutely can not pass for a good reason, please add a comment with an explanation to the PR.

Copy link
Contributor

@vhargrave vhargrave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great to me asides from the points Chris made 👍 .
I'll approve once those are done. Nice one mate!

@vgoodric
Copy link
Contributor

Looking good so far to me as well. Will check back after "not" support and unit test updates are ready

@JingleH JingleH force-pushed the mep-entitlements-operator branch from ad27fdf to e708262 Compare July 30, 2024 21:20
@aem-code-sync aem-code-sync bot temporarily deployed to mep-entitlements-operator July 30, 2024 21:20 Inactive
@JingleH JingleH force-pushed the mep-entitlements-operator branch from e708262 to 2014e49 Compare July 30, 2024 23:37
@aem-code-sync aem-code-sync bot temporarily deployed to mep-entitlements-operator July 30, 2024 23:37 Inactive
@JingleH JingleH requested a review from chrischrischris July 30, 2024 23:54
@JingleH
Copy link
Contributor Author

JingleH commented Jul 30, 2024

Hello friends @chrischrischris @vivgoodrich @vhargrave, all comments are taken care of and changed lines are 100% covered by unit tests. The only not-passing check is psi but that's due to Target. Let me know if you find anything else!

Copy link
Contributor

@overmyheadandbody overmyheadandbody left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a heads up that you need to rebase this with stage, as they got out of sync.

@JingleH
Copy link
Contributor Author

JingleH commented Jul 31, 2024

und variantInfo and confirm that entitlements not getting resolved currently. To verify my fix, do the same, and you should see that at le

done the rebase!

@vgoodric
Copy link
Contributor

vgoodric commented Aug 1, 2024

I think I'm missing something.
are you reversing the value if there is a "not"?
like if they are in "cc-all-app-any" then "not cc-all-app-any" should return false
and I can't tell if you're doing that

@vgoodric vgoodric changed the title [MEP] Enable Entitlements + Operator MWPW-155314 [MEP] Enable Entitlements + Operator Aug 3, 2024
@vgoodric
Copy link
Contributor

vgoodric commented Aug 3, 2024

Discussed the issue with Jingle and am no longer concerned about the handling of the "not" operator.

Copy link
Contributor

github-actions bot commented Aug 4, 2024

Reminder to set the Ready for Stage label - to queue this to get merged to stage & production.

Copy link
Contributor

@vhargrave vhargrave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very nice!

@vgoodric vgoodric changed the base branch from stage to mepblockjs August 5, 2024 20:08
@vgoodric vgoodric merged commit bc520af into mepblockjs Aug 5, 2024
21 of 22 checks passed
@vgoodric vgoodric deleted the mep-entitlements-operator branch August 5, 2024 20:08
mokimo pushed a commit that referenced this pull request Aug 12, 2024
…de on stage (#2693)

* calculate even on stage, find miloLibs and origin outside of loop

* MWPW-155314 [MEP] Enable Entitlements + Operator (#2638)

port over fixes

---------

Co-authored-by: Jingle Huang <32369333+JingleH@users.noreply.github.com>
elan-tbx added a commit that referenced this pull request Aug 12, 2024
Revert "MWPW-147867 - [marquee] support RTL for loc" (#2662)

Revert "MWPW-147867 - [marquee] support RTL for loc (#2640)"

This reverts commit 49df5f7.

Revert "[MWPW-145131] Send locale and language code to analytics" (#2661)

Revert "[MWPW-145131] Send locale and language code to analytics (#2600)"

This reverts commit 04e687f.

MWPW-155079 [MILO][MEP] Manifests not changing domains (#2626)

* replace overridePersonalizationVariant function

* Fix chaining

* Move parseMepParam

* add additional optional chaining operator

Co-authored-by: Vivian A Goodrich <101133187+vgoodric@users.noreply.github.com>

* Refactor personalization.js

* Remove comment

* Add TargetManifestId

* Remove comment

* Add targetManifestId test

* Refactor addMepHighlightAndTargetManifestIdGnav

* Remove console.log from test

* Shorten function name

* Limits targetManifestId to target exp and adds missing name to  manifestId

* Fix test

* Handle default selectedVariant issue

* Mostly done

* Merging in prop display update

* Unit tests fixed

* Add targetmanifestid to useblockcode

* refactor to remove unnecessary import

* Remove commented code

* Removing unused functions

* Update tests, not including replacePage

* Shorten Function Name

* move insert inline back to fragment.js

* additional cleanup and unit tests

* Fix adobeTargetTestId issues

* add optional chaining

* Update condition for addAnalyticsForUseBlockCode

* Refactor to handle analytics for updatemetadata

* Fix useBlockCode test

* Fix merged merged test

* Remove applyPers from preload fragments test

* Fix martech init post-merge

* Fix tests and martech merge cleanup

* Dynamically import personalization.js

* add 2 ignore comments

* add conditional chaining

* Remove mwpw-146528 temp files

* MWPW-152275 Move manifest.json request up while waiting on sstats / etc. (#2608)

* add preload

* shorten if and and conditional chaining

* run loop even if Target is off

* Add nullish coalescing assignment suggestion

* MWPW-154998 [MEP][MILO] Manifests do not execute in the right order when there is a disabled manifest (#2616)

* add default execution order

* unit test

* normalizePath

* add normalizePath back into preload

* MWPW-155568 [MILO][MEP] If MEP is completely off, mep param should still show button (#2658)

don't return if param is present but empty

---------

Co-authored-by: markpadbe <markp@adobe.com>
Co-authored-by: Mark Perry <124626043+markpadbe@users.noreply.github.com>

MWPW-146030 and MWPW-143704 Add fresco-any and cc-paid-no-stock (#2657)

add entitlements

Attaching loadblock to window to provide alternative way of loading the script (#2660)

Attaching loadblock to window

MWPW-155316 - Fixing Pill Notification edge cases (#2639)

* handling pill edge cases

* pill edge case styles

* update tests to fix coverage

* correction to previous commit

* updates based on PR feedback

* more simplifying

* adding an additional filter

* style tweak

* change inline size for desktop pills

* revert of icon sizing

* revert of ribbon revert

Correctly pass on the dataset (#2651)

MWPW-155289: Fixed filtering and sorting in catalog sidenav (#2653)

handled empty hash case in deeplink

MWPW-154124: use preview index (#2654)

* MWPW-154124: use preview index

* should remove both links

[AUTOMATED-PR] Update imslib.min.js dependency (#2659)

Update self hosted dependency

Co-authored-by: GitHub Action <action@github.com>

[MWPW-152181] Tabbing gets "stuck" after second instance of merch-card CTAs, within a segment blade (#2650)

* Allow the default tab action to proceed if the current focused element is from the last merch card

* ran "npm run build"

* Updated readme

* fix vulnerability

* Revert "fix vulnerability"

This reverts commit e34d131.

* allow tabbing across section for merch cards

---------

Co-authored-by: Rohit Sahu <rosahu@adobe.com>

[MWPW-145131] Send locale and language code to analytics (#2670)

MWPW-147867 - [marquee] support RTL for loc - RePost (#2676)

added `support-rtl` selectors

MWPW-155691 [MILO][MEP] Also use region in placeholders decision  (#2680)

* use region for placeholders

* move region to it's own line

* move value to last and add other

MWPW-154901 Set debug=true on categories container (#2624)

* MWPW-154901: enables debug=true based on container type

* Update libs/blocks/caas/utils.js

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: milo-pr-merge[bot] <169241390+milo-pr-merge[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

[MWPW-136406] Tabs block enhancement: deep linking (#2652)

* query param for focused tab

* addressed feedback

add lockup support

lockup improvements

updating button defaults

fix button size logic

update default btn size for banners

MWPW-154981: adds a new Created Date option to details text (#2685)

Co-authored-by: milo-pr-merge[bot] <169241390+milo-pr-merge[bot]@users.noreply.github.com>

MWPW-155781 [MILO] Geo Modal Tracking on BACOM - Missing custom link (#2694)

add analytic

MWPW-154898 No wait for modal fragment (#2607)

No wait for modal fragment

MWPW-154191: Ability to have green promo text on merch-card to bottom of the card (under description) (#2663)

added promo-text slot to all merch cards

MWPW-155654 Open TWP modal with preselected tab (#2691)

* MWPW-155654 Open TWP modal with preselected tab

* MWPW-155654 Open TWP modal with preselected tab

* MWPW-155654 Open TWP modal with preselected tab

* MWPW-155654 Open TWP modal with preselected tab

* MWPW-155654 Open TWP modal with preselected tab

* Trigger Build

* MWPW-155654 Open TWP modal with preselected tab

* MWPW-155654 Open TWP modal with preselected tab

* MWPW-155654 Open TWP modal with preselected tab

---------

Co-authored-by: Bozo Jovicic <bozo@hitthecode.com>

MWPW-154893 - [editorial-card] bugs (#2656)

* added .support-rtl variant for easier rtl loc support

* moved support-rtl to tablet up selector

* remove right

* removed margin-top bottom tablet styles

* added empty class and updated has-footer to equal-height to expose that as a variant

* s spacing gap default

* action column-gap

* no footer test coverage

* PR feedback

* revert marquee changes

* updated .footer class to .card-footer to prevent naming colision

* updated test ref

* linting whitespace, test label clarity

* revert icon block changes derp

ENB-6995 Query Params update & sendTargetResponse function update Resubmit for #2664 (#2682)

* Query Parms update & sendTargetResponse function update (#2664)

* Query Parms update & sendTargetResponse function update
- sendTargetResponse: Added Check for window._satellite and changed direct alloy call to _satellite call
- Added additional parameter as marketingtech to disable analytics calls

* Query Parms update & sendTargetResponse function update
- Updated conditional chaining

---------

Co-authored-by: milo-pr-merge[bot] <169241390+milo-pr-merge[bot]@users.noreply.github.com>

* Update martech.js

* not caching values

---------

Co-authored-by: theankit-sinha <ankitsinha@adobe.com>
Co-authored-by: milo-pr-merge[bot] <169241390+milo-pr-merge[bot]@users.noreply.github.com>

MWPW-153810 media image is seen loaded twice in product page urls in desktop (#2647)

* placeholderChanges

* placeholderChanges

* Update utils.js

* Update utils.js

* Update utils.js

* lint errors

* Update utils.js

* Update utils.js

* Adding promise.all

* Update utils.js

* Update utils.js

---------

Co-authored-by: Suhani <suhjain@suhanis-mbp.corp.adobe.com>

[MWPW-155627] Merch Callout feature: Missing font cascade (#2679)

add fallback to "Adobe Clean" font for callout text

Co-authored-by: Rohit Sahu <rosahu@adobe.com>

MWPW-153955 [PEP ] dismiss tool tip text is seen chopped in RTL locale in ipad and iphone in landscape mode (#2687)

* Fixed pep dismissal tooltip in rtl locales

* Update libs/features/webapp-prompt/webapp-prompt.css

Co-authored-by: Rares Munteanu <overmyheadandbody@gmail.com>

---------

Co-authored-by: Rares Munteanu <overmyheadandbody@gmail.com>

MWPW-154969 Log LCP and key user attributes (#2686)

* MWPW-154969 Log LCP and key user attributes

This adds the ability to log performance data back to Lana.

To enable the feature, metadata `pageperf = ‘on’ ` must be set for the page.  This feature only works in Chrome browsers.

Additionally `pageperf-rate` can be set to determine what percentage of pages will send data.  E.g `pageperf-rate=15` would have 15% of the pages send perf data.
The default rate is `50`%.

The sending of the data to Lana is delayed so as to not affect any parts of the page load.

Data sent:
* Chrome Version
* CLS Score
* Country (only if georouting is enabled via geo2)
* Downlink: Mbps - Chrome caps value at `10`
* LCP Score
* LCP Element Type
* LCP URL
  * If there is no identifying url, the element html will be used.
* Adobe IMS Logged In Status
* OS
* URL of page
* Window Width & Height
* MEP Manifest Data
  * Manifest(s) Used (only the ones that have been applied to the page)
  * Selected Target in the manifest

* Update logWebVitalsUtils.test.js

* Address PR feedback

---------

Co-authored-by: Okan Sahin <osahin@adobe.com>

[MWPW-150579] Update supported browser list (#2696)

MWPW-152952 Allow message for Marketo form success (#2545)

MWPW-146237: Repurpose seotech-structured-data feature for arbitrary JSON-LD (#2578)

* Add necessary helper functions

* Fix two checks

* Replace getStructuredData

* Move things around

* Fix regex?

* Add env

* Support localhost

* Update paths

* Fix test

* Use seotech api instead

* Update env/subdomain

* Fix test properly

* Update endoint

* Add homepage

* Update README

* Rework endpoint handling

* Add class to script tags

* More doc updates

revert  PR of placeholder function as placeholder value is seen displayed with additional nbsp text in locale product pages in stage (#2709)

Update utils.js

Standalone GNav for Non-Milo Consumers (#2669)

* Adding configuration for header component

* Adding test cases

* Adding css changes

* Updated for css

* Setting the origin to federal

* Removing promise array

* Adding redirect uri in meta

* Updating meta insert function

* Lint fix

* Making error message descriptive

---------

Co-authored-by: Snehal Sonawane <sonawane@Snehals-MacBook-Pro.local>

Making new GNAV experience default (#2689)

Fix: Load gnav search files only if it is authored (#2700)

[MWPW-154102] Accordion RTL alignment (#2704)

[MWPW-156163] Send additional Slack notifications for high impact PRs (#2713)

MWPW-156388 [MILO][MEP] fix for martech=off when page has manifest with enablements (#2720)

* initial fix

* Update libs/features/personalization/personalization.js

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* move where martech=off is used

* move logic to handleEntitlements function

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

MWPW-156220: Support pa code and product code for (#2712)

* MWPW-156220: Support pa code and product code for

checkout link configuration in addition to product family.

* optimize perf

* PR feedback

* PR feedback

Added download and open-in spectrum icons (#2595)

adde download and open-in spectrum icons

Co-authored-by: Dragana Trajkovic <dragana.trajkovic@lilly021.com>

MWPW-142166 One Page Gated (#2673)

* MWPW-142166 One Page Gated

* PR Changes

MWPW-153987 [MILO][MEP] looks in wrong location for MEP test block code on stage (#2693)

* calculate even on stage, find miloLibs and origin outside of loop

* MWPW-155314 [MEP] Enable Entitlements + Operator (#2638)

port over fixes

---------

Co-authored-by: Jingle Huang <32369333+JingleH@users.noreply.github.com>

[MWPW-154969] Performance consent (#2714)

* Require consent

* Improve the check

* Apply suggestions from code review

Co-authored-by: Narcis Radu <github@narcisradu.ro>

* Fix linting issues

* Fix linting and unit tests

* Return faster

* Track once consent is given

* Fix unit tests

* Remove defaults

* Only listen to privacy once.

---------

Co-authored-by: Narcis Radu <github@narcisradu.ro>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants