Hi everyone,
I am having an issue with my OutSystems 11 mobile app after upgrading MABS from version 11.2 to 12.
According to the MABS 12 release notes, the cordova-plugin-statusbar has been removed, and preferences like StatusBarOverlaysWebView no longer work. Because of this change, our app's header layout is now overlapping with the iPad status bar where the ipad's Date, Time is visible.
Has anyone else run into this? Apart from fixing it with custom CSS, is there a specific configuration or workaround needed to make the header work properly with the new OutSystems UI in MABS 12?
Thanks in advance for any help!
Thanks,
Piyush Dohliya
Hi,
The documentation link below explains the solution for both Android and iOS applications. For the Android app, both Extensibility Configuration and custom CSS are supported. However, for the iOS app, only CSS is available, Extensibility Configuration is not supported.
At the Theme level I used-
/* iOS Safe Area Fix */
body.ios {
/* Fix header under status bar */ .header, .osui-header,
.top-header { padding-top: env(safe-area-inset-top);
height: calc(56px + env(safe-area-inset-top)); }
}
To fix feedback message overlap I used-
.feedback-message{
margin-top: env(safe-area-inset-top);
https://success.outsystems.com/documentation/11/deploying_apps/mobile_apps_packaging_and_delivery/customize_your_mobile_app/customize_the_application_system_bars_with_edge_to_edge_display/#safe-area-inset-support
Thank you.
You’re running into the expected behavior change between MABS 11 and MABS 12.
In MABS 12:
StatusBar
StatusBarOverlaysWebView
window.StatusBar.*
Because of that, what used to be handled by StatusBarOverlaysWebView in MABS 11 is now handled by the new system bars model in MABS 12. If you simply upgraded MABS, your existing header (which was designed assuming the old status bar behavior) can end up visually “under” the iOS/iPadOS status bar, exactly like you’re seeing.
For MABS 12+, the supported approach is:
Configure system bars using “Customize the application system bars with edge‑to‑edge display”
OutSystems’ recommended solution for MABS 12 is to move to the new system bars setup (edge‑to‑edge) using Extensibility Configurations. RE: Change of Status Bar Color at Runtime for Each Screen in MABS 12
In your mobile app module:
StatusBarBackgroundColor
StatusBarStyle
That article shows how to:
Once you align with this model and rebuild with MABS 12, the overlapping issue typically disappears without custom JS/plugins.
Make sure OutSystems UI is updated and aligned with MABS 12
If you upgraded MABS but are using an older OutSystems UI version, the CSS and layout assumptions may not match the edge‑to‑edge / safe‑area behavior of newer runtimes. Customize the application status bar
Avoid relying on runtime status bar JS
Since MABS 12 is moving to Capacitor and modern Android/iOS practices, runtime status bar color/overlay manipulation is no longer supported (as you saw in the other forum thread). RE: Change of Status Bar Color at Runtime for Each Screen in MABS 12 You should instead:
Summary
That’s the path OutSystems itself recommends and is what other customers have used successfully after moving from MABS 11.x to 12.
Dear,
Kindly share the OML to check.and kindly confirm is it device specific or you are facing this issue on all the devices android, iphone , ipad , ext
Hi Vignesh,
Due to confidentiality constraints, I am unable to share the OML. However, following the MABS upgrade, we reinstalled the app on multiple iPads, and the issue persist across all devices.
Have you tried the recommendations in the comment above?