Skip to content

MWPW-189894: Lingo issue with placeholder fix#748

Merged
afmicka merged 41 commits intomainfrom
MWPW-189894
Apr 23, 2026
Merged

MWPW-189894: Lingo issue with placeholder fix#748
afmicka merged 41 commits intomainfrom
MWPW-189894

Conversation

@seanchoi-dev
Copy link
Copy Markdown
Contributor

@seanchoi-dev seanchoi-dev commented Apr 9, 2026

Resolves https://jira.corp.adobe.com/browse/MWPW-189894
QA Checklist: https://wiki.corp.adobe.com/display/adobedotcom/M@S+Engineering+QA+Use+Cases

Please do the steps below before submitting your PR for a code review or QA

  • C1. Cover code with Unit Tests
  • C2. Add a Nala test (double check with #fishbags if nala test is needed)
  • C3. Verify all Checks are green (unit tests, nala tests)
  • C4. PR description contains working Test Page link where the feature can be tested
  • C5: you are ready to do a demo from Test Page in PR (bonus: write a working demo script that you'll use on Thursday, you can eventually put in your PR)
  • C.6 read your Jira one more time to validate that you've addressed all AC's and nothing is missing

🧪 Nala E2E Tests

Nala tests run automatically when you open this PR.

To run Nala tests again:

  1. Add the run nala label to this PR (in the right sidebar)
  2. Tests will run automatically on the current commit
  3. Any future commits will also trigger tests as long as the label remains

To stop automatic Nala tests:

  • Remove the run nala label

Note: Tests only run on commits if the run nala label is present. Add the label whenever you need tests to run on new changes.

Test URLs:

More Test URLs:

image

…ry merge, cache race, locale/region)

- Merge Odin dictionary with Studio prefetch; prefer external on key clash
- Treat empty {} as no external dict in fragment-client; tighten replace init
- Align preview dictionary locale with Store.localeOrRegion(); reload on region
- Fragment editor: surface from path, region sync for variations, init order
- Preview store: stay unresolved until placeholders exist
- Router: do not clear region override on fragment editor hash sync
- aem-fragment: after fetch, prefer cache entry if add() was a no-op
- Forward immediate flag from SourceFragmentStore.resolvePreviewFragment
…dictionary merge, cache race, locale/region)"

This reverts commit edb4791.
@aem-code-sync
Copy link
Copy Markdown

aem-code-sync Bot commented Apr 9, 2026

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

  • Re-sync branch
Commits

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.35%. Comparing base (916b5e4) to head (c52ea30).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #748      +/-   ##
==========================================
+ Coverage   87.33%   87.35%   +0.01%     
==========================================
  Files         210      210              
  Lines       62870    62870              
==========================================
+ Hits        54908    54918      +10     
+ Misses       7962     7952      -10     

see 5 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 916b5e4...c52ea30. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@seanchoi-dev seanchoi-dev marked this pull request as ready for review April 9, 2026 08:07
Comment thread io/www/src/fragment/transformers/replace.js Outdated
Comment thread io/www/src/fragment/transformers/customize.js
Copy link
Copy Markdown
Contributor

@npeltier npeltier left a comment

Choose a reason for hiding this comment

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

thanks a lot @seanchoi-dev that looks much better, one additional thing, though:
if you look at getRequestInfos, it is the async promise a lot of initial requests are pending on to start, among which the dictionary id, and settings id requests we want to start ASAP.
"problem" with this is that you add default variation fetch to that processing which may increase overall time of the pipeline when nothing is cached.

i think as soon as you get initial fragment fetch, so called requestsInfos should be available to other init method. So probably you should encapsulate the default fragment fetch in that first promise

@seanchoi-dev seanchoi-dev requested a review from npeltier April 15, 2026 11:33
Copy link
Copy Markdown
Contributor

@npeltier npeltier left a comment

Choose a reason for hiding this comment

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

thanks ! looks better, we are getting close to it.

  • we need defaultLanguageVariation to be a proper transformer (name and init/process),
  • there should be no duplicated logic in customize, no need to call default language as it has already been requested

Comment thread io/www/src/fragment/transformers/customize.js Outdated
Comment thread io/www/src/fragment/transformers/customize.js Outdated
Comment thread io/www/src/fragment/transformers/defaultLanguage.js
@seanchoi-dev seanchoi-dev requested a review from npeltier April 15, 2026 15:36
Copy link
Copy Markdown
Contributor

@npeltier npeltier left a comment

Choose a reason for hiding this comment

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

lgtm @seanchoi-dev :-) thanks for the patience

please make sure you get 100% coverage and i'm good

@npeltier
Copy link
Copy Markdown
Contributor

Hi @seanchoi-dev , can you add better coverage

-------------------------|---------|----------|---------|---------|-------------------
File                     | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------------|---------|----------|---------|---------|-------------------
All files                |   99.92 |    99.54 |     100 |   99.92 |                   
 fragment                |     100 |    99.07 |     100 |     100 |                   
  locales.js             |     100 |    98.36 |     100 |     100 | 401               
  pipeline.js            |     100 |      100 |     100 |     100 |                   
 fragment/transformers   |   99.83 |    99.49 |     100 |   99.83 |                   
  corrector.js           |     100 |      100 |     100 |     100 |                   
  customize.js           |     100 |      100 |     100 |     100 |                   
  defaultLanguage.js     |   98.54 |     97.5 |     100 |   98.54 | 119-120           
  fetchFragment.js       |     100 |      100 |     100 |     100 |                   
  promotions.js          |     100 |      100 |     100 |     100 |                   
  replace.js             |     100 |      100 |     100 |     100 |                   
  settings.js            |     100 |    99.05 |     100 |     100 | 255               
  wcs.js                 |     100 |      100 |     100 |     100 |                   
 fragment/utils          |     100 |      100 |     100 |     100 |                   
  cache.js               |     100 |      100 |     100 |     100 |                   
  common.js              |     100 |      100 |     100 |     100 |                   
  log.js                 |     100 |      100 |     100 |     100 |                   
  odinSchemaTransform.js |     100 |      100 |     100 |     100 |                   
  paths.js               |     100 |      100 |     100 |     100 |                   
 health-check            |     100 |      100 |     100 |     100 |                   
  index.js               |     100 |      100 |     100 |     100 |                   
-------------------------|---------|----------|---------|---------|-------------------

@afmicka
Copy link
Copy Markdown
Contributor

afmicka commented Apr 16, 2026

@seanchoi-dev one of the jira requirements was to fix the placeholder also in studio.
Screenshot 2026-04-16 at 11 20 32

That part is not fixed. I still see FR placeholder on CH variation
https://mwpw-189894--mas--adobecom.aem.live/studio.html#content-type=merch-card&fragmentId=957fb7e0-eb40-4d62-a32c-59580f798354&locale=fr_FR&page=fragment-editor&path=sandbox
Screenshot 2026-04-16 at 11 18 08

@afmicka afmicka removed the run nala label Apr 16, 2026
@seanchoi-dev
Copy link
Copy Markdown
Contributor Author

@npeltier @afmicka
Code coverage is now 100%
image

For the Studio preview fix, there is a separate PR: #760.

@afmicka afmicka added run nala RCP-restricted Pull request should not be merged during RCP labels Apr 17, 2026
@afmicka afmicka removed the RCP-restricted Pull request should not be merged during RCP label Apr 23, 2026
@afmicka afmicka merged commit c28811b into main Apr 23, 2026
14 of 16 checks passed
@afmicka afmicka deleted the MWPW-189894 branch April 23, 2026 08:39
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.

4 participants