@@ -355,6 +355,7 @@ export async function terminalWithDocker(): Promise<vscode.Terminal> {
355355 * Also alter query to specify `ns=%SYS&csp=1`
356356 * Also handles the alternative syntax isfs://server:namespace/
357357 * in which there is no ns queryparam
358+ * For both syntaxes the namespace folder name is uppercased
358359 *
359360 * @returns uri, altered if necessary.
360361 * @throws if `ns` queryparam is missing but required.
@@ -363,22 +364,22 @@ export function redirectDotvscodeRoot(uri: vscode.Uri): vscode.Uri {
363364 if ( ! schemas . includes ( uri . scheme ) ) {
364365 return uri ;
365366 }
366- const dotMatch = uri . path . match ( / ^ \/ ( \. [ ^ / ] * ) \/ ( .* ) $ / ) ;
367+ const dotMatch = uri . path . match ( / ^ \/ ( \. [ ^ / ] * ) ( \/ .* ) ? $ / ) ;
367368 if ( dotMatch && dotMatch [ 1 ] === ".vscode" ) {
368369 let namespace : string ;
369370 const nsMatch = `&${ uri . query } &` . match ( / & n s = ( [ ^ & ] + ) & / ) ;
370371 if ( nsMatch ) {
371- namespace = nsMatch [ 1 ] ;
372- const newQueryString = ( ( "&" + uri . query ) . replace ( `ns=${ namespace } ` , "ns=%SYS" ) + "&csp=1 " ) . slice ( 1 ) ;
373- return uri . with ( { path : `/_vscode/${ namespace } / ${ dotMatch [ 2 ] } ` , query : newQueryString } ) ;
372+ namespace = nsMatch [ 1 ] . toUpperCase ( ) ;
373+ const newQueryString = ( ( "&" + uri . query ) . replace ( `ns=${ namespace } ` , "ns=%SYS" ) + "&csp" ) . slice ( 1 ) ;
374+ return uri . with ( { path : `/_vscode/${ namespace } ${ dotMatch [ 2 ] || "" } ` , query : newQueryString } ) ;
374375 } else {
375376 const parts = uri . authority . split ( ":" ) ;
376377 if ( parts . length === 2 ) {
377- namespace = parts [ 1 ] ;
378+ namespace = parts [ 1 ] . toUpperCase ( ) ;
378379 return uri . with ( {
379380 authority : `${ parts [ 0 ] } :%SYS` ,
380- path : `/_vscode/${ namespace } / ${ dotMatch [ 2 ] } ` ,
381- query : uri . query + "&csp=1 " ,
381+ path : `/_vscode/${ namespace } ${ dotMatch [ 2 ] || "" } ` ,
382+ query : uri . query + "&csp" ,
382383 } ) ;
383384 }
384385 }
0 commit comments