@@ -541,18 +541,22 @@ pub(super) async fn handle_command(
541541 }
542542 let db_client = ctx. db . get ( ) . await ;
543543 if is_self_assign ( & name, & event. user ( ) . login ) {
544- match has_user_capacity ( & db_client, & name) . await {
545- Ok ( work_queue) => work_queue. username ,
546- Err ( _) => {
547- issue
548- . post_comment (
549- & ctx. github ,
550- & REVIEWER_HAS_NO_CAPACITY . replace ( "{username}" , & name) ,
551- )
552- . await ?;
553- return Ok ( ( ) ) ;
554- }
555- } ;
544+ let work_queue = has_user_capacity ( & db_client, & name) . await ;
545+ if work_queue. is_err ( ) {
546+ // NOTE: disabled for now, just log
547+ log:: info!(
548+ "DB reported that user {} has no review capacity. Ignoring." ,
549+ name
550+ ) ;
551+ // issue
552+ // .post_comment(
553+ // &ctx.github,
554+ // &REVIEWER_HAS_NO_CAPACITY.replace("{username}", &name),
555+ // )
556+ // .await?;
557+ // return Ok(());
558+ }
559+
556560 name. to_string ( )
557561 } else {
558562 let teams = crate :: team_data:: teams ( & ctx. github ) . await ?;
@@ -781,7 +785,7 @@ async fn find_reviewer_from_names(
781785 // These are all ideas for improving the selection here. However, I'm not
782786 // sure they are really worth the effort.
783787
784- log:: info!( "Initial list of candidates: {:?}" , candidates) ;
788+ log:: info!( "Initial unfiltered list of candidates: {:?}" , candidates) ;
785789
786790 // Special case user "ghost", we always skip filtering
787791 if candidates. contains ( "ghost" ) {
@@ -794,15 +798,18 @@ async fn find_reviewer_from_names(
794798 . expect ( "Error while filtering out team members" ) ;
795799
796800 if filtered_candidates. is_empty ( ) {
797- return Err ( FindReviewerError :: AllReviewersFiltered {
798- initial : names. to_vec ( ) ,
799- filtered : names. to_vec ( ) ,
800- } ) ;
801+ // NOTE: disabled for now, just log
802+ log:: info!( "Filtered list of PR assignee is empty" ) ;
803+ // return Err(FindReviewerError::AllReviewersFiltered {
804+ // initial: names.to_vec(),
805+ // filtered: names.to_vec(),
806+ // });
801807 }
802808
803809 log:: info!( "Filtered list of candidates: {:?}" , filtered_candidates) ;
804810
805- Ok ( filtered_candidates
811+ // Return unfiltered list of candidates
812+ Ok ( candidates
806813 . into_iter ( )
807814 . choose ( & mut rand:: thread_rng ( ) )
808815 . expect ( "candidate_reviewers_from_names should return at least one entry" )
@@ -831,6 +838,7 @@ AND CARDINALITY(r.assigned_prs) < LEAST(COALESCE(r.max_assigned_prs,1000000))",
831838 ) ;
832839 let result = db. query ( & q, & [ ] ) . await . context ( "Select DB error" ) ?;
833840 let candidates: HashSet < String > = result. iter ( ) . map ( |row| row. get ( "username" ) ) . collect ( ) ;
841+ log:: info!( "DB returned these candidates: {:?}" , candidates) ;
834842 Ok ( candidates)
835843}
836844
0 commit comments