diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 293ffce6..05548908 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -202,7 +202,7 @@ jobs: # Create a gh-pages artifact in order to deploy to gh-pages. - name: Upload GitHub Pages artifact - uses: actions/upload-pages-artifact@v1.0.7 + uses: actions/upload-pages-artifact@v2 with: # Path of the directory containing the static assets for our gh pages deployment. path: ${{ env.DEPLOY_DIR }} # optional, default is _site/ @@ -234,4 +234,4 @@ jobs: # Deployment to github pages - name: Deploy GitHub Pages site id: deployment - uses: actions/deploy-pages@v2.0.0 + uses: actions/deploy-pages@v3 diff --git a/index.html b/index.html index b4ac1906..8978abcb 100644 --- a/index.html +++ b/index.html @@ -163,20 +163,23 @@ }, getSharedArrayBufferMissingMessage: function () { + const isCustom = window.location.hostname !== "webvm.io"; + const isSecureContext = window.isSecureContext; const text = [ "", "", color + "CheerpX could not start" + normal, "", - "CheerpX depends on JavaScript's SharedArrayBuffer, that your browser", - " does not support.", + "CheerpX uses SharedArrayBuffer, which is not available right now.", "", - "SharedArrayBuffer is currently enabled by default on recent", - " versions of Chrome, Edge, Firefox and Safari.", - "", - "", - "Give it a try from another browser!", - ] + !isSecureContext && " - This page is not in a secure context. Serve over HTTPS or WSS.", + !isSecureContext && " " + underline + "https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts" + noral, + isCustom && " - The document is not cross-origin isolated.", + isCustom && " " + underline + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#security_requirements" + normal, + " - Your browser might not support SharedArrayBuffer.", + " Since 2022, all major browsers support this feature.", + " " + underline + "https://caniuse.com/sharedarraybuffer" + normal, + ].filter(Boolean); return text; },