You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
WebView color scheme (black on black) can make text almost impossible to read #172
On my linux boxes, R-help in a WebView looks like the below (left). You can just see the black text on a black background ... but barely. The image below on the left is from VS Code "attached" to a docker container running Ubuntu 18.04. I can replicate when use VS Code SSH to remote server running Ubuntu 18.04. I have VS Code running on my mac and there the help looks fine.
A related issue can be seen in the image on the right which comes from code very similar to the below. Not sure why it looks so faded. This happens on macOS and Ubuntu 18.04 systems. browseURL doesn't seem to do anything on any of my systems.
I cannot reproduce the dimmed help page. Everything looks normal on my Ubuntu and macOS machines under dark themes. I guess it is related to the VSCode theme you use. Under light theme and official dark themes (Dark (Visual Studio), Dark+ (default)), the display looks normal. Since the WebView triggered by browser command does nothing more than simply show the page, we may need to find a way to override all default styling of WebView from VSCode themes.
I can reproduce your viewer issue, it is also caused by the dark theme. I edit the resulted file by adding color: black; to the CSS styles of body, then the problem is gone.
As for browseURL issue, you may notice an error message in the developer tools:
mainThreadExtensionService.ts:65 [[object Object]]Invalid URL: /tmp/Rtmp44U4Sw/file429b436a82d8
$onExtensionRuntimeError @ mainThreadExtensionService.ts:65
mainThreadExtensionService.ts:66 TypeError [ERR_INVALID_URL]: Invalid URL: /tmp/Rtmp44U4Sw/file429b436a82d8
at onParseError (internal/url.js:243)
at new URL (internal/url.js:319)
at /home/renkun/.vscode/extensions/ikuyadeu.r-1.2.0/dist/extension.js:1
at b (/home/renkun/.vscode/extensions/ikuyadeu.r-1.2.0/dist/extension.js:1)
browseURL does not work with the temp file because it is only supposed to work with a http URL with an HTTP server backend. Viewing a local file in WebView requires altering the resource paths to comply with WebView API and security policy.
Currently, both viewer and browser function are not supported to be called directly by user. Printing an htmlwidget will create a temp file with relatively fixed format so the above editing is done before showing it in WebView. The viewer would not work with any HTML file if it uses any external resources (images, JS, CSS, etc.) unless the same editing is done.
I'll take a look and see if we find a way to override WebView default styling specifid by VSCode theme.
Activity
renkun-ken commentedon Jan 8, 2020
The issue is caused by WebView default styling under dark theme in VSCode (https://code.visualstudio.com/api/extension-guides/webview#theming-webview-content).
I cannot reproduce the dimmed help page. Everything looks normal on my Ubuntu and macOS machines under dark themes. I guess it is related to the VSCode theme you use. Under light theme and official dark themes (Dark (Visual Studio), Dark+ (default)), the display looks normal. Since the WebView triggered by
browsercommand does nothing more than simply show the page, we may need to find a way to override all default styling of WebView from VSCode themes.I can reproduce your viewer issue, it is also caused by the dark theme. I edit the resulted file by adding
color: black;to the CSS styles ofbody, then the problem is gone.As for
browseURLissue, you may notice an error message in the developer tools:browseURLdoes not work with the temp file because it is only supposed to work with a http URL with an HTTP server backend. Viewing a local file in WebView requires altering the resource paths to comply with WebView API and security policy.Currently, both viewer and browser function are not supported to be called directly by user. Printing an htmlwidget will create a temp file with relatively fixed format so the above editing is done before showing it in WebView. The viewer would not work with any HTML file if it uses any external resources (images, JS, CSS, etc.) unless the same editing is done.
I'll take a look and see if we find a way to override WebView default styling specifid by VSCode theme.
vnijs commentedon Jan 8, 2020
Thanks for looking into this @renkun-ken. FYI I do actually use the default vscode theme (dark +).
Perhaps this is related to some issues that have been reported for the python interactive window (https://github.com/microsoft/vscode-python/issues/3773)?
renkun-ken commentedon Oct 25, 2021
This is mostly resolved by the native help viewer. Closing.