Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test cross origin isolation for desktop #161804

Closed
14 of 15 tasks
jrieken opened this issue Sep 26, 2022 · 7 comments
Closed
14 of 15 tasks

Test cross origin isolation for desktop #161804

jrieken opened this issue Sep 26, 2022 · 7 comments

Comments

@jrieken
Copy link
Member

jrieken commented Sep 26, 2022

Refs: #116715

Complexity: 4

Create Issue


This is a continuation of #158792 but for desktop.

Background: On desktop we now have the ability to enable cross origin isolation - that's the enabler for shared array buffers which unlocks many interesting scenarios (like "vscode-wasi"). Enabling cross origin isolation (COI) requires us to set two http header COOP and COEP. The latter means only resources that are OK with being embedded will load. This doesn't affect resources from VS Code itself but can affect resources that extensions load. They need to be served with the CORP header.

Testing: Check-off one of the extensions below and play around with their webview (or notebook renderering) features, like GitLens settings editor etc. Observe dev tools for errors

  • quit all windows of vscode
  • restart with the --enable-coi flag, e.g code-insiders --enable-coi
  • open Developer Tool, select the "Network" tab, and check "Blocked Request"
  • Keep an eye open for blocked requests
  • ℹ️ we cannot fix these errors but we need to reach out to the server/CDN that serve these resources. Just append the blocked domains/urls to this issue, only file an issue against the extension if you are certain that they can fix it (inside knowledge)

The sample below is GitHub issue notebook. Notice how avatars aren't loading and how each request shows as blocked.

Screenshot 2022-09-26 at 18 37 42


tested in #158792

new items

@sandy081
Copy link
Member

sandy081 commented Sep 27, 2022

Quokka.js

Here are the blocked requests I observed when opening the Quokka.js: Manage License Key page.

@sandy081 sandy081 removed their assignment Sep 27, 2022
@Tyriar
Copy link
Member

Tyriar commented Sep 27, 2022

Is this meant to work on Windows? When I run code-insiders --enable-coi I don't see the headers and therefore cannot access window.SharedArrayBuffer:

image

I do on my mac though:

Screen Shot 2022-09-27 at 10 00 57 am

Version: 1.72.0-insider (user setup)
Commit: 36b1398
Date: 2022-09-27T05:18:12.318Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: 10.2.154.15-electron.0
OS: Windows_NT x64 10.0.22000
Sandboxed: Yes

@Tyriar
Copy link
Member

Tyriar commented Sep 27, 2022

Luna Paint requests seems to work fine. With minimal changes I can re-enable SABs but I haven't done some of the required work to handle Workers, so I can't turn that stuff back on yet unfortunately.

So it's just the Windows problem above.

@Tyriar Tyriar removed their assignment Sep 27, 2022
@andreamah
Copy link
Contributor

Tabnine seems to be good on Windows (tested the hub page and its AI Assistant viewlet)

@andreamah andreamah removed their assignment Sep 27, 2022
@jrieken
Copy link
Member Author

jrieken commented Sep 28, 2022

Is this meant to work on Windows?

Yes. Filed: #162141. The request misses the &vscode-coi=3 parameter which means the renderer itself isn't cross origin isolated which likely means the flag is getting lost somewhere along the way

@karrtikr
Copy link
Contributor

No blocked requests reported from Bicep on Windows (tested getting started exp and visualizer)

@karrtikr karrtikr removed their assignment Sep 29, 2022
@paulacamargo25 paulacamargo25 removed their assignment Sep 29, 2022
@paulacamargo25
Copy link
Contributor

Latex Workshop seems to be good, no blocked requests reported (Tested on macOS)

@github-actions github-actions bot locked and limited conversation to collaborators Nov 13, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants