Skip to content

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