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

WRR-287: Update the minimum supported versions of browsers #3295

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

0x64
Copy link
Member

@0x64 0x64 commented Nov 19, 2024

Checklist

  • I have read and understand the contribution guide
  • A CHANGELOG entry is included
  • At least one test case is included for this feature or bug fix
  • Documentation was added or is not needed
  • This is an API breaking change

Issue Resolved / Feature Added

Along with theme library's change, the minimum version of browsers need to be updated and our documents also need to be updated.
In detail, we start to use relative RGB that is supported from safari 16.4, chrome 119, and firefox 128.

Resolution

Additional Considerations

Links

WRR-287

Comments

Enact-DCO-1.0-Signed-off-by: Seungcheon Baek ([email protected])

…aries' changes on custom skin

Enact-DCO-1.0-Signed-off-by: Seungcheon Baek ([email protected])
To support relative RGB, the minimum versions of browsers are updated as follows:
- safari: 16.4 (note that the first fully supported version is 18.0)
- chrome: 119
- firefox: 128

Enact-DCO-1.0-Signed-off-by: Seungcheon Baek ([email protected])
Copy link

codecov bot commented Nov 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.31%. Comparing base (b2fc7be) to head (a9c9379).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3295      +/-   ##
===========================================
+ Coverage    82.30%   82.31%   +0.01%     
===========================================
  Files          152      152              
  Lines         7091     7091              
  Branches      1867     1867              
===========================================
+ Hits          5836     5837       +1     
+ Misses         985      984       -1     
  Partials       270      270              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Enact-DCO-1.0-Signed-off-by: Seungcheon Baek ([email protected])
@MikyungKim
Copy link
Contributor

Based on MDN, safari 16.4 supports relative RGB partially.

Partial support
Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified as percentages with units (%).

Did you know that?

@0x64
Copy link
Member Author

0x64 commented Nov 26, 2024

Based on MDN, safari 16.4 supports relative RGB partially.

Partial support
Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified as percentages with units (%).

Did you know that?

MDN explains like below.

Implementation based on older spec version. As a result, channel value calculations do not work correctly, requiring values to be specified as percentages with units (e.g. 30%, which would be equivalent to a 76.5 value). See bug 267647.

CanIUse (https://caniuse.com/?search=relative%20RGB) explains like below.

Implementation based on older spec version. As a result, channel value calculations do not work correctly, requiring values to be specified as percentages with units (e.g. 30%, which would be equivalent to a 76.5 value). See bug 267647.

From the webkit bug link https://webkit.org/b/267647, we can find several facts.

  • The mixing of number and percentage is from an earlier, and incorrect, version of the spec where channel keywords could resolve to either number or percentage as desired. Now the spec is corrected to say that they all resolve to number.

  • So, the issue comes from an implementation of the old spec.
  • This sample does not work on Safari 16.4: https://developer.chrome.com/blog/css-relative-color-syntax#saturate_a_color.
  • And it works from Safari 18.0.
  • I tested, it works on Safari 18.1. So, at least CanIUse shows a wrong info.

Actually, relative RGB spec is changed before becoming the official standard, so Safari's implementation from 16.4 before 18.0 is based on the old spec. That is why it has an issue.

So, for us, it does not matter since we simply use R,G,B value as derived without any additional calculation. If we need to calculate later, the supported version of Safari needs to be updated at least 18.0 or higher after testing.

Copy link
Contributor

@MikyungKim MikyungKim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

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