Editor Bug: Circular Definition Error

The app I’m currently developing is giving Circular Definition errors on some tables regarding the initial value or appformula expression and therefore the app definition is broken and cannot be fetched. However the errors indicated for circular definition; one of them contains no any initial value or appformula, and the other is a simple expression like [Start_Date] + “30.00:00:00” where [Start_Date] has an initial value of TODAY() only. I have refreshed many times but doesn’t help. I cannot continue. Can someone from the team investigate?

Exactly I am having one now. I am trying to submit a support ticket and getting this

:frowning: ouch

When I restore my app to previous version, get the same 404 error.

Here are the screenshots:


@Steven_Aung
Something might have broken when they are working on to integrate the new feature set for the detail views. I have also read a couple of posts regarding that the form can be saved even a required field is left empty. Weird.

I think we better sit out. I was making changes to fix the circular error but I realized that exact same formula works in older version. Get 404 error when restoring my app to older version. Submit ticket, get 404 error. :stuck_out_tongue:

So better just wait.

1 Like

You may have a right but this is so nasty and annoying as well. I need to continue and finish the app but I unfortunately can’t right at the moment. Phew.

I have few experience before. I tried to fix something during the event like this and I ended up messing up my app :smiley:

@morgan @JCadence @tony @praveen
Do you have any inputs?

Levent, there was a fix that rolled out today that enabled reset_on behavior in workflow actions. As part of this fix there is an additional check for fields with initial values to ensure that the initial values and reset-if conditions do not have circular dependencies.

If you open an intercom ticket with your app details I can look into whether your app was affected by that.

2 Likes

Hi @Dan_Bahir, I also opened a ticket. Please take a look

Any luck with your support ticket?

I am still getting pushed back from supoort that it must be related to
AppSheet DNS problem: Cloudflare outage RESOLVED

For me, it is obviously two seperate issues.
:frowning::frowning:

I am also having the same issue on 2 Apps that were working until around the time of the outage.

Have tried previous versions, etc. Same result as above.

Indeed, this is nothing to do with the Cloudflare issue. it was just unfortunate timing that the cloudflare issue happened a few minutes after our daily deployment.

So our deployment started checking for cycles that also span initial values (we used to not check for these). So that is the source of the errors you are seeing, as @Dan_Bahir described.

Are you able to identify the cycle that occurs thru InitialValue expressions and app formulas? In parallel, Dan and I will check to see if we have been too aggressive in the logic of this change (the change itself is rolled out gradually across the customer base, so it must have just been bumped up to hit your account and that is why you are seeing the issue now).

2 Likes

As @Steven_Aung confirmed (thanks Steven!), the new cycles discovered are because of the use of an expression/formula for the Reset on Edit property of a column.

Here is the explanation for the issue: if you set up a formula for Reset_On_Edit for a column A and it depends on B, then this dependency is included when checking the dependencies for initial value formulas. I’m still a bit confused about this, so going to request @Dan_Bahir to explain further. And also, definitely, to improve the error message to guide you to resolve the error.

But anyway, for now, if you see this error, the cause is a Reset_On_Edit formula in the affected table. — either directly on the column that is flagged as having a cycle or a Reset_On_Edit formula in another column references this column. Your short-term fix is to remove the Reset_On_Edit formula.

2 Likes

If you really need the reset on edit, the workaround is

  • create an action that will reset the affected column
  • create a workflow with UPDATE_ONLY event which will trigger the above action.

Reset condition check can be added either in the workflow or action condition.

In my case, that approach does not trigger cycles issue.

Our previous dependency logic did not calculate the dependencies of the formulas in Reset_On_Edit and the conditional Reset_If. That resulted in incorrect evaluation of these rules as fields referenced in the Reset_On_Edit and the Reset_if formulas were not calculated before the Reset_On_Edit and the Reset_if.

The algorithm was fixed as a result apps that had these circular dependencies defined but were previously undetected are now detected.

If you believe that you are getting this error but there is no circular dependency please let us know.
If you wish to revert to the previous dependency algorithm please let us know and we can exclude your apps from the dependency check until you have the time to review the logic in your app.

3 Likes

Hi @Dan_Bahir,
Is there any change in how reset on edit and/or reset_if behave ? Could new updates/check affect the reset behavior and how?

At least one of my app starts having wrong time values in columns that rely on reset on edit. I didn’t make any update on that app for a while. I regenerate affected table and there is no circular error. The issue entries were showing up starting from July 18.

I still cannot pin point how the behavior change. Any information will be helpful now.

Thanks

FYI @praveen

Based on my debugging, the check added for reset_on_edit was totally skipped and reset the value.

Update: just checked and reset condition checking is working again. So it seemed that there was a bug for reset on edit for two days and it is fixed now.

Let’s see how that goes when new data is coming in.