feat: (AIME-194) route /es/ Brand Concierge to the Spanish datastream - #2798
Conversation
On /es/ pages, configure the alloyBC instance with the Spanish concierge datastream (3098f7cc-…, same IMS org) instead of the default, so conversations reach the Spanish concierge/manifest. The locale datastream is resolved from BC_LOCALES via resolveBrandConciergeConfig(); other locales keep the default. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Hello, I'm the AEM Code Sync Bot and I will run some actions to deploy your branch and validate page speed.
Commits
|
|
|
||
| // Route to the locale's Brand Concierge datastream (e.g. the Spanish concierge on /es/), | ||
| // falling back to the default datastream for locales without an override. | ||
| const datastreamId = activeConfig.datastreamId ?? bcDatastreamId; |
There was a problem hiding this comment.
activeConfig (with this new datastreamId key) is later spread wholesale into stylingConfigurations in getBootstrapOptions() (line 445), which only strips out stickySession and ui before forwarding the rest to the third-party BC web client via concierge.bootstrap().
Since resolveBrandConciergeConfig() now puts datastreamId at the top level of the returned config (brand-concierge-config.js:257), for the es locale it rides along into stylingConfigurations and gets sent to window.adobe.concierge.bootstrap() as if it were a styling/text value — it isn't destructured out the way ui is. English is unaffected (no datastreamId in the base config), so this is scoped to the new es path.
Likely harmless if the web client ignores unknown keys, but it's an unintended leak of internal routing config into the third-party client payload. Consider destructuring datastreamId out in getBootstrapOptions() alongside ui, or keeping it out of the resolveBrandConciergeConfig() return shape (e.g. a separate lookup) so it can't leak into stylingConfigurations.


Jira ID: AIME-194
Stacked on #2791 (base branch
exlm-bc-spanish-ui) — this PR is only the backend routing; the UI localization lives in #2791. Review/merge #2791 first; GitHub will retarget this tomainonce #2791 merges.Summary
Routes the Brand Concierge conversation on
/es/to the Spanish concierge datastream instead of the default English one. Same IMS org, so only the datastream ID changes per locale.brand-concierge-config.js: adddatastreamIdto theesoverlay inBC_LOCALESand surface it fromresolveBrandConciergeConfig().brand-concierge.js: ininitBrandConcierge(), configure thealloyBCinstance withactiveConfig.datastreamId ?? bcDatastreamId. English and other locales are unchanged.Verification
Confirmed locally (
aem up) by inspecting the Edge Interact request:/es/browse→edge.adobedc.net/…/v1/interact?configId=3098f7cc-…(Spanish datastream), HTTP 200/en/browse→…?configId=87ae6de9-…(default datastream), HTTP 200Reviewer note: a Spanish question in the widget should now be answered by the Spanish manifest — please confirm the response content/citations come from the Spanish concierge.
AI Review Notes
bcDatastreamId); same IMS org, production-ready.🤖 Generated with Claude Code