URGENT/EMERGENCY - Smart Actions are invisible and Smart Fields are populated on grid views

All the visibility settings for all of my teams’ smart actions were made invisible (and the buttons have completely disappeared from the summary view, both the actions and the sections that contained those actions) and all the smart fields across all collections were repopulated onto all the grid views. Is this a bug that can be reverted? It doesn’t feel like anything that I did on my end. I have individual preferences/settings set up across almost 30-40 segments across over 10 collections across 15 teams, so this hits us pretty hard if it’s something we would have to manually fix on our end.

I’m not sure if it happened in dev and production environments, but I didn’t notice until I copied over my view from dev to prod.

Hi @Matt,

Do you know exactly when this started to occur?
No release have been done on our end today.

If you copied your development layout to your production environment, are you sure you development layout was well configured?

Thanks for your responses.

@arnaud I first noticed the smart fields were repopulated into grid views yesterday in the dev layout, but didn’t realize our actions were affected as well until I copied my dev layout to my prod layout.

And yes, my layout was configured exactly how I wanted it to be and it took a considerable amount of time to do. So I’m pretty confident it wasn’t anything I could have done on my end, since the layouts preferences aren’t affected by my code, to my understanding.

We have over 20 actions for one collection, with individual layout preferences across multiple teams and segments, and then all of the actions, across all collections and teams were made invisible at the same time. I’m not even sure how I could do that on my end?

If it was something I did on my end, then I definitely want to understand to avoid it in the future, just trying to figure out what happened.

  • All smart actions across all collections, teams, and segments became invisible at the same time (and all the segment and user preferences for these actions were removed as well)
  • All smart fields were repopulated into the grid views across all collections, teams, and segments at the same time
  • All smart action buttons, and the sections those action buttons were in (if the section only included action buttons), were all removed from the summary views across all collections, teams, and segments at the same time

@arnaud Was this a result of something that happened on your end? And if so, is there a way to revert my dev layout back to where my preferences for smart actions and smart fields were setup properly? Or will I have to manually rebuild my layout back to where it was?

@arnaud If I do need to manually rebuild my layout, I’ll just need to know ASAP so I can get our team back to a functioning state. Do you have any updates/insight yet?

I’ll start the investigation about your schema update triggered yesterday, to find the explanation of the situation.
But I am pretty sure you’ll have to reconfigure everything manually.

I’ll let you know about what flushed your Smart Field / Smart Actions configuration.

Okay. Thank you for letting me know. It would be helpful to understand what happened, and if it’s something that I did on my end or inside of my code, to understand what I did.

I think you guys released the ability to automatically hide smart actions when they are added (side note, would be nice to get emails/updates about feature releases), but I also noticed that it would become invisible again if I edited that smart action. Not sure if it is anything around this?

It’s such a great feature to have the layout settings replace actually having to code a front end from scratch, but it would be nice to expand the functionality/protection of the layout settings similar to what you would have with a git repository of your front end code.

Mainly it would be nice to save a layout as a backup. Having my layout affected this drastically feels like the equivalent of me waking up to find all my front end code was reverted back to a version from months ago, and I have not backup of my most recent commit. So now I have to “recode”/reapply everything I did over the past month. It’s not a scalable solution on my end, because now I have to fix/revise all day versus building new features.

Having more stability of my “front end” with Forest (backups, easy updates to layout settings) would be a very great and necessary value add for my team.

I guess this could be “hacked” by setting up a third environment called “backup”? But again, if all the smart actions disappear in that as well, I guess it’s the same issue, if it’s a local environment. It sounds like that may be the cause of this issue, something I did in my code generated the revision of my layout settings.

I found the origin.

The issue appeared in development yesterday.
It looks like yesterday at 5:17:31pm (UTC+2) you (re)started your development server with all the Smart configuration missing in the .forestadmin-schema.json (Smart Fields, Smart Actions). I don’t really know how it technically happened.

Then at 5:17:50pm (UTC+2) a new .forestadmin-schema.json was received with all the Smart configuration back.

The first synchronisation destroyed those objects from your layout,
the second recreated them but with their default configuration (hidden by default for security reasons).

Then the fatal move; the development environment layout has been copied to the production one, and, as a consequence, the Smart Actions and Smart Fields display configuration (hidden) has been apply to your production teams.

Gotcha, not exactly sure how that could of happened.

So if I replaced that file with a file from a previous commit, would that re-overide the damaging changes?

I am really sorry, but unfortunately the damage is done and cannot be revert automatically, with the “copy layout” action, you lost all you manual configuration (it has been basically reset) :pensive:

As a side note, we do provide a layout backup feature for enterprise plans, I can redirect you to the right team if you need this.

But you’re saying that a new .forestadmin-schema.json was created, which re-generated all of the settings. So if I copied the code from a .forestadmin-schema.json before the new one was created, would it re-generate my old settings in my development layout that I could copy again to the production enviornment?

Or is that schema file generated from the layout settings I have applied to my enviornment?

Hi @Matt,

I will try to illustrate how things are working, I hope it will answer your questions.
ForestAdmin configuration is based on two sides:
1 - Configuration coming from the agent (your API) is the basis. It brings the schema.
2 - Configuration made on the UI on a layout is added on top of the current schema.

If the current schema drops some previous elements, UI configuration is lost for these elements, even if the schema restore them later.
It means, when the agent send a new schema, Forest will drop the elements that are no more present comparing to the previous schema. Consequently, it drops the configuration made on the UI on these elements.

This draw illustrates:

Hope this helps

Hey @Sliman_Medini, thanks for more detail. I guess I’m still just confused what it is that I do that causes me to lose changes that I make in the UI? What is it that causes the agent to send a new schema that drops the configuration in the UI that I want? I’m specifically losing configuration across smart fields and actions.

I’ll configure my smart fields and actions in my UI (in a local environment), and then I’ll make some changes in my code (adding a new smart action/field etc.) and then if I restart my server for whatever reason it resets all my configuration for smart fields and actions. Just trying to avoid whatever damaging changes/steps I’m making so I don’t lose my work and have to constantly rebuild it.

Thank you guys for the help!

Mainly, if the damages are done when I restart my local server, how do I know that all of the layout configurations I’ve made in my UI have saved to my schema before I shut down my local server?

Or should I just always copy my layout from development to production before shutting down my local server as a fail safe?

Hello @Matt,

One possibility for explaining this behavior is your agent threw an error at some point and the generation of the smart actions/views has been dropped.

As @Arnaud stated, there is only 19 seconds between a “wrong” and a “right” generation of your .forestadmin-schema.json.
Maybe it is a typo fix, (un)commenting some code or whatever?
In the end, it looks like a quick modification. Do you think that could be the case?

I suggest you to carefully review your development layout before copying to production.
Making sure you are not introducing too many unwanted changes.

What you could do is making a diff of your generated .forestadmin-schema.json between development server for making sure you are modifying only what you want.

As an extra security, you can move to one of our enterprise plan for keeping schema backups.

2 Likes

Hey @Guillaume_Cisco thank you for the info! I think this makes sense. I’ll just need to make sure there aren’t any errors before restarting my server. It seems like that’s where the issues have come about. And be more cautious about my layout configurations and schema updates. I appreciate all or your team’s help and will definitely keep the schema backups in mind.

2 Likes