Skip to content

fix: hardcoded ".html" URL suffix on Wishlist item product links - #4619

Open
Niki-Tester wants to merge 3 commits into
magento:developfrom
Niki-Tester:fix-wishlistItem-hardcoded-UrlSuffix
Open

fix: hardcoded ".html" URL suffix on Wishlist item product links#4619
Niki-Tester wants to merge 3 commits into
magento:developfrom
Niki-Tester:fix-wishlistItem-hardcoded-UrlSuffix

Conversation

@Niki-Tester

Copy link
Copy Markdown
Member

Description

Wishlist item product links were built by concatenating url_key with a hardcoded .html suffix, ignoring the product_url_suffix value set in Magento's store configuration (Stores → Configuration → Catalog → Search Engine Optimization). On stores using a suffix other than .html (or no suffix), every wishlist item link resolved to a 404. The fix reads product_url_suffix from storeConfig and uses it when constructing the product URL, consistent with how product links are built elsewhere in the storefront.

Related Issue

Closes #4618

Acceptance

Verification Stakeholders

Specification

Verification Steps

Test scenario(s) for direct fix/feature

  1. In the Magento admin set the Product URL Suffix (Stores → Configuration → Catalog → Search Engine Optimization) to something other than .html (e.g. empty string or .htm) and flush caches.
  2. Sign in as a customer and navigate to My Wish List (/wishlist).
  3. Verify that each wishlist item's product link uses the configured suffix and navigates to the correct product detail page.

Test scenario(s) for any existing impacted features/areas

With the default .html suffix configured, verify that wishlist item links still resolve correctly to the product detail page.

Test scenario(s) for any Magento Backend Supported Configurations

  1. Repeat the above scenarios with both Adobe Commerce (EE) and Magento Open Source (CE) store configurations.
  2. Repeat with an empty product URL suffix (no suffix at all).

Is Browser/Device testing needed?

Any ad-hoc/edge case scenarios that need to be considered?

Screenshots / Screen Captures (if appropriate)

Breaking Changes (if any)

Checklist

  • I have added tests to cover my changes, if necessary.
  • I have added translations for new strings, if necessary.
  • I have updated the documentation accordingly, if necessary.

Read product_url_suffix from storeConfig instead of appending a hardcoded ".html" string, so wishlist links respect the store's configured URL suffix.
@pwa-studio-bot

pwa-studio-bot commented May 28, 2026

Copy link
Copy Markdown
Collaborator
Fails
🚫

node failed.

🚫 A version label is required. A maintainer must add one.
🚫

The following file(s) did not pass ESLint. Execute yarn run lint locally for more details

packages/peregrine/lib/talons/WishlistPage/__tests__/useWishlist.spec.js
Messages
📖 DangerCI Failures related to missing labels/description/linked issues/etc will persist until the next push or next pr-test build run (assuming they are fixed).
📖

Access a deployed version of this PR here. Make sure to wait for the "pwa-pull-request-deploy" job to complete.

Log

ERROR ON TASK: eslintCheck


Error:  Danger had errors running. See message(s) above for more details.
danger-results://tmp/danger-results.json

Generated by 🚫 dangerJS against f71ac65

@pwa-studio-bot

pwa-studio-bot commented May 28, 2026

Copy link
Copy Markdown
Collaborator
Fails
🚫

node failed.

Log

ERROR ON TASK: cypressTests


Error:  Danger had errors running. See message(s) above for more details.
danger-results://tmp/danger-results.json

Generated by 🚫 dangerJS against f71ac65

@pwa-studio-bot

pwa-studio-bot commented May 28, 2026

Copy link
Copy Markdown
Collaborator
Fails
🚫 Lighthouse assertions failed 😔. All assertions must pass before this PR can be merged
https://pr-4619.pwa-venia.com/

Max Potential First Input Delay (maxNumericValue)

  • Expected: 650
  • Actual: 659
  • Result: Failed
  • Docs link: https://developer.chrome.com/docs/lighthouse/performance/lighthouse-max-potential-fid/

First Contentful Paint (maxNumericValue)

  • Expected: 2900
  • Actual: 2923.3025
  • Result: Failed
  • Docs link: https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/
https://pr-4619.pwa-venia.com/venia-tops.html?page=1

Max Potential First Input Delay (maxNumericValue)

  • Expected: 650
  • Actual: 659
  • Result: Failed
  • Docs link: https://developer.chrome.com/docs/lighthouse/performance/lighthouse-max-potential-fid/
https://pr-4619.pwa-venia.com/valeria-two-layer-tank.html

Max Potential First Input Delay (maxNumericValue)

  • Expected: 650
  • Actual: 657
  • Result: Failed
  • Docs link: https://developer.chrome.com/docs/lighthouse/performance/lighthouse-max-potential-fid/

First Contentful Paint (maxNumericValue)

  • Expected: 3200
  • Actual: 3230.9809999999998
  • Result: Failed
  • Docs link: https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/

Total Blocking Time (minScore)

  • Expected: 0.2
  • Actual: 0.17
  • Result: Failed
  • Docs link: https://developer.chrome.com/docs/lighthouse/performance/lighthouse-total-blocking-time/
https://pr-4619.pwa-venia.com/search.html?query=tops&page=1

Max Potential First Input Delay (maxNumericValue)

  • Expected: 650
  • Actual: 652
  • Result: Failed
  • Docs link: https://developer.chrome.com/docs/lighthouse/performance/lighthouse-max-potential-fid/
🚫

node failed.

Log

Details

ERROR ON TASK: lighthouseTests


Error:  Danger had errors running. See message(s) above for more details.
danger-results://tmp/danger-results-6110a92d.json

Generated by 🚫 dangerJS against f71ac65

@pwa-studio-bot

pwa-studio-bot commented May 28, 2026

Copy link
Copy Markdown
Collaborator
Fails
🚫

node failed.

🚫

Cypress tests in the following files did not pass 😔. All tests must pass before this PR can be merged

  • displays assigned products:
    • AssertionError: Timed out retrying after 30000ms: Expected to find element: `[data-cy="CategoryContent-root"] [data-cy="GalleryItem-name"], [data-cy="SearchPage-root"] [data-cy="GalleryItem-name"]`, but never found it.
    ,shows products specific to the categories in the different store:
    • AssertionError: Timed out retrying after 30000ms: Expected to find element: `[data-cy="CategoryContent-root"] [data-cy="GalleryItem-name"], [data-cy="SearchPage-root"] [data-cy="GalleryItem-name"]`, but never found it.
    ,lets users add products to cart regardless of store view:
    • AssertionError: Timed out retrying after 30000ms: Expected to find element: `[data-cy="CategoryContent-root"] [data-cy="GalleryItem-root"]`, but never found it.

Log

ERROR ON TASK: cypressTests


Error:  Danger had errors running. See message(s) above for more details.
danger-results://tmp/danger-results.json

Generated by 🚫 dangerJS against f71ac65

@Niki-Tester
Niki-Tester marked this pull request as draft May 28, 2026 15:46
@Niki-Tester
Niki-Tester marked this pull request as ready for review May 28, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bug]: Wishlist product links use hardcoded ".html" URL suffix instead of store config

2 participants