Skip to content

Commit a257c86

Browse files
authored
Issue suggestion not respecting the order of queries (#7842)
Fixes #7442
1 parent cefe969 commit a257c86

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/issues/issueCompletionProvider.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
162162
// leave repo undefined
163163
}
164164
const issueData = this.stateManager.getIssueCollection(folderManager?.repository.rootUri ?? uri);
165+
let sortNumber = 0;
165166

166167
// Process queries in order to maintain query priority
167168
for (const issueQuery of issueData) {
@@ -177,7 +178,11 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
177178
// Only add the issue if we haven't seen it before (first query wins)
178179
if (!seenIssues.has(issueKey)) {
179180
seenIssues.add(issueKey);
180-
completionItems.push(await this.completionItemFromIssue(repo, issue as IssueModel, range, document));
181+
const completionItem = await this.completionItemFromIssue(repo, issue as IssueModel, range, document);
182+
// Ensure that the sort order respects the query order
183+
completionItem.sortText = sortNumber.toString().padStart(8, '0');
184+
sortNumber++;
185+
completionItems.push(completionItem);
181186
}
182187
}
183188
}
@@ -213,8 +218,6 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
213218
item.documentation = issue.body;
214219
item.range = range;
215220
item.detail = milestone ? milestone.title : issue.milestone?.title;
216-
const sortTime = Number.MAX_SAFE_INTEGER - new Date(issue.updatedAt).getTime();
217-
item.sortText = sortTime.toString().padStart(15, '0');
218221
item.filterText = `${item.detail} # ${issue.number} ${issue.title} ${item.documentation}`;
219222
return item;
220223
}

0 commit comments

Comments
 (0)