Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update browser requirements to es2022 #2176

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

marcustyphoon
Copy link

@marcustyphoon marcustyphoon commented Dec 6, 2024

This updates the minimum supported browser versions to Firefox 115/Chrome 103, which enables the use of modern es2022 javascript constructs while keeping the maximum operating system support.

Firefox 115 ESR and Chrome 103 will both run on Windows 7 and MacOS 10.12. Chrome 103 will also run on MacOS 10.11; it's not worth dropping the Firefox version low enough to support both browsers on this OS (no import() support, which is the whole point of making this change).

This should not exclude XKit use on any relevant Firefox fork; being based on at least the oldest supported ESR should be a baseline requirement for use, and per my testing all reasonable Firefox forks are now on 128 ESR anyway (as of https://blog.ablaze.one/4464/2024-08-01/)

This enables the use of, for example:

  • .?
  • ''.replaceAll()
  • ??=
  • :not(a, b) selectors
  • top-level await
  • import()
  • [].at()
  • [].findLast()

This then makes use of dynamic import to replace an otherwise-unnecessary eval in xkit.js. Dynamic import change tested and working in Firefox 89/Chrome 88 (they're the versions I had lying around).

Edit: Also tested in Edge 109 and Firefox 115 on Windows 7.

@marcustyphoon marcustyphoon requested a review from hobinjk December 6, 2024 22:35
@hobinjk
Copy link

hobinjk commented Dec 22, 2024

I can think of one browser, Waterfox Classic, that may have some users while also being scarily old. That being said, that's such a narrow slice of people that are probably used to debugging and having to run things on a different browser that we don't have to worry about them. Just some (old, stale, and likely moldy) food for thought :D

@marcustyphoon
Copy link
Author

Yeah, I've thought about this a bit. Pale Moon seems to have some devotees for some reason, but (somewhat to my surprise) they don't support web extensions, so they're not relevant. Waterfox Classic has, per their homepage, unpatched security issues, and I can't encourage anyone to run it (also, it can't actually load the GitHub releases page to download New XKit... and it goes into an infinite load loop on Tumblr communities pages but doesn't get a "your browser is unsupported" modal, which I should probably report to Staff, as well as crashing on any Tumblr page fairly frequently). Surprisingly enough, it does actually run New XKit 7.9.2 besides those issues, but yes, I don't think encouraging that is good :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants