Skip to content

Fix safari chart rendering issues. #6303

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

Merged
merged 1 commit into from
Apr 10, 2023

Conversation

bmd3k
Copy link
Contributor

@bmd3k bmd3k commented Apr 10, 2023

  • Motivation for features / changes

    I found a couple of problems with scalar line chart rendering in Safari while investigating Not show lines in Safari on MacOS 13.3 #6280.

    • Safari 16.4 introduced limited OffscreenCanvas support. Notably it does not include 'webgl2' support. We have to be a bit more strict with our OffscreenCanvas feature detection to check for 'webgl2' support.
    • Scalar line charts still would not render in either canvas or svg mode until the charts were resized manually. We have to adjust our CSS in order to convince WebKit to render the line chart with the space available to it. We use 'flex' for this.
  • Testing

    I tested in both Safari and Chrome that Canvas/Three.js and SVG rendering work (using forceSVG=false and forceSVG=true, respectively).

    I imported the changes internally and ran internal presubmits.

    I did not write any more tests because (1) utils.ts is currently not covered by tests and (2) this is a Safari problem which only has best effort support.

@bmd3k bmd3k force-pushed the safari-render-issues branch from 5e6801c to 9ef7969 Compare April 10, 2023 16:09
@bmd3k bmd3k requested a review from rileyajones April 10, 2023 16:12
if (!self.hasOwnProperty('OffscreenCanvas')) {
return false;
}
// Safari 16.4 rolled out OffscreenCanvas support but without webgl2 support.
Copy link
Contributor

Choose a reason for hiding this comment

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

👏

@bmd3k bmd3k merged commit 136e9e5 into tensorflow:master Apr 10, 2023
bmd3k added a commit to bmd3k/tensorboard that referenced this pull request Apr 12, 2023
* Motivation for features / changes

I found a couple of problems with scalar line chart rendering in Safari
while investigating
tensorflow#6280.

* Safari 16.4 introduced limited OffscreenCanvas support. Notably it
does not include 'webgl2' support. We have to be a bit more strict with
our OffscreenCanvas feature detection to check for 'webgl2' support.
* Scalar line charts still would not render in either canvas or svg mode
until the charts were resized manually. We have to adjust our CSS in
order to convince WebKit to render the line chart with the space
available to it. We use 'flex' for this.

* Testing

  I tested in both Safari and Chrome that Canvas/Three.js and SVG
rendering work (using forceSVG=false and forceSVG=true, respectively).

  I imported the changes internally and ran internal presubmits.

  I did not write any more tests because (1) utils.ts is currently not
covered by tests and (2) this is a Safari problem which only has best
effort support.
bmd3k added a commit that referenced this pull request Apr 13, 2023
* Motivation for features / changes

I found a couple of problems with scalar line chart rendering in Safari
while investigating
#6280.

* Safari 16.4 introduced limited OffscreenCanvas support. Notably it
does not include 'webgl2' support. We have to be a bit more strict with
our OffscreenCanvas feature detection to check for 'webgl2' support.
* Scalar line charts still would not render in either canvas or svg mode
until the charts were resized manually. We have to adjust our CSS in
order to convince WebKit to render the line chart with the space
available to it. We use 'flex' for this.

* Testing

  I tested in both Safari and Chrome that Canvas/Three.js and SVG
rendering work (using forceSVG=false and forceSVG=true, respectively).

  I imported the changes internally and ran internal presubmits.

  I did not write any more tests because (1) utils.ts is currently not
covered by tests and (2) this is a Safari problem which only has best
effort support.
dna2github pushed a commit to dna2fork/tensorboard that referenced this pull request May 1, 2023
* Motivation for features / changes

I found a couple of problems with scalar line chart rendering in Safari
while investigating
tensorflow#6280.

* Safari 16.4 introduced limited OffscreenCanvas support. Notably it
does not include 'webgl2' support. We have to be a bit more strict with
our OffscreenCanvas feature detection to check for 'webgl2' support.
* Scalar line charts still would not render in either canvas or svg mode
until the charts were resized manually. We have to adjust our CSS in
order to convince WebKit to render the line chart with the space
available to it. We use 'flex' for this.

* Testing

  I tested in both Safari and Chrome that Canvas/Three.js and SVG
rendering work (using forceSVG=false and forceSVG=true, respectively).

  I imported the changes internally and ran internal presubmits.

  I did not write any more tests because (1) utils.ts is currently not
covered by tests and (2) this is a Safari problem which only has best
effort support.
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