Skip to content

Conversation

@tonypconway
Copy link
Collaborator

@tonypconway tonypconway commented Aug 14, 2025

As requested in #96

Versions are based on those pulled from user-agents.io UA strings and forced inclusion of 2.5 based on caniuse including it and 4.0 based on this developer update - no need for a regular update as KaiOS updates very infrequently and can be done manually.

@tonypconway tonypconway marked this pull request as draft August 14, 2025 12:40
@tonypconway
Copy link
Collaborator Author

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
Copy link
Contributor

ai commented Aug 14, 2025

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
Copy link
Collaborator

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

@tonypconway
Copy link
Collaborator Author

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

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 tonypconway marked this pull request as ready for review August 15, 2025 10:36
@tonypconway tonypconway added the enhancement New feature or request label Aug 15, 2025
@tonypconway
Copy link
Collaborator Author

@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
Copy link
Contributor

ai commented Aug 15, 2025

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

@tonypconway
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants