How is your experience with the OutSystems Community?
26
Views
5
Comments
Solved by AI
Header UI Issue After Updating MABS version from 11.2 to 12 (O11 Mobile App)
Application Type
Mobile

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

2023-12-27 18-00-46
Piyush D.
Solution

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.

2023-12-26 10-35-28
OutSystems Neo
Staff
AI Generated

You’re running into the expected behavior change between MABS 11 and MABS 12.

In MABS 12:

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.

What you can do (beyond CSS hacks)

For MABS 12+, the supported approach is:

  1. 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:

    That article shows how to:

    • Decide whether content should go under the system bars (true edge‑to‑edge) or start below them.
    • Set the system bar colors to match your header.
    • Ensure safe‑area insets are honored so content (like your header title/actions) doesn’t sit behind the iOS status bar and notch.

    Once you align with this model and rebuild with MABS 12, the overlapping issue typically disappears without custom JS/plugins.

  2. 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

    • Update the OutSystems UI dependency in your app.
    • Regenerate and install a fresh build with MABS 12.
  3. 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:

    • Define system‑wide status bar behavior via Extensibility Configurations.
    • Design your header (and themes) with that fixed behavior in mind.

Summary

  • What broke: old Cordova status bar preferences (like StatusBarOverlaysWebView) and JS no longer apply in MABS 12.
  • Recommended fix (no custom CSS “hack” required):
    • Remove old status bar preferences from Extensibility Configurations.
    • Configure the new edge‑to‑edge system bars behavior for MABS 12 as per OutSystems’ documentation.
    • Update OutSystems UI and rebuild with MABS 12.

That’s the path OutSystems itself recommends and is what other customers have used successfully after moving from MABS 11.x to 12.

This answer was AI-generated. Please read it carefully and use the forums for clarifications
2025-01-15 08-35-04
Vignesh Sekar

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

2023-12-27 18-00-46
Piyush D.

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. 


2025-11-18 12-43-07
Mariana Junges
Champion

Have you tried the recommendations in the comment above?

2023-12-27 18-00-46
Piyush D.
Solution

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.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.