Form saved data takes round trip before details view sees it

I have a regular kind of Detail view which as a regular Edit action overlay button which takes me to a regular Form to edit the record. I change something and Save. When I am taken back to the Detail view the data change is not reflected until the writes are flushed to the server, it is almost as if there is an ordering in the underlying code 1) flush to server, 2) update client-side formulas.

I know the data is not reflected in the Detail view because I have a data formula as well as a show_if formula that depend on the field being changed.

My users will expect to see the Details form look a bit different in response to the saved form.

as a WAR, maybe I can play games by setting some temp virtual field that is immediately updated, with or without client-side actions, not sure, haven’t tried.

any help or insight on this sync issue would be appreciated.

Should have also mentioned: quick edit does not have the same delay problem

This exactly the case for virtual columns: virtual columns that are not a part of the edited row are updated only as part of the data sync. The virtual columns of the edited row should be updated when the row itself is updated. So there’s a timing difference for virtual column updates. Would this explain the behavior you’re seeing?

The Show_If expression is evaluated in real-time, so you would expect it to reflect column changes before some virtual columns do. Other expressions that are evaluated in real-time include: Editable_If, Required_If, Suggested_values, Valid_If, slice row filters, format rules, and expressions in actions.

???

1 Like

I got back to looking at this:

  • WAR means “workaround”
  • I have a non virtual column A, I have it setup for both quick-edit in a detail view as well as editable through a form
  • there is a show_if expression using A as input that affects a virtual column X display on the detail view
  1. when I change A using quick-edit I see the writes get queued up (in the sync icon as a little number)
    in this case the virtual column X display changes immediately
  2. when I edit the record using the edit action, I get to the form view, I edit A in the same way, and save.
    I am now back in the detail view, however the virtual column X display changes only after the writes are flushed which is a significant delay

To me, these two uses should have the same result, the user should see the display updates immeditately in both cases and in both cases the writes should flush to the server in the background

The behavior you describe is not what I would expect. There may be a bug somewhere. Please contact support@appsheet.com for help with this.

Here is the response from support@appsheet.com:

I have spoken with one of our engineers about this matter. Being that these two methods are different the experience in the app is also different. According to our team this is how you should expect it to act.

Have you posted a feature request about this experience?

Thank you,

Bryan
Bryan from AppSheet
On Mon, Mar 22, 2021 at 05:44 PM, “Bryan Hillerman” <bryan.hillerman@appsheet.intercom-mail.com> wrote:

I am checking with the team about this one.

On Mon, Mar 22, 2021 at 04:52 PM, “sehmann@gmail.com” <sehmann@gmail.com> wrote:

Hi Bryan, thanks for getting back to me so quickly.
The result is the same in the data so data integrity is not the concern, nor is it a concern that the sync takes a while to flush the writes to the cloud. The issue is that the user interaction does not get the proper state in one of the cases
thanks,
Stephen

On Mon, Mar 22, 2021 at 04:10 PM, “Bryan Hillerman” <bryan.hillerman@appsheet.intercom-mail.com> wrote:

Hello,
Thank you for contacting Google Cloud Support. I understand you are using quick edit and form edit and the behavior is different. Does the result come out the same in your data? Just the user experience is different? Just want to clarify, the data integrity is not an issue but the way that the sync occurs?
Best,
Bryan

On Mon, Mar 22, 2021 at 03:45 PM, “sehmann@gmail.com” <sehmann@gmail.com> wrote:

Hi Appsheet support,

Reference: Form saved data takes round trip before details view sees it

I have a non virtual column A, I have it setup for both a) quick-edit in a detail view as well as b) editable through a form.
There is a show_if expression using A as input that affects a virtual column X being displayed on the detail view.

  1. when I change A using quick-edit I see the writes get queued up (in the sync icon as a little number)
    in this case the virtual column X display changes immediately as I would expect
  2. when I edit the record using the edit action, I get to the form view, I edit A in the same way, and save.
    I am now back in the detail view, however the virtual column X display changes only after the writes are flushed which is a significant delay, this is NOT what I would expect
    To me, these two uses should have the same result, the user should see the display updates immediately in both cases and in both cases the writes should flush to the server in the background.
    Thanks for any help you can give,
    Stephen Ehmann

I have edited this into a Feature Request. I do not agree with “According to our team this is how you should expect it to act.”. With a statement like that I would expect there to be an explanation about why I should expect it to act like that. The sense I get is that the code paths for these two are are different enough that to make them both update the client-side immediately (consistently) is too much work and thus this answer.