Skip to content

Commit e971d9d

Browse files
committed
Fallback when limit reached
1 parent 7e2d0c7 commit e971d9d

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/classes/issues-processor.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,8 @@ export class IssuesProcessor {
672672

673673
const events: IIssueEvent[] = [];
674674
let pagesFetched = 0;
675+
let reachedSinceDate = false;
676+
let hitEventsCap = false;
675677

676678
for await (const page of this.client.paginate.iterator(options)) {
677679
pagesFetched += 1;
@@ -680,6 +682,7 @@ export class IssuesProcessor {
680682

681683
const pageEvents = page.data as IIssueEvent[];
682684
if (pageEvents.length === 0) {
685+
reachedSinceDate = true;
683686
break;
684687
}
685688

@@ -690,20 +693,28 @@ export class IssuesProcessor {
690693
.filter(timestamp => !Number.isNaN(timestamp));
691694

692695
if (pageTimestamps.length === 0) {
696+
reachedSinceDate = true;
693697
break;
694698
}
695699

696700
const oldestTimestampInPage = Math.min(...pageTimestamps);
697701

698702
if (oldestTimestampInPage < sinceTimestamp) {
703+
reachedSinceDate = true;
699704
break;
700705
}
701706

702707
if (pagesFetched >= 3) {
708+
hitEventsCap = true;
703709
break;
704710
}
705711
}
706712

713+
if (hitEventsCap && !reachedSinceDate) {
714+
// May be more events to process, but we hit our cap, so fall back to issue.updated_at
715+
return false;
716+
}
717+
707718
const relevantEvents = events.filter(event => {
708719
const eventTimestamp = new Date(event.created_at).getTime();
709720
return !Number.isNaN(eventTimestamp) && eventTimestamp >= sinceTimestamp;

0 commit comments

Comments
 (0)