Add support for KaiOS in downstream browsers by tonypconway · Pull Request #97 · web-platform-dx/baseline-browser-mapping (original) (raw)

@tonypconway

@tonypconway

Currently in draft, I'm thinking about making this an opt-in feature behind a flag in both getCompatibleVersions() and getAllVersions() because KaiOS is a very different browser paradigm to all the other browsers we're including (much smaller screens, no touch or pointer, directional key navigation required). I don't want to give people a false sense of security - your polyfills/linting might be just fine with this included, but your UI still has to be quite specifically designed to work well on KaiOS. Does that make sense?

@ai @rviscomi interested to get your thoughts on this.

Once this is squared away, we can add a corresponding flag in browserslist-config-baseline and/or browserslist directly if @ai is happy to move forward with the implementation. Cheers!

@ai

I don't want to give people a false sense of security - your polyfills/linting might be just fine with this included, but your UI still has to be quite specifically designed to work well on KaiOS. Does that make sense?

Yes, unfortunatelly, full KaiOS support is much harder than Firefox

@rviscomi

SGTM. Should we also update the README in this PR?

@tonypconway

Yep, I'll implement the flag and the README changes as part of this PR

@tonypconway

Add KaiOS 2.5 which appears in caniuse

Update data file

Adds a boolean option to include KaiOS with README and test updates Also adds a fix for frequent permission issue when testing the CLI locally

Updating static site

fix missing permissions in refresh static

Updating static site

@tonypconway

@ai @rviscomi I'm pretty happy with this as it stands, wdyt?

The only thing I'll point out is that this contains versions of KaiOS that aren't reflected in caniuse-db yet, specifically. browserslist-config-baseline won't start passing KaiOS versions without us making changes over there because this is an opt-in change, and practically speaking, it won't make a difference to polyfills/linting as those tools will most likely be using the Firefox compat data anyway.

@ai

Yes, Can I Use versions of kaios is very limited (2.x and 3.x, but 4.x was released).

What versions are in your system?

(There are long-term plans to move Browserslist/Autoprefixer to MDN database, but it will require too much work and very painful breaking-changes release).

rviscomi

@tonypconway

What versions are in your system?

The list is here which boils down to:

Version Gecko
1.0 37
2.0 48
2.5 48
3.0 84
3.1 84
4.0 123

All of these are derived from the useragents.io database with the exception of 2.5 which I added manually because it's in caniuse and 4.0 because it's in this blog post. That said, the more I look at it the less sure I am that we should include 4.0, as I can't find any other references to KaiOS 4, including on the KaiOS developer site. I've also seen no UserAgent strings in any public dataset. Any strong opinions? The TCL Flip 4 doesn't seem to be available to purchase anywhere that I can find shipping to the UK, but I could see if colleagues in India are able to get hold of one maybe.

(There are long-term plans to move Browserslist/Autoprefixer to MDN database, but it will require too much work and very painful breaking-changes release).

This is good to know!

@tonypconway

That said, the more I look at it the less sure I am that we should include 4.0, as I can't find any other references to KaiOS 4, including on the KaiOS developer site. I've also seen no UserAgent strings in any public dataset. Any strong opinions? The TCL Flip 4 doesn't seem to be available to purchase anywhere that I can find shipping to the UK, but I could see if colleagues in India are able to get hold of one maybe.

A very kind YouTubers who reviewed the TCL Flip 4 was kind enough to copy the user agent and send it to me and it confirms that KaiOS 4.0 is indeed based on Gecko 123, so I now feel confident including it in this release.

It's now the weekend and a public holiday on Monday in the UK, so I'll get this cleaned up and released on Tuesday 😃

@tonypconway

OK, this passes all tests, and I've checked with a beta version that it doesn't break the supported browsers page because it doesn't use the includeKaiOS flag yet. Merging now and will tag/release as 2.7.0 🎉

@tonypconway

@ai ai mentioned this pull request

Aug 26, 2025

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})