Set Column Bugs

My app’s URL: https://busy-pencil-6754.glideapp.io/

Support Link: Glide

I have two bugs that I’m running into where I get different results between the editor and the published version. It’s hard to explain, so if something isn’t clear, I can try to create a video when I have time.

So in my app, I have a sheet that keeps a rolling history. Basically it’s 20 rows with a date, and based on the date and a couple of other criteria, I determine a Key value for the next row that should be populated. In my app, I have a couple of inline lists that act as buttons. In certain cases (such as a user clicking on the Equals button or any of the Math Operation buttons), it’s supposed to update the next available History row. I have a single relation linking to the Key value in the History sheet. As far as writing the history rows through a Set Column action, through a single relation, everything is working as expected. Rows get updated. But I’m running into a couple of odd situations.

  • First is something I’m observing in the Glide editor. I have a handful of columns that are brought from one sheet into another via Single Value columns. When a certain button is pressed, those single value column values are supposed to be passed through a single relation into the History sheet. There are a couple of scenarios where those single value columns may be empty on the original sheet so they don’t contain a value (I assume null). I have reason to believe that empty single column values do not pass any values, or overwrite any values, when used in a Set column action. What appears to be happening is that it updates the correct row, but if the column that I’m using to set a column value is empty, then it doesn’t overwrite whatever was in that column before. I could probably perform another action that first clears the value, but I would expect that if I had set the action to fill a column with a value, it should overwrite it. Even if the source value is empty (null).
    This is what was entered
    image
    This is the overwritten row in the History. Circled values should have been overwritten with the blank (null) value.

    This is the action that updated the row. Circled values were empty, but didn’t overwrite old values in the sheet.

    I haven’t been able to observe this same behavior in the published app yet. Seems to only be in the editor at the moment.
  • The second issue I have is really weird and only happens in the published app. In particular, this seems to be happening when I do math with exponents. The math is fine, but it’s the way it’s saving to that history sheet. So to quickly summarize, I have math stored in several different temporary columns. It’s something like this: LeftValue MathOperation RightVaue LeftExponent RightExponent. Each part of an equation is stored in separate columns. These separate columns are then written to separate column in the History sheet. An exponent is stored in separate columns based on the left and right parts of an exponent. What I seem to be observing is that the two exponent values that are written to the sheet, are always from the previous calculation.
    Here you’ll see a simple exponent calculation:
    image
    When I press the equal button, it writes to a history row. The screen shot doesn’t show it, but when I pressed the equal button, it displayed a notification of the value in the Right Exponent column, which was a ‘2’. So far so good.
    image
    Then I do a second exponent calculation.
    image
    When I press the equal button, the notification indicates that there is a 4 in the right part of the exponent, but that same value has now written a 2 from the previous calculation into the history row. The red marks indicate the values of the left and right part of an exponent that are stored in the history. It shows the correct formula and everything else appears correct, but for some reason, those two exponent column values are always behind one calculation.
    image
    This issue does not happen in the glide editor. This only seems to be happening in the published app. Both observed within chrome on windows and android.
1 Like

@Jeff_Hager I’ll look into it and let you know.

1 Like

@Jeff_Hager The first thing I’m noticing is that you are using user specific columns but the app is Public. That may explain why it is behaving differently between the live app and the builder. You should set it to Public w/email and make sure it’s not that.

1 Like

I guess my intention with the user specific columns on a public app was to keep the entire experience self contained and eliminate the need to sync any data to the glide server. With the exception of the global button counts (which I plan to also switch to user specific by the end of the month), there really shouldn’t be anything stored on the glide servers other than the core basic column data to make the app function. The only exception would be if a user wanted to sign in to permanently store their own history.

But, I’ll try it out later and sign in to see if anything acts differently.

4 Likes

A couple of initial thoughts.

Row ID is required for User Specific columns to work correctly, right? I don’t believe I was prompted to add a Row ID and none of my tables currently have one. I’m guessing that could be part of the problem. I can try adding a Row ID column, but I don’t want to mess around with anything if you guys are still looking into it.

I also don’t have a user profile sheet. At the moment, I don’t have a need for one. That could change later, but currently there is not one. Is it correct to assume that a user profile sheet is not necessary for user specific columns to work?

I did sign into the app on my phone (different email from my glide email). As I was signed in, I tried to run a few calculations. I get the same results described in my first post, but I’m wondering if the lack of a Row ID column is still causing issues. Refreshing the app cleared out any user specific data that should have been saved as part of the signed in user. Also, I tried to Preview as my signed in user in the builder to see records as they were written, but nothing was showing up. I don’t know if this is due me previewing as the signed in user email as opposed to the anonymous email that would normally be assigned. Currently I have no way to view the attached anonymous email. Exporting the data did not show any data for the email that I used to sign in on my phone. I can only assume that data is not being send to the glide servers.

As I think about this now, I wonder if this is the cause of a lot of people’s issues with Set Columns. Like I mentioned above, when I added User Specific columns, I was not prompted to add what I believe is a mandatory Row ID column. I wonder if this is causing the issues with data appearing to update in the app, but not migrating to the table on the server and being completely lost when the app is refreshed.

Unless you are still looking at anything, I may try to add Row ID’s to all of my tables later this evening to see if that makes a difference.

1 Like

You do not need to add a Row ID column with Glide Tables because there is one build into the implementation.

Please create a Support case however, by emailing support@glideapps.com. I did take a quick look on the outside chance something caught my eye, as did the user-specific column thing, but in order to escalate it to Engineering I would need to have a case started in our system.

Will do. Thanks!