@@ -14,15 +14,12 @@ See the License for the specific language governing permissions and
14
14
limitations under the License.
15
15
*/
16
16
17
- import type { MatrixClient } from "../client.ts" ;
18
17
import { logger as rootLogger , type Logger } from "../logger.ts" ;
19
18
import { KeyTransportEvents , type KeyTransportEventsHandlerMap , type IKeyTransport } from "./IKeyTransport.ts" ;
20
19
import { type CallMembership } from "./CallMembership.ts" ;
21
- import { RoomKeyTransport } from "./RoomKeyTransport.ts" ;
22
- import type { Statistics } from "./types.ts" ;
23
- import { ToDeviceKeyTransport } from "./ToDeviceKeyTransport.ts" ;
20
+ import type { RoomKeyTransport } from "./RoomKeyTransport.ts" ;
21
+ import type { ToDeviceKeyTransport } from "./ToDeviceKeyTransport.ts" ;
24
22
import { TypedEventEmitter } from "../models/typed-event-emitter.ts" ;
25
- import { type Room } from "../models/room.ts" ;
26
23
27
24
export interface EnabledTransports {
28
25
toDevice : boolean ;
@@ -52,39 +49,18 @@ export class RoomAndToDeviceTransport
52
49
implements IKeyTransport
53
50
{
54
51
private readonly logger : Logger ;
55
- private roomKeyTransport : RoomKeyTransport ;
56
- private toDeviceTransport : IKeyTransport ;
57
52
private _enabled : EnabledTransports = { toDevice : true , room : false } ;
58
53
public constructor (
59
- userId : string ,
60
- deviceId : string ,
61
- room : Pick < Room , "on" | "off" | "roomId" > ,
62
- client : Pick <
63
- MatrixClient ,
64
- | "sendEvent"
65
- | "getDeviceId"
66
- | "getUserId"
67
- | "cancelPendingEvent"
68
- | "decryptEventIfNeeded"
69
- | "encryptAndSendToDevice"
70
- | "on"
71
- | "off"
72
- > ,
73
- statistics : Statistics ,
54
+ private toDeviceTransport : ToDeviceKeyTransport ,
55
+ private roomKeyTransport : RoomKeyTransport ,
74
56
parentLogger ?: Logger ,
75
57
) {
76
58
super ( ) ;
77
59
this . logger = ( parentLogger ?? rootLogger ) . getChild ( `[RoomAndToDeviceTransport]` ) ;
60
+ // update parent loggers for the sub transports so filtering for `RoomAndToDeviceTransport` contains their logs too
61
+ this . toDeviceTransport . setParentLogger ( this . logger ) ;
62
+ this . roomKeyTransport . setParentLogger ( this . logger ) ;
78
63
79
- this . roomKeyTransport = new RoomKeyTransport ( room , client , statistics , this . logger ) ;
80
- this . toDeviceTransport = new ToDeviceKeyTransport (
81
- userId ,
82
- deviceId ,
83
- room . roomId ,
84
- client ,
85
- statistics ,
86
- this . logger ,
87
- ) ;
88
64
this . roomKeyTransport . on ( KeyTransportEvents . ReceivedKeys , ( ...props ) => {
89
65
// Turn on the room transport if we receive a roomKey from another participant
90
66
// and disable the toDevice transport.
0 commit comments