Jelly expression is erroneously executed as JEXL if it contains the string "ref" DescriptionThe system determines whether to run certain Jelly expressions using JEXL or Rhino. If a table includes the string "ref," the wrong engine may be used and cause incorrect output.Steps to Reproduce In the Application navigator, type sys_user_preference_list.do in the Filter navigator field and press enter or return on your keyboard.Open a record.Add the activity stream to the form.Click Update.Note that the activity stream does not load any data. This is caused by the use of a phase 1 ${} expression inside of a phase 2 $[] expression. Jelly determines if a $[] expression is evaluated as a JEXL expression or a Rhino expression. For example:Normally, the above expression is evaluated as a Rhino expression, which is what is intended. However, because sys_user_preference contains the substring “ref,” which has special meaning in Jelly, the expression is evaluated as a JEXL expression on that table. This causes the expression to evaluate incorrectly because the sys_user_preference GlideRecord variable is not defined in the JEXL variables; it is only defined in the Rhino context. This causes the expression to evaluate as “!null && null && !false.” Because null= false in JEXL, the expression is false.WorkaroundA possible workaround is to rename the table so it does not contain “ref.” However, it is strongly recommended that you avoid the pattern $[${}]. To ensure that the expression evaluates as JavaScript to avoid this issue, replace the $[] with a g2:evaluate.Related Problem: PRB742414