Select to view content in your preferred language

BUG: 'Ghost Widgets' in JSON crash app after saving with new version (1.15.0)

1304
19
Jump to solution
2 weeks ago
DanMakridakis
Occasional Contributor

I made 1 change to my app in ExB and then published, and now it has completely erased everything!!!! In edit mode it is now completely blank! Nothing! 

In ArcGIS Online Assistant, it appears as though the JSON is still there for the published version. Even though that now loads blank too. ESRI has not exposed the JSON for the draft version so I can't see if it is there anymore, but I suspect it isn't.

PLEASE FIX!!!!!!

BUG UPDATE:

I discovered the BUG causing this issue, which I explain in detail in a reply below. Essentially, "ghost widgets" in the JSON are left behind from previous versions and are not being updated to 1.15.0. These widgets are nowhere to be found in the editor but still appear in the JSON code. Because they are not in the app, they are not updated when you save it. The presence of widgets with older versions makes the JSON unreadable by the newest version of ExB. Use the link below to jump to the longer explanation.

See Reply Below

1 Solution

Accepted Solutions
Junshan_Liu
Occasional Contributor

@DanMakridakis This issue is fixed. The app is not lost; it just triggers a bug, which causes it to not load. Could you just refresh your app to give it a try?

View solution in original post

0 Kudos
19 Replies
Stephanie_F
Esri Contributor

Hi Dan,

I recommend working with the Technical Support team. They can investigate but will need additional information about the affected application. 

-Stephanie

0 Kudos
DanMakridakis
Occasional Contributor

Hi Stephanie, It's any existing ExB app that is republished today. I tested it with a few existing disposable scratch apps I already had and the same happened to all of them. I then created a new app and it didn't happen to that one. This is clearly a massive BUG with the update, and not an isolated situation.

0 Kudos
DanMakridakis
Occasional Contributor

Update: After more testing I can't find a common link between apps that are going blank and ones that are not. I've been able to make 6 different apps go blank now. But a few other ones are not.

0 Kudos
Jianxia
Esri Regular Contributor

@DanMakridakis , Thanks for the update. I am not able to reproduce the problem. It would be helpful if you could contact Esri Support for a reproducible case. 

0 Kudos
DanMakridakis
Occasional Contributor

Here's is a video demonstrating an ExB project become blank after saving. What is the contact info for Esri Support so that I reach the correct representative?
 

DanMakridakis
Occasional Contributor

@Jianxiaand @Stephanie_F 

I discovered the cause, but the solution needs to come from Esri.

Some of the widgets in the JSON are not being updated to version 1.15.0. My projects contain "ghost" widgets from previous versions or templates I've used. These widgets are not found in the Page > Outline or the Pending List but seem to be trapped in the JSON. Because they are only present in the JSON, they are not updated to version 1.15.0 when the app is saved. This causes the Editor and Published versions to be unreadable upon re-opening.

Some of these "ghost" widgets are listed as version 1.9.0, 1.12.0, or 1.13.0 in the JSON. Version 1.15.0 seems to handle widgets listed as version 1.14.0 without issues, but anything older causes it to fail.

For the project I lost, I had published it before closing the editor, which meant the JSON was updated for the published version. I was able to edit the JSON and remove all the ghost widgets from versions 1.9.0, 1.12.0, and 1.13.0. After doing this, the published version started working again.

However, users do not have access to the JSON that the editor sees, so I can't do the same to recover that version. This means I still see a blank screen when I open the Editor. Not only is it blank, but it is also frozen, and I cannot interact with it at all.

I discovered these ghost widgets by duplicating the app I demoed in the above video and then deleting everything from it—widgets, pages, maps, pending list items—and setting all layouts to auto to match. After saving and publishing the app, I checked the JSON for this published version and found about 30 widgets still configured in the code, all with older versions. I know these widgets are from reusing another app or template, because the widgets configurations reference completely different data and maps that have nothing to do with this particular map. I believe this possibly resulted from some BUG that existed in 1.13 and earlier that caused certain widgets to remain in the JSON after they were removed from the app. Maybe if they were a child within a parent widget that was removed (search and widget control inside a map) or if they were referenced by another widget or action. Regardless of the cause, they exist in some of my apps and it is causing this issue in 1.15.0.

Jianxia
Esri Regular Contributor

@DanMakridakis , thanks for sharing. This definitely helps us narrow down the issue. Greatly appreciated!

0 Kudos
Junshan_Liu
Occasional Contributor

Some of the widgets in the JSON are not being updated to version 1.15.0.

 

This is normal in an ExB app, here are the details about the version: When a widget is added to an app, the current widget version will be saved in the config. When a new ExB version is released, when you open the app in the new release, the opened widgets will be upgraded to the new version in memory. However, for widgets that are not opened, the version is still the old one. There are some cases that widgets are not opened, such as the page is not loaded, the widgets added in the mobile, etc.

We can't reproduce this issue, could you share an app to help us identify the bug?


0 Kudos
DanMakridakis
Occasional Contributor

@Junshan_Liu Thanks for addressing this and getting it fixed in a timely manner. I was out on Friday, so I'm just getting back to it this morning. It seems to be working again.

I'm wondering if this issue has revealed another underlying bug. In this instance, the widgets causing my issues no longer exist anywhere in the app and therefore could never be opened to be updated. I completely removed everything from the app, but these widgets remained in the JSON. The only place I can see some of them referenced is within the 'Action' list.

For example, after removing everything from my app, if I add a single map widget back and then go to Action > Record Selection, a number of widgets are listed that are nowhere to be found in the app. See the attached pictures. These are the widgets that caused my issues. They are present in the JSON but cannot be deleted in the app or opened to trigger an update to the newest version.

 

Action_1.JPG

0 Kudos