Skip to content

Commit

Permalink
Rejig SharedArrayBuffer help page section
Browse files Browse the repository at this point in the history
It now mentions the most common case first: using a weird embedded
browser that breaks the application. Server misconfigurations are now
shunted away to a small paragraph, since it just confuses users into
thinking the site is wrong. Unofficial installations of the client are
rare and server owners don't need this page to figure out what to do
since it's already explained in the installation instructions.
  • Loading branch information
askmeaboutlo0m committed Sep 20, 2024
1 parent 468fb35 commit 93486e8
Showing 1 changed file with 7 additions and 13 deletions.
20 changes: 7 additions & 13 deletions help/tech/browser.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,16 @@ This article is a work in progress. The browser version of Drawpile is currently

The "SharedArrayBuffer not available" error can have several causes. The page should tell you what it thinks the problem is. If the server is misconfigured, only the server owner can resolve the issue.

### Missing Browser Support

If your browser doesn't support SharedArrayBuffer, you're either using an outdated or entirely unsupported web browser. You can take a look at [the compatibility chart on mozilla.org](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#browser_compatibility){:target="_blank"} to see which browsers support it.
### Embedded Browsers

### Missing Cross-Origin Isolation
Some chat applications, such as Telegram on mobile devices, will open links in an embedded browser that break Drawpile's functionality. There should be a menu in the corner somewhere where you can open the page properly. Alternatively, you can copy the link you were given and paste it into your regular browser.

If it says that the server is missing "cross-origin isolation", it means that the server owner did not set up the page correctly. It must be served with the following headers:
### Missing Browser Support

```
Cross-Origin-Resource-Policy: same-site
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
```
If your browser doesn't support SharedArrayBuffer, you're either using an outdated or entirely unsupported web browser. You can take a look at [the compatibility chart on mozilla.org](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#browser_compatibility){:target="_blank"} to see which browsers support it.

### Missing Secure Context
### Server Misconfiguration

If the server is missing a "secure context", it's probably not using HTTPS. You can read more about this concept [on mozilla.org](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts){:target="_blank"}. Even though SharedArrayBuffer has nothing to do with security, browsers require a secure context to use it anyway.
If you are a server owner and are hosting your own custom version of the Drawpile client, seeing an error about SharedArrayBuffer means you configured your site wrong. Check the instructions again.

Server owners can use Let's Encrypt to set up HTTPS on their server. This requires a domain name, an IP address is not sufficient.
If you're not sure if you're hosting your own client: you're not. You're most likely using the official client on `web.drawpile.net` instead, which is configured correctly.

0 comments on commit 93486e8

Please sign in to comment.