microsoft / microsoft/vscode-test-web

Support extension `UriHandler`s

Open
#19 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.