@@ -7,7 +7,7 @@ export default async function({login, data, imports, rest, q, account}, {enabled
77 return null
88
99 //Load inputs
10- let { skipped, sections, "repositories.limit" : _repositories_limit , "history.limit" : _history_limit } = imports . metadata . plugins . lines . inputs ( { data, account, q} )
10+ let { skipped, sections, "repositories.limit" : _repositories_limit , "history.limit" : _history_limit , delay } = imports . metadata . plugins . lines . inputs ( { data, account, q} )
1111 skipped . push ( ...data . shared [ "repositories.skipped" ] )
1212
1313 //Context
@@ -25,9 +25,16 @@ export default async function({login, data, imports, rest, q, account}, {enabled
2525 //Get contributors stats from repositories
2626 console . debug ( `metrics/compute/${ login } /plugins > lines > querying api` )
2727 const repos = { } , weeks = { }
28- const response = [ ...await Promise . allSettled ( repositories . map ( async ( { repo, owner} ) => imports . filters . repo ( `${ owner } /${ repo } ` , skipped ) ? { handle : `${ owner } /${ repo } ` , stats : ( await rest . repos . getContributorsStats ( { owner, repo} ) ) . data } : { } ) ) ] . filter ( ( { status} ) => status === "fulfilled" ) . map ( (
29- { value} ,
30- ) => value )
28+ let response = [ ]
29+ for ( let i = 0 ; i < ( delay ? 2 : 1 ) ; i ++ ) {
30+ response = [ ...await Promise . allSettled ( repositories . map ( async ( { repo, owner} ) => imports . filters . repo ( `${ owner } /${ repo } ` , skipped ) ? { handle : `${ owner } /${ repo } ` , stats : ( await rest . repos . getContributorsStats ( { owner, repo} ) ) . data } : { } ) ) ] . filter ( ( { status} ) => status === "fulfilled" ) . map ( (
31+ { value} ,
32+ ) => value )
33+ if ( delay ) {
34+ console . debug ( `metrics/compute/${ login } /plugins > lines > waiting ${ delay } s while waiting for contributor stats to be updated` )
35+ await new Promise ( resolve => setTimeout ( resolve , delay * 1000 ) )
36+ }
37+ }
3138
3239 //Compute changed lines
3340 console . debug ( `metrics/compute/${ login } /plugins > lines > computing total diff` )
0 commit comments