File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -284,7 +284,18 @@ export async function getMilestoneFromQuickPick(folderRepositoryManager: FolderR
284284 } ;
285285 let selectedItem : vscode . QuickPickItem | undefined ;
286286 async function getMilestoneOptions ( ) : Promise < ( MilestoneQuickPickItem | vscode . QuickPickItem ) [ ] > {
287- const milestones = await githubRepository . getMilestones ( ) ;
287+ const milestones = ( await githubRepository . getMilestones ( ) ) ?. sort ( ( a , b ) => {
288+ // Milestones with a date should be first, and sorted by due date
289+ if ( a . dueOn && b . dueOn ) {
290+ return new Date ( a . dueOn ) . getTime ( ) - new Date ( b . dueOn ) . getTime ( ) ;
291+ } else if ( a . dueOn ) {
292+ return - 1 ;
293+ } else if ( b . dueOn ) {
294+ return 1 ;
295+ } else {
296+ return a . title . localeCompare ( b . title ) ;
297+ }
298+ } ) ;
288299 if ( ! milestones || ! milestones . length ) {
289300 return [
290301 {
You can’t perform that action at this time.
0 commit comments