@@ -189,7 +189,14 @@ import { TypedEventEmitter } from "./models/typed-event-emitter";
189
189
import { ReceiptType } from "./@types/read_receipts" ;
190
190
import { MSC3575SlidingSyncRequest , MSC3575SlidingSyncResponse , SlidingSync } from "./sliding-sync" ;
191
191
import { SlidingSyncSdk } from "./sliding-sync-sdk" ;
192
- import { FeatureSupport , Thread , THREAD_RELATION_TYPE , determineFeatureSupport } from "./models/thread" ;
192
+ import {
193
+ FeatureSupport ,
194
+ Thread ,
195
+ THREAD_RELATION_TYPE ,
196
+ determineFeatureSupport ,
197
+ ThreadFilterType ,
198
+ threadFilterTypeToFilter
199
+ } from "./models/thread" ;
193
200
import { MBeaconInfoEventContent , M_BEACON_INFO } from "./@types/beacon" ;
194
201
import { UnstableValue } from "./NamespacedValue" ;
195
202
import { ToDeviceMessageQueue } from "./ToDeviceMessageQueue" ;
@@ -5408,12 +5415,13 @@ export class MatrixClient extends TypedEventEmitter<EmittedEvents, ClientEventHa
5408
5415
}
5409
5416
5410
5417
let event ;
5411
- if ( timelineSet . isThreadTimeline ) {
5418
+ if ( timelineSet . threadListType ) {
5412
5419
const res = await this . createThreadListMessagesRequest (
5413
5420
timelineSet . room . roomId ,
5414
5421
null ,
5415
5422
1 ,
5416
5423
Direction . Backward ,
5424
+ timelineSet . threadListType ,
5417
5425
timelineSet . getFilter ( ) ,
5418
5426
) ;
5419
5427
event = res . chunk ?. [ 0 ] ;
@@ -5517,14 +5525,15 @@ export class MatrixClient extends TypedEventEmitter<EmittedEvents, ClientEventHa
5517
5525
fromToken : string | null ,
5518
5526
limit = 30 ,
5519
5527
dir = Direction . Backward ,
5528
+ threadListType : ThreadFilterType = ThreadFilterType . All ,
5520
5529
timelineFilter ?: Filter ,
5521
5530
) : Promise < IMessagesResponse > {
5522
5531
const path = utils . encodeUri ( "/rooms/$roomId/threads" , { $roomId : roomId } ) ;
5523
5532
5524
5533
const params : Record < string , string > = {
5525
5534
limit : limit . toString ( ) ,
5526
5535
dir : dir ,
5527
- include : 'all' ,
5536
+ include : threadFilterTypeToFilter ( threadListType ) ,
5528
5537
} ;
5529
5538
5530
5539
if ( fromToken ) {
@@ -5583,7 +5592,7 @@ export class MatrixClient extends TypedEventEmitter<EmittedEvents, ClientEventHa
5583
5592
public paginateEventTimeline ( eventTimeline : EventTimeline , opts : IPaginateOpts ) : Promise < boolean > {
5584
5593
const isNotifTimeline = ( eventTimeline . getTimelineSet ( ) === this . notifTimelineSet ) ;
5585
5594
const room = this . getRoom ( eventTimeline . getRoomId ( ) ) ;
5586
- const isThreadListTimeline = eventTimeline . getTimelineSet ( ) . isThreadTimeline ;
5595
+ const threadListType = eventTimeline . getTimelineSet ( ) . threadListType ;
5587
5596
const thread = eventTimeline . getTimelineSet ( ) . thread ;
5588
5597
5589
5598
// TODO: we should implement a backoff (as per scrollback()) to deal more
@@ -5655,7 +5664,7 @@ export class MatrixClient extends TypedEventEmitter<EmittedEvents, ClientEventHa
5655
5664
eventTimeline . paginationRequests [ dir ] = null ;
5656
5665
} ) ;
5657
5666
eventTimeline . paginationRequests [ dir ] = promise ;
5658
- } else if ( isThreadListTimeline ) {
5667
+ } else if ( threadListType ) {
5659
5668
if ( ! room ) {
5660
5669
throw new Error ( "Unknown room " + eventTimeline . getRoomId ( ) ) ;
5661
5670
}
@@ -5669,6 +5678,7 @@ export class MatrixClient extends TypedEventEmitter<EmittedEvents, ClientEventHa
5669
5678
token ,
5670
5679
opts . limit ,
5671
5680
dir ,
5681
+ threadListType ,
5672
5682
eventTimeline . getFilter ( ) ,
5673
5683
) . then ( ( res ) => {
5674
5684
if ( res . state ) {
0 commit comments