@@ -189,13 +189,15 @@ async function processIssue(issue: GH["issue"]) {
189
189
tlog ( "Found " + labelEvents . length + " unlabeled/labeled/commented events" ) ;
190
190
await saveTask ( { timeline : labelEvents as any } ) ;
191
191
192
- const lastLabeled = ( labelName : string ) =>
193
- labelEvents
194
- . filter ( ( e ) => e . event === "labeled" )
192
+ function lastLabeled ( labelName : string ) {
193
+ return labelEvents
194
+ . filter ( ( e ) => e ? .event === "labeled" )
195
195
. map ( ( e ) => e as GH [ "labeled-issue-event" ] )
196
196
. filter ( ( e ) => e . label ?. name === labelName )
197
197
. sort ( compareBy ( ( e ) => e . created_at ) )
198
198
. reverse ( ) [ 0 ] ;
199
+ }
200
+
199
201
const latestLabeledEvent = lastLabeled ( BUGCOP_ASKING_FOR_INFO ) || lastLabeled ( BUGCOP_ANSWERED ) ;
200
202
if ( ! latestLabeledEvent ) {
201
203
lastLabeled ( BUGCOP_RESPONSE_RECEIVED ) ||
@@ -211,9 +213,7 @@ async function processIssue(issue: GH["issue"]) {
211
213
const hasNewComment = await ( async function ( ) {
212
214
const labelLastAddedTime = new Date ( latestLabeledEvent ?. created_at ) ;
213
215
const newComments = await pageFlow ( 1 , async ( page ) => {
214
- const { data : comments } = await hotMemo ( gh . issues . listComments , [
215
- { ...issueId , page, per_page : 100 } ,
216
- ] ) ;
216
+ const { data : comments } = await hotMemo ( gh . issues . listComments , [ { ...issueId , page, per_page : 100 } ] ) ;
217
217
return { data : comments , next : comments . length >= 100 ? page + 1 : undefined } ;
218
218
} )
219
219
. flat ( )
@@ -261,15 +261,6 @@ async function processIssue(issue: GH["issue"]) {
261
261
lastChecked : new Date ( ) ,
262
262
labels : union ( task . labels || [ ] , addLabels ) . filter ( ( e ) => ! removeLabels . includes ( e ) ) ,
263
263
} ) ;
264
-
265
- function lastLabeled ( labelName : string ) {
266
- return labelEvents
267
- . filter ( ( e ) => e . event === "labeled" )
268
- . map ( ( e ) => e as GH [ "labeled-issue-event" ] )
269
- . filter ( ( e ) => e . label ?. name === labelName )
270
- . sort ( compareBy ( ( e ) => e . created_at ) )
271
- . reverse ( ) [ 0 ] ;
272
- }
273
264
}
274
265
275
266
async function fetchAllIssueTimeline ( issueId : { owner : string ; repo : string ; issue_number : number } ) {
0 commit comments