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>

Reply via email to