mirror of https://github.com/coder/code-server.git
fix(lib/vscode): patch authority in asWebviewUri
We do this because resources in webviews don't load properly when the port is used in the resource uri. We're not sure why this is happening but adding this fix to get webviews working like before.
This commit is contained in:
parent
56f0c4e193
commit
99503fb546
|
@ -55,9 +55,12 @@ export function asWebviewUri(
|
|||
});
|
||||
}
|
||||
|
||||
// NOTE@coder: Add the port separately because if the port is in the domain the
|
||||
// URL will be invalid and the browser will not request it.
|
||||
const authorityUrl = new URL(`${resource.scheme}://${resource.authority}`);
|
||||
return URI.from({
|
||||
scheme: Schemas.https,
|
||||
authority: `${resource.scheme}+${resource.authority}.${webviewRootResourceAuthority}`,
|
||||
authority: `${resource.scheme}+${authorityUrl.hostname}.${webviewRootResourceAuthority}${authorityUrl.port ? (':' + authorityUrl.port) : ''}`,
|
||||
path: resource.path,
|
||||
fragment: resource.fragment,
|
||||
query: resource.query,
|
||||
|
|
|
@ -256,7 +256,7 @@ async function processResourceRequest(event, requestUrl) {
|
|||
|
||||
const firstHostSegment = requestUrl.hostname.slice(0, requestUrl.hostname.length - (resourceBaseAuthority.length + 1));
|
||||
const scheme = firstHostSegment.split('+', 1)[0];
|
||||
const authority = firstHostSegment.slice(scheme.length + 1); // may be empty
|
||||
const authority = firstHostSegment.slice(scheme.length + 1) + requestUrl.port ? (':' + requestUrl.port) : ''; // may be empty
|
||||
|
||||
for (const parentClient of parentClients) {
|
||||
parentClient.postMessage({
|
||||
|
|
Loading…
Reference in New Issue