Background of the issue:
When changing the currency in the WooCommerce settings (admin.php?page=wc-settings), the currency list in the multicurrency settings (admin.php?page=wpml-wcml&tab=multi-currency) breaks.
Let me explain it with an example.
At first, the WooCommerce currency is CHF and the currency list contains the currencies CHF (CH-DE, CH-FR, CH-IT) and EUR (DE-DE, FR-FR).
Symptoms:
When we now change the WooCommerce currency from CHF to EUR, the currency list suddenly looks like this: EUR (CH-DE, CH-FR, CH-IT).
As you can see, changing the WooCommerce currency from CHF to EUR caused the first entry in the list to be replaced by the new WooCommerce currency but with the languages of the previous entry, the original EUR entry is gone.
The issue seems to be with the implementation of the functions set_default_currencies_languages() and / or currency_options_update_default_currency().
Questions:
Please confirm the issue and give us a timeline for the issue to be addressed.
That is definitely not documented, there is also no notification, If I change the WooCommerce Currency.
How am I supposed to know that this will happen?
The problem is, that the major Currency of our customers' store just went missing and people could not pay.
This is a serious problem.
Can you explain to me why this behavior is even desirable?
What I mean by "expected", is that this is how WPML was intended to work. To confirm if this is how WPML is expected to work, and that it's not something that's happening on your website only, I've created a Sandbox (aka a testing website), so we can check how it behaves on a fresh install, in isolation. You can access it here:
hidden link
WPML is setup with German as primary, and French as secondary languges, enough for us to test the behavior. Please activate and setup both WooCommerce and WooCommerce Multilingual and Multicurrency, and set up it as you had it on your website: CHF (DE) and EUR (FR). Please don't switch the currency yet, that's something I want to check myself.
If the same happens on the Sandbox, I will create a feature request, so we can analyze and decide to "fix" it in future releases. If the behavior is different on the Sandbox, I will check your website for bugs.
I know setting up the Sandbox takes some effort, so I appreciate your cooperation on this matter.