Constraint Message (constraint_msg) not updating in Enketo when reference variable corrected

Description

A constraint_msg is not updating (removed) when moving back and correct the referenced variable. In Enketo (KoBoToolbox and Online Validator enketo.getodk.org).

@martijnr

Steps to Reproduce

  1. Upload and deploy the form (or use Online validator!)
    Update_RequiredMsg .xlsx (15.4 KB)

  2. Open the form (or preview in Online validator)

  3. Select Père as Auteur

  4. Select Fèminin as Sexe and see constraint_msg

  5. Go back and correct Auteur to Mère

  6. See still the same - no more corresponding - constraint_msg

To get it ok, you need to
7. Deactivate/remove the selection - resulting in a new required_msg (system)
8. Select it again as Féminin
Then the message will disappear.

For other references updates work fine: See AuteurLabel (calculation referenced in msg text) and choice_filter.

Expected behavior

Message should be updated. Like other references are (see choice_filter and AuteurLabel in this example).

Actual behavior

Step 4


Step 6

Step 7
image
Step 8
image

Additional details

QUESTION: Could the new KoBo/ODK trigger feature help here?? (Can you provide a solution example, please?)

Enketo or ODK Validator, same problem
Firefox 96.0.2 (64 bits), but same problem with Chrome
XLSForm
Laptop with MS 10, same problem with Android (11) phone, with both browsers

I think, it might be general update problem in Enketo for messages with references to other variables.

It is working fine in ODK Collect. So, code might be compared, to optimise for Enketo?

An update of the reference/message is also done when you click on (form) validation. See ex. after step 8. Moved back, re-changed Auteur to Pére and click validate

When use settings: style 0 pages
The (old) constraint_message is still there when you arrive at the page (Sexe) after correction the referenced variable (Auteur). It is only removed after/on leaving the page. (You can see it when you move back again from the following page.)