App Bridge v4 max modal ignores UI Save Bar discard behavior

This has already been reported in a few threads (here and here for example) but I’m raising it again since it’s still an ongoing issue currently preventing me from getting BFS on one of my apps.

Using App Bridge v4 with Polaris web components, when a max modal contains a form, the modal close button cannot be controlled. If the modal is closed with unsaved changes, the UI Save Bar simply disappears instead of triggering the expected discard behavior (vibration / warning).

This makes it impossible to protect unsaved changes and currently blocks BFS approval for one of my apps.

Is there a planned fix for this in App Bridge v4, or an official workaround to achieve BFS compliance when using max modals?

1 Like

Hi @Axel,

Thanks for reporting this and for letting us know it’s blocking you from getting BFS on one of your apps.

At the moment, resizing the modal is still the best workaround I’m aware of. I’ll double-check whether we have a better option to recommend, and I’ll also confirm the expected timeline for when this will be addressed.

Hi @Paige-Shopify,

Thanks, that would be nice! When you say “resizing the modal”, do you mean using the large version of it? Will this fix the issue? It’s not ideal as my UI is made for being used in the max modal but I think I can eventually work on switching to a large modal if that’s currently the only solution…

The only solution at the moment is to implement your own discard and save buttons in the modal.

You don’t need to resize the modal if that doesn’t match your app’s UI. Just remove the save bar and rely on the inline buttons instead.

I’m looking into a better workaround solution, since users can still close the modal while it has unsaved changes.

Thanks a lot! One concern though: will this pass the BFS review without a UI save bar (and without a discard action as well)?

That’s really my main worry here. If I go through these changes and the outcome is the same (still rejected for BFS), it might make more sense to wait for a proper UI save bar solution, even if that means delaying BFS for a while, which is admittedly a bit frustrating.

The UX we’re aiming for is to prevent users from closing the modal when there are unsaved changes.

Depending on your app’s needs, you might find using a combination of these more useful:

The App Review team is aware of this limitation, and I gave them a heads-up that they may see BFS resubmissions that include workarounds for it, so they can keep this in mind.

For reference, here’s the kind of UX we will accept considering this limitation:
05-22-ld6rs-7v2gl
The ui-save-bar component was moved inside the modal so it replaces the title bar when there are unsaved changes.

1 Like