Open frjnn opened 3 years ago
rustc version: 1.5.2
1.52? Try 1.52.1. Press F12 in browser and check any errors (is safari have any dev tools like chrome?)
My bad! rustc's version is 1.52.1, I also corrected the issue.
@estebank @klensy enabling the develop menu seems to have solved the issue. Now the documentation loads properly.
What I did:
I don't know if this can be closed or not though.
I don't think that docs should require enabling devtools in browser, perhaps you rebooted browsed or OS? I don't have safari, so can't check that issue.
No, I didn't reboot anything, I didn't even restart Safari, I just enabled the Develop Menu.
Second, this issue op, been having it for a while now. Wondering if there is a fix or a way to change what browser cargo-doc uses?
@AlvinKuruvilla I think rustdoc opens the system default browser. Also, is this issue specific to Safari? Do you have any other browser installed that you can temporarily set as default to test this?
Yes I changed my default browser to brave and now the docs appear correctly, suggesting it is a Safari only issue
Confirming this is still an issue in the latest version of rust (1.55.0). Enabling the develop menu fixes it.
Confirming this is still an issue in the latest version of rust (1.55.0). Enabling the develop menu fixes it.
Exact same here.
Same here - it works in firefox, but not in Safari, unless I enable the dev tools; rust version (for doc) is rustc 1.60.0-nightly (75d9a0ae2 2022-02-16)
This is caused by Safari disallowing by default to load external files from disk such as ../rustdoc.css
. When Develop Menu is enabled, this restriction is lifted. Manually inlining the CSS into e.g. index.html
is another way to make the styling work.
Thanks for the details, @Enselic! Given that, I don't think we can work around it in rustdoc. We rely heavily on external files, and inlining everything would be a performance problem for viewing the docs on the web. It would also be a size problem for locally-generated docs.
Perhaps we could have cargo doc --open
and rustup doc
detect if the system browser is Safari, and if so try Firefox instead?
We could also include inline script at the top of each page that checks for file:///
URL and Safari browser, and injects a banner explaining why the page isn't rendering right and what to do about it.
I have developer menus enabled but am experiencing the same issue. There is also someone on StackOverflow who has put it up as a question: link. Attached is a screenshot. I'm using Safari 15.6 under macOS Monterey 12.5 on a MacBook Pro with an M1 chip. My cargo version was 1.16.0 (a02ae42f 2022-04-19). I updated to 1.63.0 (fd9c4297c 2022-07-01) and the same problem persists.
@ptdecker try this:
python -mhttp.server --directory target/doc/ 5555 &
open http://localhost:5555/guessing_game/
This starts a web server locally that serves the generated documentation, then opens it in your default browser (presumably Safari). If that works, it might be another way we can work around the issue for Safari users.
This is not just a Safari issue, it also doesn't work on Chrome in my Mac M1.
(...) from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https, isolated-app.
These are the kinds of errors I get.
Basically it seems that the protocol file://
is not allowed to load resources like fonts, css, etc.
The workaround to open a server with Python works.
just ran into this, works on chrome but doesn't work on safari indeed!
:(
On macOS Sonoma (14.1.1), Safari 17.1, you need to go to Settings and then the Advanced tab and enable
A new Developer tab becomes available, where you check
See image below 👇
I believe @jsha's solution of starting a lightweight server might be the best way to address this issue going forward, but we'd need to test that we don't add other problems (because of OS-specific security features that would cause the server not to start or give scary warnings).
Setting up new computer on macOS 14.3. Turning on developer mode by itself did not fix my issue. But turning on developer mode then quitting Safari did fix it. I did not have to disable local file restrictions.
Setup
Command issued:
cargo doc --open
Safari version: 14.1 MacOS: BigSur 11.3.1rustup version: 1.24.2 rustc version: 1.52.1
I expected to see the crate's documentation being displayed and formatted properly.
Instead, this happened:
This is not by any means a problem of ndarray, I'm experiencing this with all the crates I've tried so far.