Issue
- In Safari (macOS and iOS versions) wrong button press is read when SPA is enabled
-
Steps to reproduce:
1. Deploy testspaformmultiplesubmit1-1.0.0.jar
2. Open Safari browser, add a module to a page, and make sure senna is on.
3. Click on the first button and see "You Clicked Button One" appears on the screen and in logs.
4. Click on the second button and see "You Clicked: Button One" appears again.
Actual behavior: When there are multiple buttons and the second button is pressed, the first button information is sent instead.
Expected behavior: When there are multiple buttons and the second button is pressed, the correct button information should be sent.
Environment
- Liferay DXP 7.2
Resolution
- The observed behavior is a known issue in Liferay DXP. However, Liferay has migrated 'senna.js' to the 'frontend-js-spa-web', a module that is a part of DXP, as 'senna.js' is deprecated.
- In analysis, Liferay has found that there is no easy fix to this bug in 'senna.js', all potential solutions are risky, wide-reaching, or expensive. Combining that with the fact that 'senna.js' is deprecated and the scope of the bug is relatively small (Safari-only), hence, the product team has concluded not to fix it.
- However, a workaround is to disable SPA for affected modules. The lasting solution will be to upgrade DXP to 7.4+
Additional Information
- LPS-129988 : The 'wrong button clicked in Safari' issue does not occur in 'frontend-js-spa-web' in DXP 7.4