Possible bug in visibility condition

Hello. Good to see glide added way to control visibility based on multiple conditions (AND / OR). Thanks. However, it seems like there may be an unrelated bug?
I have two sheets A and B. B has a relation column based on a matched column present in both sheets. B has a lookup column based on the relation column. B does show proper value for the lookup column. In B, first two rows for the lookup column have values while last three rows value is blank.

Now, in layout, when I build a condition on this lookup column, “is empty” and “is not empty” behave in opposite way. As if there is a bug in if/else in your code - there content has been switched - wrongly.

I have attached a screenshot explaining this bug.

1 Like

I was too fast to conclude. Actually as Jeff said, this workaround didn’t fix this situation because condition for visibility is based on a formula field which presents some constraints when deploying this workaround.

  1. If I put the formula field on the form and make it hidden, on submit the value is overwritten in the sheet which invalidate the entire column because it is an array formula. To fix this, I deployed a time-driven trigger in spreadsheet that applies formula to the column every minute. This is not a good workaround because it modifies the entire column (not just that particular cell related to the record). It will adversely affect other user’s state. Plus running a trigger every minute is resource consuming.
  2. The InviterCount is basically # of items in the inline list. When I add / delete items from the list, the text entry isn’t updated. It is updated only once when form opens. That doesn’t work with the condition.
  3. I tried to pull InviterCount in the “Add a family member” screen to see if I could build a condition there but it presents the exact same issues as mentioned in 1 and 2.

Sorry about those limitations. We will fix them in due course.

1 Like

There is another issue with the workaround. If cell value with formula changes (added a family member) and then I press “Done”, it overwrites the correct value with literal old value. Invalidating entire column with first cell which has ArrayFormula reading like “Array result was not expanded because it would overwrite data in…”. Now even my time-driven trigger can’t fix this column.

Please fix this on priority.

Create two separate sheets
One where your form will submit to and one that will present your data the way you want.
You don’t have to use the same sheet for submit and present

Run a query formula to pull the data you need over the present sheet, this way you have no conflict.

In glide you can select the form sheet for the form button and the presenter sheet for the component view but turn off editing.

Thanks. I will explore this option of two sheets. Looks like it has many uses. But for now, I wrote a time-driven trigger on my sheet that detects first cell value as “#REF!” of the column in question. Then it clears entire column and then assigns the formula to the first cell. This works as a workaround for now. I hope glide team fixes the issue of fetching field values which are used on the form in conditions or other purpose. This will not need a workaround after that.

Thanks all for help so far.

1 Like

Glide staff, is there any update on this bug? Thanks.

This should be fixed by now. Is it not?

It is fixed.