From a678f8b3bc856a179e54323c1c8a5ef74297a8b8 Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Tue, 6 Jun 2023 10:55:15 +0200 Subject: [PATCH] Fix remaining `localeCompare` without locale set --- .../ql-vscode/src/data-extensions-editor/auto-model.ts | 3 ++- .../ql-vscode/src/pure/variant-analysis-filter-sort.ts | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/extensions/ql-vscode/src/data-extensions-editor/auto-model.ts b/extensions/ql-vscode/src/data-extensions-editor/auto-model.ts index a8dda9bbd..a84ae3de1 100644 --- a/extensions/ql-vscode/src/data-extensions-editor/auto-model.ts +++ b/extensions/ql-vscode/src/data-extensions-editor/auto-model.ts @@ -195,7 +195,8 @@ export function compareInputOutput(a: string, b: string): number { // If either one is unknown, it is sorted last if (aIndex === -1 && bIndex === -1) { - return a.localeCompare(b); + // Use en-US because these are well-known strings that are not localized + return a.localeCompare(b, "en-US"); } if (aIndex === -1) { return 1; diff --git a/extensions/ql-vscode/src/pure/variant-analysis-filter-sort.ts b/extensions/ql-vscode/src/pure/variant-analysis-filter-sort.ts index 5bc9a2598..02e06ed0d 100644 --- a/extensions/ql-vscode/src/pure/variant-analysis-filter-sort.ts +++ b/extensions/ql-vscode/src/pure/variant-analysis-filter-sort.ts @@ -94,8 +94,9 @@ export function compareRepository( } } - // Fall back on name compare - return left.fullName.localeCompare(right.fullName, undefined, { + // Fall back on name compare. Use en-US because the repository name does not contain + // special characters due to restrictions in GitHub owner/repository names. + return left.fullName.localeCompare(right.fullName, "en-US", { sensitivity: "base", }); };