@@ -749,6 +749,10 @@ export const analyzeRepo = inngest.createFunction(
749749 } ) ;
750750
751751 if ( prs . length === 0 ) {
752+ await supabase
753+ . from ( "repos" )
754+ . update ( { last_pr_sync_at : new Date ( ) . toISOString ( ) } )
755+ . eq ( "id" , repoId ) ;
752756 return {
753757 total : 0 ,
754758 merged : 0 ,
@@ -818,9 +822,15 @@ export const analyzeRepo = inngest.createFunction(
818822 if ( pr . merged && pr . merge_commit_sha ) {
819823 const commit = mergeCommitDetails . get ( pr . merge_commit_sha ) ;
820824 const parentCount = commit ?. parents ?. length ?? 0 ;
821- if ( parentCount >= 2 ) mergeMethod = "merge" ;
822- else if ( pr . merge_commit_sha === pr . head . sha ) mergeMethod = "rebase" ;
823- else mergeMethod = "squash" ;
825+ if ( ! commit ) {
826+ mergeMethod = "unknown" ;
827+ } else if ( parentCount >= 2 ) {
828+ mergeMethod = "merge" ;
829+ } else if ( pr . merge_commit_sha === pr . head . sha ) {
830+ mergeMethod = "rebase" ;
831+ } else {
832+ mergeMethod = "squash" ;
833+ }
824834 }
825835
826836 if ( mergeMethod === "merge" ) mergeMethodCounts . merge += 1 ;
@@ -834,7 +844,6 @@ export const analyzeRepo = inngest.createFunction(
834844 repo_id : repoId ,
835845 github_pr_number : pr . number ,
836846 title : pr . title ,
837- body : pr . body ,
838847 state : pr . state ,
839848 merged : pr . merged ,
840849 merged_at : pr . merged_at ,
@@ -864,20 +873,20 @@ export const analyzeRepo = inngest.createFunction(
864873 . upsert ( rows , { onConflict : "repo_id,github_pr_number" } ) ;
865874 if ( prUpsertError ) {
866875 console . warn ( "Failed to upsert pull requests:" , prUpsertError . message ) ;
876+ } else {
877+ await supabase
878+ . from ( "repos" )
879+ . update ( { last_pr_sync_at : new Date ( ) . toISOString ( ) } )
880+ . eq ( "id" , repoId ) ;
867881 }
868882
869- await supabase
870- . from ( "repos" )
871- . update ( { last_pr_sync_at : new Date ( ) . toISOString ( ) } )
872- . eq ( "id" , repoId ) ;
873-
874- const mergedCount = detailed . filter ( ( pr ) => pr . merged ) . length ;
875- const checklistCount = detailed . filter ( ( pr ) => hasChecklist ( pr . body ) ) . length ;
876- const templateCount = detailed . filter ( ( pr ) => hasTemplateMarkers ( pr . body ) ) . length ;
877- const linkedIssueCount = detailed . filter ( ( pr ) => extractLinkedIssueNumbers ( pr . body ) . length > 0 )
883+ const mergedCount = prs . filter ( ( pr ) => Boolean ( pr . merged_at ) ) . length ;
884+ const checklistCount = prs . filter ( ( pr ) => hasChecklist ( pr . body ) ) . length ;
885+ const templateCount = prs . filter ( ( pr ) => hasTemplateMarkers ( pr . body ) ) . length ;
886+ const linkedIssueCount = prs . filter ( ( pr ) => extractLinkedIssueNumbers ( pr . body ) . length > 0 )
878887 . length ;
879888
880- const denom = detailed . length ;
889+ const denom = prs . length ;
881890
882891 return {
883892 total : denom ,
0 commit comments