New update from yesterday


#1

I spent some time updating my main dashboard last night with colors/nest of other dashbords etc. the main dashboard is back to what I had prior. The other dashboards are there but main one is not changed. I might not have ‘saved’ the last one but I know I saved it many times to see how it looked. I imagine there is nothing to do but wanted to make you aware


#2

Thanks for the heads up. Is it possible that you have had the dashboard open on an old device for a while? In our release about 2 weeks ago, we had a major backend change and moved to a new database system. As part of that change, if you had any old browsers open you would have needed to do a complete refresh in order to get the new ‘push’ feature.

The new version automatically pushes your dashboard changes out to all connected devices. When you hit save on a dashboard, it pushes the changes to the database and upon successfully saving then the save button disappear and the grid lays itself out again.

Upon saving, the database will automatically push out to all your other devices, but if any of the other devices had the same dashboard open in edit mode, then they have their own local copy of the dashboard available for editing. If that’s the case, then if you simply cancel editing it would get all the new changes. But if you made changes to that ‘local’ copy of the changes and save, then it would overwrite any changes (eg. Last one in while both are in edit mode).


#3

Josh. That is possible… I will make sure everything is closed out.


#4

Thanks again for reporting and my apologies for any difficulty it may have caused!

Also, I did some additional testing to confirm the ‘last one in wins’ scenario – especially in a case where network connectivity might be temporarily spotty or the device might be over aggressive in throttling Wifi to save battery.

Here’s the test I ran.

  1. Open a specific dashboard on device A
  2. Open the same dashboard on device B
  3. Disconnect the network for both device A and device B
    Note: At this point, they are both still able to run the app within the browser and make edits but they won’t be able to save or get updates until network comes back online.
  4. Using device A, change tile X and Y to RED
  5. Using device B, change tile X and Y to BLUE
  6. Press save on device A
  7. Press save on device B
    Note: the order of when save is pressed on each device doesn’t really matter since they are both offline. What matters is when they reconnect and then the save is retried.*
    Note: At this point I observed in the network logs that both devices were trying to write (and read) data from the database, but were gracefully failing because they were disconnected. Also note that an exponential backoff algorithm is used, so they start to try writing a bit less frequently as time goes on.
  8. Reconnect the network on device B and wait for the changes to commit (eg. the save icon goes away)
    Note: The tiles are still Blue on device B (and red on the disconnected device A)
  9. Reconnect the network on device A and wait for the changes to commit
    Note: The tiles on both devices turn RED as the commits from device A come across the network after the commits from device B

Also, just to clarify for anyone else who finds this post, pressing save on the Tile Editor just saves the local edits so we can see the changes. We can keep making lots of changes and see the updates reflected immediately in our local browser, but the updates aren’t actually saved to the database until we press the orange save icon in the bottom-right corner of the screen. That way we have the option to cancel the changes in case some inadvertent change was made (like an unintentional big layout change or deleting tiles on accident).