SerenityOS / serenity

The Serenity Operating System 🐞
https://serenityos.org
BSD 2-Clause "Simplified" License
30.42k stars 3.18k forks source link

LibWeb+LibJS: "supported browser" on GitHub #13355

Open skyrising opened 2 years ago

skyrising commented 2 years ago

GitHub checks for a bunch of features to determine if a browser is supported.

You can see these checks yourself at https://github.com/github/browser-support/blob/main/src/index.ts. However this might not exactly match the deployed version, which you can see in browser dev-tools through source maps at assets/node_modules/@github/browser-support/lib/index.js

Base support:

Polyfilled:

Required features without feature tests:

networkException commented 2 years ago

Looks like TypedArray.prototype.at is already implemented here https://github.com/SerenityOS/serenity/blob/4fd463dae0e2e8117f0cd672b9186680095b4f82/Userland/Libraries/LibJS/Runtime/TypedArrayPrototype.cpp#L177-L195

skyrising commented 2 years ago

True, just at the moment the deployed version checks for it incorrectly. It's fixed in their dev version: https://github.com/github/browser-support/commit/35e239009a974dd64338d88869d4524b9f7aabbc#diff-5777b02de15b15d9086896277beb792f1646303f68d3ddd2d5cfd7ff8418d140L17-R19

Lubrsi commented 2 years ago

I've implemented enough of custom elements to make GitHub JS progress and it now requires these:

ADKaster commented 7 months ago

It looks like their base support removed a bunch of pollyfills a few weeks ago. Anyone up for updating the list?

https://github.com/github/browser-support/commit/ee56483410a1b8bedb31940dd8683435aa03eab1

Lubrsi commented 6 months ago

Undocumented, but it now uses the popover(target) attributes, see https://github.com/SerenityOS/serenity/issues/23410