microsoft / microsoft/vscode-test-web
Support extension `UriHandler`s
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 87
- Forks
- 31
- Avg merge
- 23h 49m
- Merged PRs (30d)
- 5
Description
In a vscode extension you can register a URI handler:
https://code.visualstudio.com/api/references/vscode-api#UriHandler
This UriHandler will get invoked when an external webpage redirects into VS Code with the extension identifier specified.
This works in vscode.dev (thanks to @joaomoreno) where the server sets up a well-known route (vscode.dev/callback) that handles requests that will turn around and invoke registered UriHandlers. Note, this works in tandem with vscode.env.openExternal which will give you the exact Uri to redirect into.
vscode-test-web should have a similar capability and I feel like a lot of the logic can be shared.
Additionally, the Microsoft and GitHub auth extensions use UriHandler for logging in so this means that extensions that use our in-box auth extensions can not be tested in vscode-test-web either.
Workaround
Sideloading the extension on vscode.dev works around this and still allows the author to test their extension on web.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the referenced VS Code UriHandler API, vscode.env.openExternal, and the vscode.dev/callback behavior. Define how vscode-test-web should route external redirects to registered handlers, then verify that web extensions using the Microsoft or GitHub authentication extensions can be tested without sideloading.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js
- Domain
- testing, web-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100