Hi Norman, thanks for the detailed research. I updated PR #296 (https://github.com/apache/cordova-plugin-statusbar/pull/296) on cordova-plugin-statusbar to add a feature list of cordova-plugin-statusbar and what the replacement is on the cores.
Manuel > Am 09.09.2026 um 18:15 schrieb Norman Breau via dev <[email protected]>: > > The JS API is enabled for the core system bars in Cordova Android 15.1.0 via > Since 15.1.0 via https://github.com/apache/cordova-android/pull/1971 > > I think the features of the old status bar plugin was: > - Controlling light or dark content (basically black or white font style) > - Showing or hiding the status bar > - Setting the status bar background colour > - Setting the status bar as a solid bar or as an overlay on top of the > webview. > - On iOS I guess the statusbar plugin supports a statusbar tap or the ability > to tap the scrollbar to scroll to top via *StatusBarDefaultScrollToTop* > config preference. > > On the last note, I'm not sure if the core system bar plugin has a direct > equivalent but I'd also point out that the goal for the core system bar > plugin is to add the "basic" feature set as you would expect as a core > feature of any app. And this particular feature might exceed that scope, and > given that it's an iOS only feature I'd argue it's an unfinished feature of > the original product and can be something we could "drop" (by deprecating the > status bar plugin without a replacement) > > The original statusbar plugin also offered both declarative API (via config > preferences) and a JS API for controlling all the options mentioned above, > except for visibility state, which only appears to be controlled via the JS > API. The core system bars API I believe matches the same capabilities as of > Cordova Android v15.1.0, noting that controlling light and dark content is > not directly controllable, but is influenced by the background colour state > instead (imposed opinion). The imposed opinion I don't believe is a blocker, > and if desired we can likely incorporate a configuration parameter to > influence the luminance formula without introducing a breaking change. So I > believe the core system bar API is now on par with the capabilities of the > original status bar plugin. > > I'd also point out that all the APIs on the android implementation that the > older statusbar plugin depends on is deprecated so without drastic changes to > that plugin, I don't foresee us being able to maintain that plugin in the > longer term anyway. I believe most of the refactoring required will end up > being similar to what is implemented at the core platform, and maintaining > two separate statusbar plugins does not make much sense to me in the long > term. > > At [email protected], there was issues that made the status bar plugin > still mandatory to obtain certain level of functionality that might have been > necessary for some apps, and I think 15.1.0 has corrected all of those > issues. So I believe we are probably ok in deprecating > cordova-plugin-statusbar. > > So assuming that my analysis is accurate, I vote +1 > > On 2026-09-09 12:53 p.m., Manuel Beck wrote: >> Hi Alexandre, >> >> it's like you wrote. Setting the status bar background color will change the >> dark/light appearance in edge-to-edge mode. You can set the background color >> dynamically by the Status Bar JavaScript API >> window.statusbar.setBackgroundColor('css-color'). Setting >> window.statusbar.setBackgroundColor('black') >> for e.g. will make the status bar appear in light mode. >> >> Manuel >> >> ________________________________ >> Von: Alexandre Alves<[email protected]> >> Gesendet: Wednesday, 09 September 2026 16:20:25 >> An: Manuel Beck<[email protected]>;[email protected] >> <[email protected]> >> Betreff: Re: [VOTE] Deprecation of cordova-plugin-statusbar >> >> Hi >> >> Do you mean that by setting StatusBarBackgroundColor in edge-to-edge, it >> will make text colour dark if the background is light and the opposite if >> dark? Is there a method to set the background colour dynamically? >> >> Alexandre Alves >> ________________________________ >> From: Manuel Beck<[email protected]> >> Sent: 09 September 2026 13:31 >> To:[email protected] <[email protected]> >> Cc: Alexandre Alves<[email protected]> >> Subject: AW: [VOTE] Deprecation of cordova-plugin-statusbar >> >> Hi, >> >> you are correct, Darrel was against your PR and I closed it 😃. But after I >> worked some more time on the status bar issue, I noticed that the config.xml >> preference „StatusBarBackgroundColor“ changes the dark/light appearance of >> the status bar on Android edge-to-edge mode even if the background color is >> not seen itself. To make it fully functional I created PR #1971 on >> cordova-android (https://github.com/apache/cordova-android/pull/1971) which >> makes it also possible with the Status Bar JavaScript API. Since iOS 18.5 >> the system handles the appearance automatically. To make it work on older >> iOS versions I fixed that with PR #1689 >> (https://github.com/apache/cordova-ios/pull/1689), but which is not released >> yet. So it’s now possible to handle the dark/light appearance of the status >> bar with the cores only. >> >> Manuel >> >> >> Von: Alexandre Alves via dev<[email protected]> >> Datum: Mittwoch, 9. September 2026 um 14:13 >> An:[email protected] <[email protected]> >> Cc: Alexandre Alves<[email protected]> >> Betreff: Re: [VOTE] Deprecation of cordova-plugin-statusbar >> >> Hi, >> >> I tried to push a PR (https://github.com/apache/cordova-android/pull/1917) >> to cordova android to be able to control the color of the content (light or >> dark) but the opinion was that it should not be included in the platform and >> developers who needed that feature would have to continue relying on the >> statusbar plugin. A function to control the color of the content in the >> statusbar is not available in each platform. >> >> If this is the case, then it should not be deprecated. >> >> Alexandre Alves >> ________________________________ >> From: Manuel Beck<[email protected]> >> Sent: 09 September 2026 13:04 >> To:[email protected] <[email protected]> >> Subject: AW: [VOTE] Deprecation of cordova-plugin-statusbar >> >> I have a correction to be made at the notes on point 3: >> cordova-android lags the possibilty of using the config.xml preference >> "<preference name="StatusBarOverlaysWebView" value="false" />" in >> non-edge-to-edge mode >> It should be meant >> lags the possibilty of using the config.xml preference "<preference >> name="StatusBarOverlaysWebView" value="true" />" in non-edge-to-edge mode >> >> Von: Manuel Beck<[email protected]> >> Datum: Mittwoch, 9. September 2026 um 13:59 >> An:[email protected] <[email protected]> >> Betreff: [VOTE] Deprecation of cordova-plugin-statusbar >> >> Hi, >> >> I want to vote for deprecating cordova-plugin-statusbar. Most of the >> functionality moved to cordova-android since 15.0.0 and cordov-ios since >> 8.0.0. I want to add a deprecation note on cordova-plugin-statusbar on top >> of the readme to inform people about that and directing to the blog post >> articles for cordova-android 15.0.0 and cordova-ios 8.0.0 where some >> replacements are described. PR #296 >> (https://github.com/apache/cordova-plugin-statusbar/pull/296) would add the >> note. Also a blog post article could be created, which informs the user of >> the deprecation and how to use the cores instead. Also the Status Bar >> JavaScript API could be mentioned there. >> >> Here are some things to note about the status bar compatibility of the cores: >> >> 1. cordova-android lagged the possibility to hide the status bar completely, >> which is fixed by PR #2000 >> (https://github.com/apache/cordova-android/pull/2000) but not released yet. >> 2. Since cordova-android 15.1.0 the dark/light appearance of the status bar >> can bet by the Status Bar JS API >> (https://github.com/apache/cordova-android/pull/1971). On iOS this is done >> automatically since iOS 18.5. For iOS older than 18.5 the PR #1689 >> (https://github.com/apache/cordova-ios/pull/1689) fixed that, but which is >> not released. >> 3. cordova-android lags the possibilty of using the config.xml preference >> "<preference name="StatusBarOverlaysWebView" value="false" />" in >> non-edge-to-edge mode, because „StatusBarOverlaysWebView“ is not supported >> by the cores. On iOS this behaviour can be obtained by using "<meta >> name="viewport" content="viewport-fit=cover“>“, which is currently not >> supported by Android. Darrel opened a PR #2010 on cordova-android >> (https://github.com/apache/cordova-android/pull/2010) which would resolve >> this. >> >> I think, there will be done no more work on cordova-plugin-statusbar and the >> cores will take care of the functionality. >> >> Regards, >> >> Manuel >> <https://github.com/apache/cordova-android/pull/2000>
