@juzi/wechaty-puppet-service 1.0.122 → 1.0.124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/client/grpc-manager.d.ts +1 -0
- package/dist/cjs/src/client/grpc-manager.d.ts.map +1 -1
- package/dist/cjs/src/client/grpc-manager.js +49 -47
- package/dist/cjs/src/client/grpc-manager.js.map +1 -1
- package/dist/cjs/src/client/payload-store.d.ts +3 -0
- package/dist/cjs/src/client/payload-store.d.ts.map +1 -1
- package/dist/cjs/src/client/payload-store.js +8 -6
- package/dist/cjs/src/client/payload-store.js.map +1 -1
- package/dist/cjs/src/client/puppet-service.d.ts +14 -0
- package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
- package/dist/cjs/src/client/puppet-service.js +284 -219
- package/dist/cjs/src/client/puppet-service.js.map +1 -1
- package/dist/cjs/src/package-json.d.ts.map +1 -1
- package/dist/cjs/src/package-json.js +4 -3
- package/dist/cjs/src/package-json.js.map +1 -1
- package/dist/cjs/tests/fast-dirty-room-member.spec.js +123 -21
- package/dist/cjs/tests/fast-dirty-room-member.spec.js.map +1 -1
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.js +135 -0
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.js.map +1 -0
- package/dist/esm/src/client/grpc-manager.d.ts +1 -0
- package/dist/esm/src/client/grpc-manager.d.ts.map +1 -1
- package/dist/esm/src/client/grpc-manager.js +50 -48
- package/dist/esm/src/client/grpc-manager.js.map +1 -1
- package/dist/esm/src/client/payload-store.d.ts +3 -0
- package/dist/esm/src/client/payload-store.d.ts.map +1 -1
- package/dist/esm/src/client/payload-store.js +8 -6
- package/dist/esm/src/client/payload-store.js.map +1 -1
- package/dist/esm/src/client/puppet-service.d.ts +14 -0
- package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
- package/dist/esm/src/client/puppet-service.js +284 -219
- package/dist/esm/src/client/puppet-service.js.map +1 -1
- package/dist/esm/src/package-json.d.ts.map +1 -1
- package/dist/esm/src/package-json.js +4 -3
- package/dist/esm/src/package-json.js.map +1 -1
- package/dist/esm/tests/fast-dirty-room-member.spec.js +123 -21
- package/dist/esm/tests/fast-dirty-room-member.spec.js.map +1 -1
- package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
- package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
- package/dist/esm/tests/grpc-stream-dirty-order.spec.js +110 -0
- package/dist/esm/tests/grpc-stream-dirty-order.spec.js.map +1 -0
- package/package.json +4 -3
- package/src/client/grpc-manager.ts +54 -48
- package/src/client/payload-store.ts +13 -7
- package/src/client/puppet-service.ts +283 -220
- package/src/package-json.ts +4 -3
|
@@ -110,6 +110,21 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
110
110
|
|
|
111
111
|
protected _payloadStore: PayloadStore
|
|
112
112
|
|
|
113
|
+
/**
|
|
114
|
+
* Per-roomId serialization chain for RoomMember compound dirty events.
|
|
115
|
+
*
|
|
116
|
+
* The compound RoomMember handler is a `get → mutate → set` sequence
|
|
117
|
+
* across an async FlashStore. Two dirty events for the same roomId
|
|
118
|
+
* (e.g. member-A and member-B, arriving back-to-back) would otherwise
|
|
119
|
+
* both read the same snapshot and each write back with only their own
|
|
120
|
+
* key removed -- losing one of the deletes.
|
|
121
|
+
*
|
|
122
|
+
* Keyed by roomId, each entry chains the pending handler run so a
|
|
123
|
+
* follow-up dirty for the same room waits for the in-flight one to
|
|
124
|
+
* finish. Entries self-clean after their tail resolves.
|
|
125
|
+
*/
|
|
126
|
+
private _roomMemberDirtyChain: Map<string, Promise<void>> = new Map()
|
|
127
|
+
|
|
113
128
|
private timeoutMilliseconds: number
|
|
114
129
|
|
|
115
130
|
protected _grpcManager?: GrpcManager
|
|
@@ -133,7 +148,8 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
133
148
|
) {
|
|
134
149
|
super(options)
|
|
135
150
|
this._payloadStore = new PayloadStore({
|
|
136
|
-
token: envVars.WECHATY_PUPPET_SERVICE_TOKEN(this.options.token),
|
|
151
|
+
token : envVars.WECHATY_PUPPET_SERVICE_TOKEN(this.options.token),
|
|
152
|
+
logger : this.options.logger,
|
|
137
153
|
})
|
|
138
154
|
|
|
139
155
|
this.hookPayloadStore()
|
|
@@ -177,19 +193,19 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
177
193
|
}
|
|
178
194
|
|
|
179
195
|
override async onStart (): Promise<void> {
|
|
180
|
-
log.verbose('PuppetService', 'onStart()')
|
|
196
|
+
this.log.verbose('PuppetService', 'onStart()')
|
|
181
197
|
|
|
182
198
|
this.waitingForLogin = false
|
|
183
199
|
this.waitingForReady = false
|
|
184
200
|
|
|
185
201
|
if (this._grpcManager) {
|
|
186
|
-
log.warn('PuppetService', 'onStart() found this.grpc is already existed. dropped.')
|
|
202
|
+
this.log.warn('PuppetService', 'onStart() found this.grpc is already existed. dropped.')
|
|
187
203
|
this._grpcManager = undefined
|
|
188
204
|
}
|
|
189
205
|
|
|
190
|
-
log.info('PuppetService', 'start() instanciating GrpcManager ...')
|
|
206
|
+
this.log.info('PuppetService', 'start() instanciating GrpcManager ...')
|
|
191
207
|
const grpcManager = new GrpcManager(this.options)
|
|
192
|
-
log.info('PuppetService', 'start() instanciating GrpcManager ... done')
|
|
208
|
+
this.log.info('PuppetService', 'start() instanciating GrpcManager ... done')
|
|
193
209
|
|
|
194
210
|
/**
|
|
195
211
|
* Huan(202108): when we started the event stream,
|
|
@@ -197,71 +213,71 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
197
213
|
*/
|
|
198
214
|
this._grpcManager = grpcManager
|
|
199
215
|
|
|
200
|
-
log.info('PuppetService', 'start() setting up bridge grpc event stream ...')
|
|
216
|
+
this.log.info('PuppetService', 'start() setting up bridge grpc event stream ...')
|
|
201
217
|
this.bridgeGrpcEventStream(grpcManager)
|
|
202
|
-
log.info('PuppetService', 'start() setting up bridge grpc event stream ... done')
|
|
218
|
+
this.log.info('PuppetService', 'start() setting up bridge grpc event stream ... done')
|
|
203
219
|
|
|
204
|
-
log.info('PuppetService', 'start() starting grpc manager...')
|
|
220
|
+
this.log.info('PuppetService', 'start() starting grpc manager...')
|
|
205
221
|
const { lastEventSeq, accountId } = await this.getMiscellaneousStoreData()
|
|
206
222
|
await grpcManager.start(lastEventSeq, accountId)
|
|
207
|
-
log.info('PuppetService', 'start() starting grpc manager... done')
|
|
223
|
+
this.log.info('PuppetService', 'start() starting grpc manager... done')
|
|
208
224
|
|
|
209
|
-
log.info('PuppetService', 'start healthCheck')
|
|
225
|
+
this.log.info('PuppetService', 'start healthCheck')
|
|
210
226
|
this.startHealthCheck()
|
|
211
227
|
|
|
212
|
-
log.info('PuppetService', 'onStart() ... done')
|
|
228
|
+
this.log.info('PuppetService', 'onStart() ... done')
|
|
213
229
|
}
|
|
214
230
|
|
|
215
231
|
override async onStop (): Promise<void> {
|
|
216
|
-
log.info('PuppetService', 'onStop()')
|
|
232
|
+
this.log.info('PuppetService', 'onStop()')
|
|
217
233
|
|
|
218
234
|
if (this._grpcManager) {
|
|
219
|
-
log.info('PuppetService', 'onStop() stopping grpc manager ...')
|
|
235
|
+
this.log.info('PuppetService', 'onStop() stopping grpc manager ...')
|
|
220
236
|
const grpcManager = this._grpcManager
|
|
221
237
|
this._grpcManager = undefined
|
|
222
238
|
await grpcManager.stop()
|
|
223
|
-
log.info('PuppetService', 'onStop() stopping grpc manager ... done')
|
|
239
|
+
this.log.info('PuppetService', 'onStop() stopping grpc manager ... done')
|
|
224
240
|
}
|
|
225
241
|
|
|
226
|
-
log.info('PuppetService', 'onStop() ... done')
|
|
227
|
-
log.info('PuppetService', 'stop healthCheck')
|
|
242
|
+
this.log.info('PuppetService', 'onStop() ... done')
|
|
243
|
+
this.log.info('PuppetService', 'stop healthCheck')
|
|
228
244
|
this.stopHealthCheck()
|
|
229
245
|
}
|
|
230
246
|
|
|
231
247
|
protected hookPayloadStore (): void {
|
|
232
|
-
log.verbose('PuppetService', 'hookPayloadStore()')
|
|
248
|
+
this.log.verbose('PuppetService', 'hookPayloadStore()')
|
|
233
249
|
|
|
234
250
|
this.on('login', async ({ contactId }) => {
|
|
235
251
|
try {
|
|
236
|
-
log.verbose('PuppetService', 'hookPayloadStore() this.on(login) contactId: "%s"', contactId)
|
|
252
|
+
this.log.verbose('PuppetService', 'hookPayloadStore() this.on(login) contactId: "%s"', contactId)
|
|
237
253
|
await this._payloadStore.start(contactId)
|
|
238
254
|
} catch (e) {
|
|
239
|
-
log.verbose('PuppetService', 'hookPayloadStore() this.on(login) rejection "%s"', (e as Error).message)
|
|
255
|
+
this.log.verbose('PuppetService', 'hookPayloadStore() this.on(login) rejection "%s"', (e as Error).message)
|
|
240
256
|
}
|
|
241
257
|
})
|
|
242
258
|
|
|
243
259
|
this.on('logout', async ({ contactId }) => {
|
|
244
|
-
log.verbose('PuppetService', 'hookPayloadStore() this.on(logout) contactId: "%s"', contactId)
|
|
260
|
+
this.log.verbose('PuppetService', 'hookPayloadStore() this.on(logout) contactId: "%s"', contactId)
|
|
245
261
|
try {
|
|
246
262
|
await this._payloadStore.stop()
|
|
247
263
|
} catch (e) {
|
|
248
|
-
log.verbose('PuppetService', 'hookPayloadStore() this.on(logout) rejection "%s"', (e as Error).message)
|
|
264
|
+
this.log.verbose('PuppetService', 'hookPayloadStore() this.on(logout) rejection "%s"', (e as Error).message)
|
|
249
265
|
}
|
|
250
266
|
})
|
|
251
267
|
}
|
|
252
268
|
|
|
253
269
|
protected bridgeGrpcEventStream (client: GrpcManager): void {
|
|
254
|
-
log.verbose('PuppetService', 'bridgeGrpcEventStream(client)')
|
|
270
|
+
this.log.verbose('PuppetService', 'bridgeGrpcEventStream(client)')
|
|
255
271
|
|
|
256
272
|
client
|
|
257
273
|
.on('data', this.onGrpcStreamEvent.bind(this) as any)
|
|
258
274
|
.on('end', () => {
|
|
259
|
-
log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(end)')
|
|
275
|
+
this.log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(end)')
|
|
260
276
|
})
|
|
261
277
|
.on('error', (e: unknown) => {
|
|
262
278
|
this.emit('error', e)
|
|
263
279
|
// https://github.com/wechaty/wechaty-puppet-service/issues/16
|
|
264
|
-
// log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(error) %s', e)
|
|
280
|
+
// this.log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(error) %s', e)
|
|
265
281
|
// const reason = 'bridgeGrpcEventStream() eventStream.on(error) ' + e
|
|
266
282
|
/**
|
|
267
283
|
* Huan(202110): simple reset puppet when grpc client has error? (or not?)
|
|
@@ -276,7 +292,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
276
292
|
// }
|
|
277
293
|
})
|
|
278
294
|
.on('cancel', (...args: any[]) => {
|
|
279
|
-
log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(cancel), %s', JSON.stringify(args))
|
|
295
|
+
this.log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(cancel), %s', JSON.stringify(args))
|
|
280
296
|
})
|
|
281
297
|
}
|
|
282
298
|
|
|
@@ -288,10 +304,10 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
288
304
|
const timestamp = String(Date.now())
|
|
289
305
|
|
|
290
306
|
if (!NO_LOG_EVENTS.includes(type)) {
|
|
291
|
-
log.info('PuppetService', `received grpc event ${EventTypeRev[type]} on ${new Date().toString()}, content: ${JSON.stringify(payload)}, seq: ${seq}, timestamp: ${timestamp}`)
|
|
307
|
+
this.log.info('PuppetService', `received grpc event ${EventTypeRev[type]} on ${new Date().toString()}, content: ${JSON.stringify(payload)}, seq: ${seq}, timestamp: ${timestamp}`)
|
|
292
308
|
}
|
|
293
309
|
|
|
294
|
-
log.silly('PuppetService',
|
|
310
|
+
this.log.silly('PuppetService',
|
|
295
311
|
'onGrpcStreamEvent({type:%s(%s), payload:"%s"})',
|
|
296
312
|
EventTypeRev[type],
|
|
297
313
|
type,
|
|
@@ -330,7 +346,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
330
346
|
case grpcPuppet.EventType.EVENT_TYPE_LOGIN:
|
|
331
347
|
{
|
|
332
348
|
if (this.waitingForLogin && this.isLoggedIn) {
|
|
333
|
-
log.warn('PuppetService', 'this login event is ignored because the it is expected by event stream reconnect and this puppet is already logged in')
|
|
349
|
+
this.log.warn('PuppetService', 'this login event is ignored because the it is expected by event stream reconnect and this puppet is already logged in')
|
|
334
350
|
return
|
|
335
351
|
}
|
|
336
352
|
const loginPayload = JSON.parse(payload) as PUPPET.payloads.EventLogin
|
|
@@ -346,7 +362,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
346
362
|
(
|
|
347
363
|
async () => this.login(loginPayload.contactId)
|
|
348
364
|
)().catch(e =>
|
|
349
|
-
log.error('PuppetService', 'onGrpcStreamEvent() this.login() rejection %s',
|
|
365
|
+
this.log.error('PuppetService', 'onGrpcStreamEvent() this.login() rejection %s',
|
|
350
366
|
(e as Error).message,
|
|
351
367
|
),
|
|
352
368
|
)
|
|
@@ -361,7 +377,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
361
377
|
;(
|
|
362
378
|
async () => this.logout(logoutPayload.data)
|
|
363
379
|
)().catch(e =>
|
|
364
|
-
log.error('PuppetService', 'onGrpcStreamEvent() this.logout() rejection %s',
|
|
380
|
+
this.log.error('PuppetService', 'onGrpcStreamEvent() this.logout() rejection %s',
|
|
365
381
|
(e as Error).message,
|
|
366
382
|
),
|
|
367
383
|
)
|
|
@@ -387,7 +403,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
387
403
|
break
|
|
388
404
|
case grpcPuppet.EventType.EVENT_TYPE_READY:
|
|
389
405
|
if (this.waitingForReady && this.readyIndicator.value()) {
|
|
390
|
-
log.warn('PuppetService', 'this ready event is ignored because the it is expected by event stream reconnect and this puppet is already ready')
|
|
406
|
+
this.log.warn('PuppetService', 'this ready event is ignored because the it is expected by event stream reconnect and this puppet is already ready')
|
|
391
407
|
return
|
|
392
408
|
}
|
|
393
409
|
this.emit('ready', JSON.parse(payload) as PUPPET.payloads.EventReady)
|
|
@@ -417,14 +433,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
417
433
|
this.emit('tag-group', JSON.parse(payload) as PUPPET.payloads.EventTagGroup)
|
|
418
434
|
break
|
|
419
435
|
case grpcPuppet.EventType.EVENT_TYPE_RESET:
|
|
420
|
-
log.warn('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_RESET ?')
|
|
436
|
+
this.log.warn('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_RESET ?')
|
|
421
437
|
// the `reset` event should be dealed not send out
|
|
422
438
|
break
|
|
423
439
|
case grpcPuppet.EventType.EVENT_TYPE_VERIFY_CODE:
|
|
424
440
|
this.emit('verify-code', JSON.parse(payload) as PUPPET.payloads.EventVerifyCode)
|
|
425
441
|
break
|
|
426
442
|
case grpcPuppet.EventType.EVENT_TYPE_UNSPECIFIED:
|
|
427
|
-
log.error('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_UNSPECIFIED ?')
|
|
443
|
+
this.log.error('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_UNSPECIFIED ?')
|
|
428
444
|
break
|
|
429
445
|
case grpcPuppet.EventType.EVENT_TYPE_VERIFY_SLIDE:
|
|
430
446
|
this.emit('verify-slide', JSON.parse(payload) as PUPPET.payloads.EventVerifySlide)
|
|
@@ -435,12 +451,12 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
435
451
|
|
|
436
452
|
default:
|
|
437
453
|
// Huan(202003): in default, the `type` type should be `never`, please check.
|
|
438
|
-
log.error(`eventType ${type} unsupported! data: ${payload}`)
|
|
454
|
+
this.log.error(`eventType ${type} unsupported! data: ${payload}`)
|
|
439
455
|
}
|
|
440
456
|
}
|
|
441
457
|
|
|
442
458
|
override async logout (reason?: string): Promise<void> {
|
|
443
|
-
log.verbose('PuppetService', 'logout(%s)', reason ? `"${reason}"` : '')
|
|
459
|
+
this.log.verbose('PuppetService', 'logout(%s)', reason ? `"${reason}"` : '')
|
|
444
460
|
|
|
445
461
|
await super.logout(reason)
|
|
446
462
|
|
|
@@ -451,12 +467,12 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
451
467
|
)(new grpcPuppet.LogoutRequest())
|
|
452
468
|
|
|
453
469
|
} catch (e) {
|
|
454
|
-
log.silly('PuppetService', 'logout() no grpc client')
|
|
470
|
+
this.log.silly('PuppetService', 'logout() no grpc client')
|
|
455
471
|
}
|
|
456
472
|
}
|
|
457
473
|
|
|
458
474
|
override ding (data: string): void {
|
|
459
|
-
log.silly('PuppetService', 'ding(%s)', data)
|
|
475
|
+
this.log.silly('PuppetService', 'ding(%s)', data)
|
|
460
476
|
|
|
461
477
|
const request = new grpcPuppet.DingRequest()
|
|
462
478
|
request.setData(data || '')
|
|
@@ -465,7 +481,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
465
481
|
request,
|
|
466
482
|
(error, _response) => {
|
|
467
483
|
if (error) {
|
|
468
|
-
log.error('PuppetService', 'ding() rejection: %s', error)
|
|
484
|
+
this.log.error('PuppetService', 'ding() rejection: %s', error)
|
|
469
485
|
}
|
|
470
486
|
},
|
|
471
487
|
)
|
|
@@ -480,7 +496,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
480
496
|
*
|
|
481
497
|
*/
|
|
482
498
|
override async dirtyPayload (type: PUPPET.types.Dirty, id: string) {
|
|
483
|
-
log.verbose('PuppetService', 'dirtyPayload(%s, %s)', type, id)
|
|
499
|
+
this.log.verbose('PuppetService', 'dirtyPayload(%s, %s)', type, id)
|
|
484
500
|
|
|
485
501
|
const request = new grpcPuppet.DirtyPayloadRequest()
|
|
486
502
|
request.setId(id)
|
|
@@ -492,7 +508,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
492
508
|
)(request)
|
|
493
509
|
|
|
494
510
|
} catch (e) {
|
|
495
|
-
log.error('PuppetService', 'dirtyPayload() rejection: %s', e && (e as Error).message)
|
|
511
|
+
this.log.error('PuppetService', 'dirtyPayload() rejection: %s', e && (e as Error).message)
|
|
496
512
|
throw e
|
|
497
513
|
}
|
|
498
514
|
}
|
|
@@ -517,9 +533,52 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
517
533
|
[PUPPET.types.Dirty.Post]: async (_: string) => {},
|
|
518
534
|
[PUPPET.types.Dirty.Room]: async (id: string) => this._payloadStore.room?.delete(id),
|
|
519
535
|
[PUPPET.types.Dirty.RoomMember]: async (id: string) => {
|
|
520
|
-
const [ roomId ] = id.split(PUPPET.STRING_SPLITTER)
|
|
521
|
-
if (roomId) {
|
|
522
|
-
|
|
536
|
+
const [ roomId, memberId ] = id.split(PUPPET.STRING_SPLITTER)
|
|
537
|
+
if (!roomId) {
|
|
538
|
+
return
|
|
539
|
+
}
|
|
540
|
+
const store = this._payloadStore.roomMember
|
|
541
|
+
if (!store) {
|
|
542
|
+
return
|
|
543
|
+
}
|
|
544
|
+
// Bare roomId: the whole member set is stale, drop the row.
|
|
545
|
+
// Row-level delete is idempotent so it does not need serialization.
|
|
546
|
+
if (memberId === undefined) {
|
|
547
|
+
await store.delete(roomId)
|
|
548
|
+
return
|
|
549
|
+
}
|
|
550
|
+
// Compound id: `get → mutate → set` is a read-modify-write across
|
|
551
|
+
// an async store. Serialize per roomId so two concurrent compound
|
|
552
|
+
// dirties don't each read the same snapshot and each drop only
|
|
553
|
+
// their own key -- which would lose one of the two deletes.
|
|
554
|
+
const previous = this._roomMemberDirtyChain.get(roomId) ?? Promise.resolve()
|
|
555
|
+
const next = (async () => {
|
|
556
|
+
// Swallow the previous link's rejection so a failure upstream
|
|
557
|
+
// does not silently skip our own mutation. The prior handler
|
|
558
|
+
// already reported its error via fastDirty()'s try/catch.
|
|
559
|
+
try {
|
|
560
|
+
await previous
|
|
561
|
+
} catch (_) { /* ignore, upstream already reported */ }
|
|
562
|
+
const current = await store.get(roomId)
|
|
563
|
+
if (!current || !Object.prototype.hasOwnProperty.call(current, memberId)) {
|
|
564
|
+
return
|
|
565
|
+
}
|
|
566
|
+
const { [memberId]: _drop, ...rest } = current
|
|
567
|
+
if (Object.keys(rest).length === 0) {
|
|
568
|
+
await store.delete(roomId)
|
|
569
|
+
} else {
|
|
570
|
+
await store.set(roomId, rest)
|
|
571
|
+
}
|
|
572
|
+
})()
|
|
573
|
+
this._roomMemberDirtyChain.set(roomId, next)
|
|
574
|
+
try {
|
|
575
|
+
await next
|
|
576
|
+
} finally {
|
|
577
|
+
// Only clear the slot if we are still the tail; otherwise a
|
|
578
|
+
// later handler has already extended the chain and owns cleanup.
|
|
579
|
+
if (this._roomMemberDirtyChain.get(roomId) === next) {
|
|
580
|
+
this._roomMemberDirtyChain.delete(roomId)
|
|
581
|
+
}
|
|
523
582
|
}
|
|
524
583
|
},
|
|
525
584
|
[PUPPET.types.Dirty.Tag]: async (id: string) => this._payloadStore.tag?.delete(id),
|
|
@@ -529,7 +588,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
529
588
|
[PUPPET.types.Dirty.Call]: async (_: string) => {},
|
|
530
589
|
[PUPPET.types.Dirty.Unspecified]: async (id: string) => {
|
|
531
590
|
const msg = `fastDirty() received Unspecified dirty type (id=${id}); upstream puppet is leaking protobuf default — this is a server-side contract bug`
|
|
532
|
-
log.error('PuppetService', msg)
|
|
591
|
+
this.log.error('PuppetService', msg)
|
|
533
592
|
this.emit('error', new Error(msg))
|
|
534
593
|
},
|
|
535
594
|
}
|
|
@@ -545,7 +604,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
545
604
|
payloadId,
|
|
546
605
|
}: PUPPET.payloads.EventDirty,
|
|
547
606
|
): Promise<void> {
|
|
548
|
-
log.verbose('PuppetService', 'fastDirty(%s<%s>, %s)', PUPPET.types.Dirty[payloadType], payloadType, payloadId)
|
|
607
|
+
this.log.verbose('PuppetService', 'fastDirty(%s<%s>, %s)', PUPPET.types.Dirty[payloadType], payloadType, payloadId)
|
|
549
608
|
|
|
550
609
|
// payloadType is typed as the enum, but at runtime the server may emit a
|
|
551
610
|
// value outside our enum (forward-compat). Look it up via a
|
|
@@ -553,7 +612,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
553
612
|
const lookup = this._dirtyHandlerMap as Partial<Record<PUPPET.types.Dirty, (id: string) => Promise<unknown>>>
|
|
554
613
|
const handler = lookup[payloadType]
|
|
555
614
|
if (!handler) {
|
|
556
|
-
log.warn('PuppetService', 'fastDirty() no handler for payloadType=%s', payloadType)
|
|
615
|
+
this.log.warn('PuppetService', 'fastDirty() no handler for payloadType=%s', payloadType)
|
|
557
616
|
return
|
|
558
617
|
}
|
|
559
618
|
|
|
@@ -565,7 +624,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
565
624
|
}
|
|
566
625
|
|
|
567
626
|
override async enterVerifyCode (id: string, code: string): Promise<void> {
|
|
568
|
-
log.verbose('PuppetService', 'enterVerifyCode(%s, %s)', id, code)
|
|
627
|
+
this.log.verbose('PuppetService', 'enterVerifyCode(%s, %s)', id, code)
|
|
569
628
|
|
|
570
629
|
const request = new grpcPuppet.EnterVerifyCodeRequest()
|
|
571
630
|
request.setId(id)
|
|
@@ -578,7 +637,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
578
637
|
}
|
|
579
638
|
|
|
580
639
|
override async cancelVerifyCode (id: string): Promise<void> {
|
|
581
|
-
log.verbose('PuppetService', 'cancelVerifyCode(%s)', id)
|
|
640
|
+
this.log.verbose('PuppetService', 'cancelVerifyCode(%s)', id)
|
|
582
641
|
|
|
583
642
|
const request = new grpcPuppet.CancelVerifyCodeRequest()
|
|
584
643
|
request.setId(id)
|
|
@@ -590,7 +649,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
590
649
|
}
|
|
591
650
|
|
|
592
651
|
override async refreshQRCode (): Promise<void> {
|
|
593
|
-
log.verbose('PuppetService', 'refreshQRCode(%s)')
|
|
652
|
+
this.log.verbose('PuppetService', 'refreshQRCode(%s)')
|
|
594
653
|
|
|
595
654
|
const request = new grpcPuppet.RefreshQRCodeRequest()
|
|
596
655
|
|
|
@@ -609,7 +668,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
609
668
|
override contactAlias (contactId: string, alias: string | null): Promise<void>
|
|
610
669
|
|
|
611
670
|
override async contactAlias (contactId: string, alias?: string | null): Promise<void | string> {
|
|
612
|
-
log.verbose('PuppetService', 'contactAlias(%s, %s)', contactId, alias)
|
|
671
|
+
this.log.verbose('PuppetService', 'contactAlias(%s, %s)', contactId, alias)
|
|
613
672
|
|
|
614
673
|
/**
|
|
615
674
|
* Get alias
|
|
@@ -661,7 +720,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
661
720
|
}
|
|
662
721
|
|
|
663
722
|
override async contactPhone (contactId: string, phoneList: string[]): Promise<void> {
|
|
664
|
-
log.verbose('PuppetService', 'contactPhone(%s, %s)', contactId, phoneList)
|
|
723
|
+
this.log.verbose('PuppetService', 'contactPhone(%s, %s)', contactId, phoneList)
|
|
665
724
|
|
|
666
725
|
const request = new grpcPuppet.ContactPhoneRequest()
|
|
667
726
|
request.setContactId(contactId)
|
|
@@ -674,7 +733,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
674
733
|
}
|
|
675
734
|
|
|
676
735
|
override async contactCorporationRemark (contactId: string, corporationRemark: string | null) {
|
|
677
|
-
log.verbose('PuppetService', 'contactCorporationRemark(%s, %s)', contactId, corporationRemark)
|
|
736
|
+
this.log.verbose('PuppetService', 'contactCorporationRemark(%s, %s)', contactId, corporationRemark)
|
|
678
737
|
|
|
679
738
|
const request = new grpcPuppet.ContactCorporationRemarkRequest()
|
|
680
739
|
request.setContactId(contactId)
|
|
@@ -698,7 +757,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
698
757
|
}
|
|
699
758
|
|
|
700
759
|
override async contactDescription (contactId: string, description: string | null) {
|
|
701
|
-
log.verbose('PuppetService', 'contactDescription(%s, %s)', contactId, description)
|
|
760
|
+
this.log.verbose('PuppetService', 'contactDescription(%s, %s)', contactId, description)
|
|
702
761
|
|
|
703
762
|
const request = new grpcPuppet.ContactDescriptionRequest()
|
|
704
763
|
request.setContactId(contactId)
|
|
@@ -722,7 +781,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
722
781
|
}
|
|
723
782
|
|
|
724
783
|
override async contactList (): Promise<string[]> {
|
|
725
|
-
log.verbose('PuppetService', 'contactList()')
|
|
784
|
+
this.log.verbose('PuppetService', 'contactList()')
|
|
726
785
|
|
|
727
786
|
const response = await util.promisify(
|
|
728
787
|
this.grpcManager.client.contactList
|
|
@@ -736,7 +795,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
736
795
|
override async contactAvatar (contactId: string, file: FileBoxInterface) : Promise<void>
|
|
737
796
|
|
|
738
797
|
override async contactAvatar (contactId: string, fileBox?: FileBoxInterface): Promise<void | FileBoxInterface> {
|
|
739
|
-
log.verbose('PuppetService', 'contactAvatar(%s)', contactId)
|
|
798
|
+
this.log.verbose('PuppetService', 'contactAvatar(%s)', contactId)
|
|
740
799
|
|
|
741
800
|
/**
|
|
742
801
|
* 1. set
|
|
@@ -788,11 +847,11 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
788
847
|
}
|
|
789
848
|
|
|
790
849
|
override async contactRawPayload (id: string): Promise<PUPPET.payloads.Contact> {
|
|
791
|
-
log.verbose('PuppetService', 'contactRawPayload(%s)', id)
|
|
850
|
+
this.log.verbose('PuppetService', 'contactRawPayload(%s)', id)
|
|
792
851
|
|
|
793
852
|
const cachedPayload = await this._payloadStore.contact?.get(id)
|
|
794
853
|
if (cachedPayload) {
|
|
795
|
-
log.silly('PuppetService', 'contactRawPayload(%s) cache HIT', id)
|
|
854
|
+
this.log.silly('PuppetService', 'contactRawPayload(%s) cache HIT', id)
|
|
796
855
|
return cachedPayload
|
|
797
856
|
}
|
|
798
857
|
|
|
@@ -839,19 +898,19 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
839
898
|
}
|
|
840
899
|
|
|
841
900
|
await this._payloadStore.contact?.set(id, payload)
|
|
842
|
-
log.silly('PuppetService', 'contactRawPayload(%s) cache SET', id)
|
|
901
|
+
this.log.silly('PuppetService', 'contactRawPayload(%s) cache SET', id)
|
|
843
902
|
|
|
844
903
|
return payload
|
|
845
904
|
}
|
|
846
905
|
|
|
847
906
|
override async contactRawPayloadParser (payload: PUPPET.payloads.Contact): Promise<PUPPET.payloads.Contact> {
|
|
848
|
-
// log.silly('PuppetService', 'contactRawPayloadParser({id:%s})', payload.id)
|
|
907
|
+
// this.log.silly('PuppetService', 'contactRawPayloadParser({id:%s})', payload.id)
|
|
849
908
|
// passthrough
|
|
850
909
|
return payload
|
|
851
910
|
}
|
|
852
911
|
|
|
853
912
|
override async batchContactRawPayload (contactIdList: string[]): Promise<Map<string, PUPPET.payloads.Contact>> {
|
|
854
|
-
log.verbose('PuppetService', 'batchContactRawPayload(%s)', contactIdList)
|
|
913
|
+
this.log.verbose('PuppetService', 'batchContactRawPayload(%s)', contactIdList)
|
|
855
914
|
|
|
856
915
|
const result = new Map<string, PUPPET.payloads.Contact>()
|
|
857
916
|
const contactIdSet = new Set<string>(contactIdList)
|
|
@@ -883,7 +942,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
883
942
|
await this._payloadStore.contact?.set(contactId, puppetPayload)
|
|
884
943
|
}
|
|
885
944
|
} catch (e) {
|
|
886
|
-
log.error('PuppetService', 'batchContactRawPayload(%s, %s) error: %s, use one by one method', contactIdList, needGetSet, e)
|
|
945
|
+
this.log.error('PuppetService', 'batchContactRawPayload(%s, %s) error: %s, use one by one method', contactIdList, needGetSet, e)
|
|
887
946
|
for (const contactId of needGetSet) {
|
|
888
947
|
const payload = await this.contactRawPayload(contactId)
|
|
889
948
|
result.set(contactId, payload)
|
|
@@ -894,7 +953,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
894
953
|
}
|
|
895
954
|
|
|
896
955
|
override async contactPayloadModify (contactId: string, payload: Partial<PUPPET.payloads.Contact>): Promise<void> {
|
|
897
|
-
log.verbose('PuppetService', 'contactPayloadModify(%s, %s)', contactId, JSON.stringify(payload))
|
|
956
|
+
this.log.verbose('PuppetService', 'contactPayloadModify(%s, %s)', contactId, JSON.stringify(payload))
|
|
898
957
|
|
|
899
958
|
const request = new grpcPuppet.ContactPayloadModifyRequest()
|
|
900
959
|
request.setId(contactId)
|
|
@@ -938,7 +997,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
938
997
|
}
|
|
939
998
|
|
|
940
999
|
override async contactSelfName (name: string): Promise<void> {
|
|
941
|
-
log.verbose('PuppetService', 'contactSelfName(%s)', name)
|
|
1000
|
+
this.log.verbose('PuppetService', 'contactSelfName(%s)', name)
|
|
942
1001
|
|
|
943
1002
|
const request = new grpcPuppet.ContactSelfNameRequest()
|
|
944
1003
|
request.setName(name)
|
|
@@ -950,7 +1009,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
950
1009
|
}
|
|
951
1010
|
|
|
952
1011
|
override async contactSelfRealName (realName: string): Promise<void> {
|
|
953
|
-
log.verbose('PuppetService', 'contactSelfRealName(%s)', realName)
|
|
1012
|
+
this.log.verbose('PuppetService', 'contactSelfRealName(%s)', realName)
|
|
954
1013
|
|
|
955
1014
|
const request = new grpcPuppet.ContactSelfRealNameRequest()
|
|
956
1015
|
request.setRealName(realName)
|
|
@@ -962,7 +1021,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
962
1021
|
}
|
|
963
1022
|
|
|
964
1023
|
override async contactSelfAka (aka: string): Promise<void> {
|
|
965
|
-
log.verbose('PuppetService', 'contactSelfAka(%s)', aka)
|
|
1024
|
+
this.log.verbose('PuppetService', 'contactSelfAka(%s)', aka)
|
|
966
1025
|
|
|
967
1026
|
const request = new grpcPuppet.ContactSelfAkaRequest()
|
|
968
1027
|
request.setAka(aka)
|
|
@@ -974,7 +1033,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
974
1033
|
}
|
|
975
1034
|
|
|
976
1035
|
override async contactSelfQRCode (): Promise<string> {
|
|
977
|
-
log.verbose('PuppetService', 'contactSelfQRCode()')
|
|
1036
|
+
this.log.verbose('PuppetService', 'contactSelfQRCode()')
|
|
978
1037
|
|
|
979
1038
|
const response = await util.promisify(
|
|
980
1039
|
this.grpcManager.client.contactSelfQRCode
|
|
@@ -985,7 +1044,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
985
1044
|
}
|
|
986
1045
|
|
|
987
1046
|
override async contactSelfSignature (signature: string): Promise<void> {
|
|
988
|
-
log.verbose('PuppetService', 'contactSelfSignature(%s)', signature)
|
|
1047
|
+
this.log.verbose('PuppetService', 'contactSelfSignature(%s)', signature)
|
|
989
1048
|
|
|
990
1049
|
const request = new grpcPuppet.ContactSelfSignatureRequest()
|
|
991
1050
|
request.setSignature(signature)
|
|
@@ -997,7 +1056,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
997
1056
|
}
|
|
998
1057
|
|
|
999
1058
|
override async contactSelfRoomAlias (roomId: string, alias: string): Promise<void> {
|
|
1000
|
-
log.verbose('PuppetService', 'contactSelfRoomAlias(%s, %s)', roomId, alias)
|
|
1059
|
+
this.log.verbose('PuppetService', 'contactSelfRoomAlias(%s, %s)', roomId, alias)
|
|
1001
1060
|
|
|
1002
1061
|
const request = new grpcPuppet.ContactSelfRoomAliasRequest()
|
|
1003
1062
|
request.setRoomId(roomId)
|
|
@@ -1010,7 +1069,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1010
1069
|
}
|
|
1011
1070
|
|
|
1012
1071
|
override async contactDelete (contactId: string): Promise<void> {
|
|
1013
|
-
log.verbose('PuppetService', 'contactDelete(%s)', contactId)
|
|
1072
|
+
this.log.verbose('PuppetService', 'contactDelete(%s)', contactId)
|
|
1014
1073
|
const request = new grpcPuppet.ContactDeleteRequest()
|
|
1015
1074
|
request.setContactId(contactId)
|
|
1016
1075
|
|
|
@@ -1029,7 +1088,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1029
1088
|
conversationId: string,
|
|
1030
1089
|
hasRead = true,
|
|
1031
1090
|
) : Promise<void> {
|
|
1032
|
-
log.verbose('PuppetService', 'conversationMarkRead(%s, %s)', conversationId, hasRead)
|
|
1091
|
+
this.log.verbose('PuppetService', 'conversationMarkRead(%s, %s)', conversationId, hasRead)
|
|
1033
1092
|
|
|
1034
1093
|
const request = new grpcPuppet.ConversationReadRequest()
|
|
1035
1094
|
request.setConversationId(conversationId)
|
|
@@ -1049,7 +1108,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1049
1108
|
override async messageMiniProgram (
|
|
1050
1109
|
messageId: string,
|
|
1051
1110
|
): Promise<PUPPET.payloads.MiniProgram> {
|
|
1052
|
-
log.verbose('PuppetService', 'messageMiniProgram(%s)', messageId)
|
|
1111
|
+
this.log.verbose('PuppetService', 'messageMiniProgram(%s)', messageId)
|
|
1053
1112
|
|
|
1054
1113
|
const request = new grpcPuppet.MessageMiniProgramRequest()
|
|
1055
1114
|
request.setId(messageId)
|
|
@@ -1078,7 +1137,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1078
1137
|
override async messageLocation (
|
|
1079
1138
|
messageId: string,
|
|
1080
1139
|
): Promise<PUPPET.payloads.Location> {
|
|
1081
|
-
log.verbose('PuppetService', 'messageLocation(%s)', messageId)
|
|
1140
|
+
this.log.verbose('PuppetService', 'messageLocation(%s)', messageId)
|
|
1082
1141
|
|
|
1083
1142
|
const request = new grpcPuppet.MessageLocationRequest()
|
|
1084
1143
|
request.setId(messageId)
|
|
@@ -1104,7 +1163,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1104
1163
|
messageId: string,
|
|
1105
1164
|
imageType: PUPPET.types.Image,
|
|
1106
1165
|
): Promise<FileBoxInterface> {
|
|
1107
|
-
log.verbose('PuppetService', 'messageImage(%s, %s[%s])',
|
|
1166
|
+
this.log.verbose('PuppetService', 'messageImage(%s, %s[%s])',
|
|
1108
1167
|
messageId,
|
|
1109
1168
|
imageType,
|
|
1110
1169
|
PUPPET.types.Image[imageType],
|
|
@@ -1130,7 +1189,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1130
1189
|
override async messageContact (
|
|
1131
1190
|
messageId: string,
|
|
1132
1191
|
): Promise<string> {
|
|
1133
|
-
log.verbose('PuppetService', 'messageContact(%s)', messageId)
|
|
1192
|
+
this.log.verbose('PuppetService', 'messageContact(%s)', messageId)
|
|
1134
1193
|
|
|
1135
1194
|
const request = new grpcPuppet.MessageContactRequest()
|
|
1136
1195
|
request.setId(messageId)
|
|
@@ -1147,7 +1206,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1147
1206
|
override async messageChannel (
|
|
1148
1207
|
messageId: string,
|
|
1149
1208
|
): Promise<PUPPET.payloads.Channel> {
|
|
1150
|
-
log.verbose('PuppetService', 'messageChannel(%s)', messageId)
|
|
1209
|
+
this.log.verbose('PuppetService', 'messageChannel(%s)', messageId)
|
|
1151
1210
|
|
|
1152
1211
|
const request = new grpcPuppet.MessageChannelRequest()
|
|
1153
1212
|
request.setId(messageId)
|
|
@@ -1165,7 +1224,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1165
1224
|
override async messageChannelCard (
|
|
1166
1225
|
messageId: string,
|
|
1167
1226
|
): Promise<PUPPET.payloads.ChannelCard> {
|
|
1168
|
-
log.verbose('PuppetService', 'messageChannelCard(%s)', messageId)
|
|
1227
|
+
this.log.verbose('PuppetService', 'messageChannelCard(%s)', messageId)
|
|
1169
1228
|
|
|
1170
1229
|
const request = new grpcPuppet.MessageChannelCardRequest()
|
|
1171
1230
|
request.setId(messageId)
|
|
@@ -1183,7 +1242,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1183
1242
|
override async messageCallRecord (
|
|
1184
1243
|
messageId: string,
|
|
1185
1244
|
): Promise<PUPPET.payloads.CallRecord> {
|
|
1186
|
-
log.verbose('PuppetService', 'messageCallRecord(%s)', messageId)
|
|
1245
|
+
this.log.verbose('PuppetService', 'messageCallRecord(%s)', messageId)
|
|
1187
1246
|
|
|
1188
1247
|
const request = new grpcPuppet.MessageCallRecordRequest()
|
|
1189
1248
|
request.setId(messageId)
|
|
@@ -1202,7 +1261,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1202
1261
|
contactIds: string[],
|
|
1203
1262
|
media: PUPPET.types.CallMediaType,
|
|
1204
1263
|
): Promise<string> {
|
|
1205
|
-
log.verbose('PuppetService', 'callInvite(%s, %s)', contactIds, media)
|
|
1264
|
+
this.log.verbose('PuppetService', 'callInvite(%s, %s)', contactIds, media)
|
|
1206
1265
|
|
|
1207
1266
|
const request = new grpcPuppet.CallInviteRequest()
|
|
1208
1267
|
request.setContactIdsList(contactIds)
|
|
@@ -1225,7 +1284,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1225
1284
|
callId: string,
|
|
1226
1285
|
contactIds: string[],
|
|
1227
1286
|
): Promise<void> {
|
|
1228
|
-
log.verbose('PuppetService', 'callAdd(%s, %s)', callId, contactIds)
|
|
1287
|
+
this.log.verbose('PuppetService', 'callAdd(%s, %s)', callId, contactIds)
|
|
1229
1288
|
|
|
1230
1289
|
const request = new grpcPuppet.CallAddRequest()
|
|
1231
1290
|
request.setCallId(callId)
|
|
@@ -1240,7 +1299,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1240
1299
|
override async callAccept (
|
|
1241
1300
|
callId: string,
|
|
1242
1301
|
): Promise<void> {
|
|
1243
|
-
log.verbose('PuppetService', 'callAccept(%s)', callId)
|
|
1302
|
+
this.log.verbose('PuppetService', 'callAccept(%s)', callId)
|
|
1244
1303
|
|
|
1245
1304
|
const request = new grpcPuppet.CallAcceptRequest()
|
|
1246
1305
|
request.setCallId(callId)
|
|
@@ -1255,7 +1314,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1255
1314
|
callId: string,
|
|
1256
1315
|
reason?: string,
|
|
1257
1316
|
): Promise<void> {
|
|
1258
|
-
log.verbose('PuppetService', 'callReject(%s, %s)', callId, reason)
|
|
1317
|
+
this.log.verbose('PuppetService', 'callReject(%s, %s)', callId, reason)
|
|
1259
1318
|
|
|
1260
1319
|
const request = new grpcPuppet.CallRejectRequest()
|
|
1261
1320
|
request.setCallId(callId)
|
|
@@ -1272,7 +1331,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1272
1331
|
override async callCancel (
|
|
1273
1332
|
callId: string,
|
|
1274
1333
|
): Promise<void> {
|
|
1275
|
-
log.verbose('PuppetService', 'callCancel(%s)', callId)
|
|
1334
|
+
this.log.verbose('PuppetService', 'callCancel(%s)', callId)
|
|
1276
1335
|
|
|
1277
1336
|
const request = new grpcPuppet.CallCancelRequest()
|
|
1278
1337
|
request.setCallId(callId)
|
|
@@ -1287,7 +1346,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1287
1346
|
callId: string,
|
|
1288
1347
|
reason?: string,
|
|
1289
1348
|
): Promise<void> {
|
|
1290
|
-
log.verbose('PuppetService', 'callHangup(%s, %s)', callId, reason)
|
|
1349
|
+
this.log.verbose('PuppetService', 'callHangup(%s, %s)', callId, reason)
|
|
1291
1350
|
|
|
1292
1351
|
const request = new grpcPuppet.CallHangupRequest()
|
|
1293
1352
|
request.setCallId(callId)
|
|
@@ -1304,7 +1363,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1304
1363
|
override async callMediaEndpoint (
|
|
1305
1364
|
callId: string,
|
|
1306
1365
|
): Promise<PUPPET.payloads.CallMediaEndpoint> {
|
|
1307
|
-
log.verbose('PuppetService', 'callMediaEndpoint(%s)', callId)
|
|
1366
|
+
this.log.verbose('PuppetService', 'callMediaEndpoint(%s)', callId)
|
|
1308
1367
|
|
|
1309
1368
|
const request = new grpcPuppet.CallMediaEndpointRequest()
|
|
1310
1369
|
request.setCallId(callId)
|
|
@@ -1338,7 +1397,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1338
1397
|
}
|
|
1339
1398
|
|
|
1340
1399
|
override async callRawPayload (callId: string): Promise<grpcPuppet.CallPayloadResponse.AsObject> {
|
|
1341
|
-
log.verbose('PuppetService', 'callRawPayload(%s)', callId)
|
|
1400
|
+
this.log.verbose('PuppetService', 'callRawPayload(%s)', callId)
|
|
1342
1401
|
|
|
1343
1402
|
const request = new grpcPuppet.CallPayloadRequest()
|
|
1344
1403
|
request.setId(callId)
|
|
@@ -1352,6 +1411,10 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1352
1411
|
}
|
|
1353
1412
|
|
|
1354
1413
|
override async callRawPayloadParser (rawPayload: grpcPuppet.CallPayloadResponse.AsObject): Promise<PUPPET.payloads.Call> {
|
|
1414
|
+
// Intentionally uses the module-level `log` instead of `this.log`: the
|
|
1415
|
+
// matching unit spec invokes this parser via `prototype.call({}, raw)` and
|
|
1416
|
+
// never binds a real PuppetService instance. Keep this `this`-free so that
|
|
1417
|
+
// contract survives the pluggable-logger migration.
|
|
1355
1418
|
log.verbose('PuppetService', 'callRawPayloadParser({id:%s})', rawPayload.id)
|
|
1356
1419
|
|
|
1357
1420
|
const media = grpcCallTypeToPuppetMedia(rawPayload.media)
|
|
@@ -1384,7 +1447,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1384
1447
|
override async messageChatHistory (
|
|
1385
1448
|
messageId: string,
|
|
1386
1449
|
): Promise<PUPPET.payloads.ChatHistory[]> {
|
|
1387
|
-
log.verbose('PuppetService', 'messageChatHistory(%s)', messageId)
|
|
1450
|
+
this.log.verbose('PuppetService', 'messageChatHistory(%s)', messageId)
|
|
1388
1451
|
|
|
1389
1452
|
const request = new grpcPuppet.MessageChatHistoryRequest()
|
|
1390
1453
|
request.setId(messageId)
|
|
@@ -1403,7 +1466,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1403
1466
|
conversationId : string,
|
|
1404
1467
|
miniProgramPayload : PUPPET.payloads.MiniProgram,
|
|
1405
1468
|
): Promise<void | string> {
|
|
1406
|
-
log.verbose('PuppetService', 'messageSendMiniProgram(%s, "%s")', conversationId, JSON.stringify(miniProgramPayload))
|
|
1469
|
+
this.log.verbose('PuppetService', 'messageSendMiniProgram(%s, "%s")', conversationId, JSON.stringify(miniProgramPayload))
|
|
1407
1470
|
|
|
1408
1471
|
const request = new grpcPuppet.MessageSendMiniProgramRequest()
|
|
1409
1472
|
request.setConversationId(conversationId)
|
|
@@ -1425,14 +1488,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1425
1488
|
*/
|
|
1426
1489
|
request.setMiniProgramDeprecated(JSON.stringify(miniProgramPayload))
|
|
1427
1490
|
|
|
1428
|
-
log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${miniProgramPayload.description}) about to call grpc`)
|
|
1491
|
+
this.log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${miniProgramPayload.description}) about to call grpc`)
|
|
1429
1492
|
const response = await util.promisify(
|
|
1430
1493
|
this.grpcManager.client.messageSendMiniProgram
|
|
1431
1494
|
.bind(this.grpcManager.client),
|
|
1432
1495
|
)(request)
|
|
1433
1496
|
|
|
1434
1497
|
const messageId = response.getId()
|
|
1435
|
-
log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${miniProgramPayload.description}) grpc called, messageId: ${messageId}`)
|
|
1498
|
+
this.log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${miniProgramPayload.description}) grpc called, messageId: ${messageId}`)
|
|
1436
1499
|
|
|
1437
1500
|
if (messageId) {
|
|
1438
1501
|
return messageId
|
|
@@ -1454,7 +1517,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1454
1517
|
conversationId: string,
|
|
1455
1518
|
locationPayload: PUPPET.payloads.Location,
|
|
1456
1519
|
): Promise<void | string> {
|
|
1457
|
-
log.verbose('PuppetService', 'messageSendLocation(%s)', conversationId, JSON.stringify(locationPayload))
|
|
1520
|
+
this.log.verbose('PuppetService', 'messageSendLocation(%s)', conversationId, JSON.stringify(locationPayload))
|
|
1458
1521
|
|
|
1459
1522
|
const request = new grpcPuppet.MessageSendLocationRequest()
|
|
1460
1523
|
request.setConversationId(conversationId)
|
|
@@ -1467,14 +1530,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1467
1530
|
pbLocationPayload.setName(locationPayload.name)
|
|
1468
1531
|
request.setLocation(pbLocationPayload)
|
|
1469
1532
|
|
|
1470
|
-
log.info('PuppetService', `messageSendLocation(${conversationId}, ${locationPayload.name}) about to call grpc`)
|
|
1533
|
+
this.log.info('PuppetService', `messageSendLocation(${conversationId}, ${locationPayload.name}) about to call grpc`)
|
|
1471
1534
|
const response = await util.promisify(
|
|
1472
1535
|
this.grpcManager.client.messageSendLocation
|
|
1473
1536
|
.bind(this.grpcManager.client),
|
|
1474
1537
|
)(request)
|
|
1475
1538
|
|
|
1476
1539
|
const id = response.getId()
|
|
1477
|
-
log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${locationPayload.name}) grpc called, messageId: ${id}`)
|
|
1540
|
+
this.log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${locationPayload.name}) grpc called, messageId: ${id}`)
|
|
1478
1541
|
|
|
1479
1542
|
if (id) {
|
|
1480
1543
|
return id
|
|
@@ -1485,7 +1548,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1485
1548
|
conversationId: string,
|
|
1486
1549
|
channelPayload: PUPPET.payloads.Channel,
|
|
1487
1550
|
): Promise<void | string> {
|
|
1488
|
-
log.verbose('PuppetService', 'messageSendChannel(%s, "%s")', conversationId, JSON.stringify(channelPayload))
|
|
1551
|
+
this.log.verbose('PuppetService', 'messageSendChannel(%s, "%s")', conversationId, JSON.stringify(channelPayload))
|
|
1489
1552
|
|
|
1490
1553
|
const request = new grpcPuppet.MessageSendChannelRequest()
|
|
1491
1554
|
request.setConversationId(conversationId)
|
|
@@ -1494,14 +1557,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1494
1557
|
|
|
1495
1558
|
request.setChannel(pbChannelPayload)
|
|
1496
1559
|
|
|
1497
|
-
log.info('PuppetService', `messageSendChannel(${conversationId}, ${channelPayload.desc}) about to call grpc`)
|
|
1560
|
+
this.log.info('PuppetService', `messageSendChannel(${conversationId}, ${channelPayload.desc}) about to call grpc`)
|
|
1498
1561
|
const response = await util.promisify(
|
|
1499
1562
|
this.grpcManager.client.messageSendChannel
|
|
1500
1563
|
.bind(this.grpcManager.client),
|
|
1501
1564
|
)(request)
|
|
1502
1565
|
|
|
1503
1566
|
const messageId = response.getId()
|
|
1504
|
-
log.info('PuppetService', `messageSendChannel(${conversationId}, ${channelPayload.desc}) grpc called, messageId: ${messageId}`)
|
|
1567
|
+
this.log.info('PuppetService', `messageSendChannel(${conversationId}, ${channelPayload.desc}) grpc called, messageId: ${messageId}`)
|
|
1505
1568
|
|
|
1506
1569
|
if (messageId) {
|
|
1507
1570
|
return messageId
|
|
@@ -1512,7 +1575,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1512
1575
|
conversationId: string,
|
|
1513
1576
|
channelCardPayload: PUPPET.payloads.ChannelCard,
|
|
1514
1577
|
): Promise<void | string> {
|
|
1515
|
-
log.verbose('PuppetService', 'messageSendChannelCard(%s, "%s")', conversationId, JSON.stringify(channelCardPayload))
|
|
1578
|
+
this.log.verbose('PuppetService', 'messageSendChannelCard(%s, "%s")', conversationId, JSON.stringify(channelCardPayload))
|
|
1516
1579
|
|
|
1517
1580
|
const request = new grpcPuppet.MessageSendChannelCardRequest()
|
|
1518
1581
|
request.setConversationId(conversationId)
|
|
@@ -1521,14 +1584,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1521
1584
|
|
|
1522
1585
|
request.setChannelCard(pbChannelCardPayload)
|
|
1523
1586
|
|
|
1524
|
-
log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) about to call grpc`)
|
|
1587
|
+
this.log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) about to call grpc`)
|
|
1525
1588
|
const response = await util.promisify(
|
|
1526
1589
|
this.grpcManager.client.messageSendChannelCard
|
|
1527
1590
|
.bind(this.grpcManager.client),
|
|
1528
1591
|
)(request)
|
|
1529
1592
|
|
|
1530
1593
|
const messageId = response.getId()
|
|
1531
|
-
log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) grpc called, messageId: ${messageId}`)
|
|
1594
|
+
this.log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) grpc called, messageId: ${messageId}`)
|
|
1532
1595
|
|
|
1533
1596
|
if (messageId) {
|
|
1534
1597
|
return messageId
|
|
@@ -1538,7 +1601,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1538
1601
|
override async messageRecall (
|
|
1539
1602
|
messageId: string,
|
|
1540
1603
|
): Promise<boolean> {
|
|
1541
|
-
log.verbose('PuppetService', 'messageRecall(%s)', messageId)
|
|
1604
|
+
this.log.verbose('PuppetService', 'messageRecall(%s)', messageId)
|
|
1542
1605
|
|
|
1543
1606
|
const request = new grpcPuppet.MessageRecallRequest()
|
|
1544
1607
|
request.setId(messageId)
|
|
@@ -1552,7 +1615,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1552
1615
|
}
|
|
1553
1616
|
|
|
1554
1617
|
override async messageFile (id: string): Promise<FileBoxInterface> {
|
|
1555
|
-
log.verbose('PuppetService', 'messageFile(%s)', id)
|
|
1618
|
+
this.log.verbose('PuppetService', 'messageFile(%s)', id)
|
|
1556
1619
|
|
|
1557
1620
|
const request = new grpcPuppet.MessageFileRequest()
|
|
1558
1621
|
request.setId(id)
|
|
@@ -1570,7 +1633,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1570
1633
|
}
|
|
1571
1634
|
|
|
1572
1635
|
override async messageVoice (id: string): Promise<FileBoxInterface> {
|
|
1573
|
-
log.verbose('PuppetService', 'messageVoice(%s)', id)
|
|
1636
|
+
this.log.verbose('PuppetService', 'messageVoice(%s)', id)
|
|
1574
1637
|
|
|
1575
1638
|
const request = new grpcPuppet.MessageVoiceRequest()
|
|
1576
1639
|
request.setId(id)
|
|
@@ -1588,7 +1651,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1588
1651
|
}
|
|
1589
1652
|
|
|
1590
1653
|
override async messageVoiceText (id: string): Promise<PUPPET.payloads.VoiceText> {
|
|
1591
|
-
log.verbose('PuppetService', 'messageVoiceText(%s)', id)
|
|
1654
|
+
this.log.verbose('PuppetService', 'messageVoiceText(%s)', id)
|
|
1592
1655
|
|
|
1593
1656
|
const request = new grpcPuppet.MessageVoiceTextRequest()
|
|
1594
1657
|
request.setId(id)
|
|
@@ -1604,7 +1667,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1604
1667
|
}
|
|
1605
1668
|
|
|
1606
1669
|
override async messagePreview (id: string): Promise<FileBoxInterface | undefined> {
|
|
1607
|
-
log.verbose('PuppetService', 'messagePreview(%s)', id)
|
|
1670
|
+
this.log.verbose('PuppetService', 'messagePreview(%s)', id)
|
|
1608
1671
|
|
|
1609
1672
|
const request = new grpcPuppet.MessagePreviewRequest()
|
|
1610
1673
|
request.setId(id)
|
|
@@ -1624,7 +1687,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1624
1687
|
conversationId: string,
|
|
1625
1688
|
messageIds: string | string[],
|
|
1626
1689
|
): Promise<string | void> {
|
|
1627
|
-
log.verbose('PuppetService', 'messageForward(%s, %s)', conversationId, messageIds)
|
|
1690
|
+
this.log.verbose('PuppetService', 'messageForward(%s, %s)', conversationId, messageIds)
|
|
1628
1691
|
|
|
1629
1692
|
const request = new grpcPuppet.MessageForwardRequest()
|
|
1630
1693
|
request.setConversationId(conversationId)
|
|
@@ -1637,14 +1700,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1637
1700
|
request.setMessageId(messageIds)
|
|
1638
1701
|
}
|
|
1639
1702
|
|
|
1640
|
-
log.info('PuppetService', `messageForward(${conversationId}, ${messageIds}) about to call grpc`)
|
|
1703
|
+
this.log.info('PuppetService', `messageForward(${conversationId}, ${messageIds}) about to call grpc`)
|
|
1641
1704
|
const response = await util.promisify(
|
|
1642
1705
|
this.grpcManager.client.messageForward
|
|
1643
1706
|
.bind(this.grpcManager.client),
|
|
1644
1707
|
)(request)
|
|
1645
1708
|
|
|
1646
1709
|
const forwardedMessageId = response.getId()
|
|
1647
|
-
log.info('PuppetService', `messageForward(${conversationId}, ${messageIds}) grpc called, messageId: ${forwardedMessageId}`)
|
|
1710
|
+
this.log.info('PuppetService', `messageForward(${conversationId}, ${messageIds}) grpc called, messageId: ${forwardedMessageId}`)
|
|
1648
1711
|
|
|
1649
1712
|
if (forwardedMessageId) {
|
|
1650
1713
|
return forwardedMessageId
|
|
@@ -1663,11 +1726,11 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1663
1726
|
}
|
|
1664
1727
|
|
|
1665
1728
|
override async messageRawPayload (id: string): Promise<PUPPET.payloads.Message> {
|
|
1666
|
-
log.verbose('PuppetService', 'messageRawPayload(%s)', id)
|
|
1729
|
+
this.log.verbose('PuppetService', 'messageRawPayload(%s)', id)
|
|
1667
1730
|
|
|
1668
1731
|
// const cachedPayload = await this.payloadStore.message?.get(id)
|
|
1669
1732
|
// if (cachedPayload) {
|
|
1670
|
-
// log.silly('PuppetService', 'messageRawPayload(%s) cache HIT', id)
|
|
1733
|
+
// this.log.silly('PuppetService', 'messageRawPayload(%s) cache HIT', id)
|
|
1671
1734
|
// return cachedPayload
|
|
1672
1735
|
// }
|
|
1673
1736
|
|
|
@@ -1722,19 +1785,19 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1722
1785
|
break
|
|
1723
1786
|
}
|
|
1724
1787
|
default:
|
|
1725
|
-
log.warn('PuppetService', `unknown text content type ${type}`)
|
|
1788
|
+
this.log.warn('PuppetService', `unknown text content type ${type}`)
|
|
1726
1789
|
}
|
|
1727
1790
|
payload.textContent?.push(contentData)
|
|
1728
1791
|
}
|
|
1729
1792
|
|
|
1730
|
-
// log.silly('PuppetService', 'messageRawPayload(%s) cache SET', id)
|
|
1793
|
+
// this.log.silly('PuppetService', 'messageRawPayload(%s) cache SET', id)
|
|
1731
1794
|
// await this.payloadStore.message?.set(id, payload)
|
|
1732
1795
|
|
|
1733
1796
|
return payload
|
|
1734
1797
|
}
|
|
1735
1798
|
|
|
1736
1799
|
override async messageRawPayloadParser (payload: PUPPET.payloads.Message): Promise<PUPPET.payloads.Message> {
|
|
1737
|
-
// log.silly('PuppetService', 'messagePayload({id:%s})', payload.id)
|
|
1800
|
+
// this.log.silly('PuppetService', 'messagePayload({id:%s})', payload.id)
|
|
1738
1801
|
// passthrough
|
|
1739
1802
|
return payload
|
|
1740
1803
|
}
|
|
@@ -1744,7 +1807,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1744
1807
|
text : string,
|
|
1745
1808
|
options? : PUPPET.types.MessageSendTextOptions,
|
|
1746
1809
|
): Promise<void | string> {
|
|
1747
|
-
log.verbose('PuppetService', 'messageSend(%s, %s)', conversationId, text)
|
|
1810
|
+
this.log.verbose('PuppetService', 'messageSend(%s, %s)', conversationId, text)
|
|
1748
1811
|
let mentionIdList
|
|
1749
1812
|
let quoteId
|
|
1750
1813
|
if (Array.isArray(options)) {
|
|
@@ -1763,14 +1826,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1763
1826
|
request.setQuoteId(quoteId)
|
|
1764
1827
|
}
|
|
1765
1828
|
|
|
1766
|
-
log.info('PuppetService', `messageSend(${conversationId}, ${text}) about to call grpc`)
|
|
1829
|
+
this.log.info('PuppetService', `messageSend(${conversationId}, ${text}) about to call grpc`)
|
|
1767
1830
|
const response = await util.promisify(
|
|
1768
1831
|
this.grpcManager.client.messageSendText
|
|
1769
1832
|
.bind(this.grpcManager.client),
|
|
1770
1833
|
)(request)
|
|
1771
1834
|
|
|
1772
1835
|
const messageId = response.getId()
|
|
1773
|
-
log.info('PuppetService', `messageSend(${conversationId}, ${text}) grpc called, messageId: ${messageId}`)
|
|
1836
|
+
this.log.info('PuppetService', `messageSend(${conversationId}, ${text}) grpc called, messageId: ${messageId}`)
|
|
1774
1837
|
|
|
1775
1838
|
if (messageId) {
|
|
1776
1839
|
return messageId
|
|
@@ -1793,7 +1856,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1793
1856
|
text : string,
|
|
1794
1857
|
batchTaskId? : string,
|
|
1795
1858
|
): Promise<MessageBatchSendResponse> {
|
|
1796
|
-
log.verbose('PuppetService', 'messageBatchSendText(%s)', conversationIds.join(','))
|
|
1859
|
+
this.log.verbose('PuppetService', 'messageBatchSendText(%s)', conversationIds.join(','))
|
|
1797
1860
|
|
|
1798
1861
|
const request = new grpcPuppet.MessageBatchSendTextRequest()
|
|
1799
1862
|
request.setConversationIdsList(conversationIds)
|
|
@@ -1815,7 +1878,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1815
1878
|
fileBox : FileBoxInterface,
|
|
1816
1879
|
batchTaskId? : string,
|
|
1817
1880
|
): Promise<MessageBatchSendResponse> {
|
|
1818
|
-
log.verbose('PuppetService', 'messageBatchSendFile(%s)', conversationIds.join(','))
|
|
1881
|
+
this.log.verbose('PuppetService', 'messageBatchSendFile(%s)', conversationIds.join(','))
|
|
1819
1882
|
|
|
1820
1883
|
const request = new grpcPuppet.MessageBatchSendFileRequest()
|
|
1821
1884
|
request.setConversationIdsList(conversationIds)
|
|
@@ -1837,7 +1900,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1837
1900
|
messageIds : string | string[],
|
|
1838
1901
|
batchTaskId? : string,
|
|
1839
1902
|
): Promise<MessageBatchSendResponse> {
|
|
1840
|
-
log.verbose('PuppetService', 'messageBatchForward(%s, %s)', conversationIds.join(','), messageIds)
|
|
1903
|
+
this.log.verbose('PuppetService', 'messageBatchForward(%s, %s)', conversationIds.join(','), messageIds)
|
|
1841
1904
|
|
|
1842
1905
|
const request = new grpcPuppet.MessageBatchForwardRequest()
|
|
1843
1906
|
request.setConversationIdsList(conversationIds)
|
|
@@ -1866,7 +1929,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1866
1929
|
contactId : string,
|
|
1867
1930
|
batchTaskId? : string,
|
|
1868
1931
|
): Promise<MessageBatchSendResponse> {
|
|
1869
|
-
log.verbose('PuppetService', 'messageBatchSendContact(%s, %s)', conversationIds.join(','), contactId)
|
|
1932
|
+
this.log.verbose('PuppetService', 'messageBatchSendContact(%s, %s)', conversationIds.join(','), contactId)
|
|
1870
1933
|
|
|
1871
1934
|
const request = new grpcPuppet.MessageBatchSendContactRequest()
|
|
1872
1935
|
request.setConversationIdsList(conversationIds)
|
|
@@ -1888,7 +1951,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1888
1951
|
urlLinkPayload : PUPPET.payloads.UrlLink,
|
|
1889
1952
|
batchTaskId? : string,
|
|
1890
1953
|
): Promise<MessageBatchSendResponse> {
|
|
1891
|
-
log.verbose('PuppetService', 'messageBatchSendUrl(%s)', conversationIds.join(','))
|
|
1954
|
+
this.log.verbose('PuppetService', 'messageBatchSendUrl(%s)', conversationIds.join(','))
|
|
1892
1955
|
|
|
1893
1956
|
const request = new grpcPuppet.MessageBatchSendUrlRequest()
|
|
1894
1957
|
request.setConversationIdsList(conversationIds)
|
|
@@ -1910,7 +1973,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1910
1973
|
miniProgramPayload : PUPPET.payloads.MiniProgram,
|
|
1911
1974
|
batchTaskId? : string,
|
|
1912
1975
|
): Promise<MessageBatchSendResponse> {
|
|
1913
|
-
log.verbose('PuppetService', 'messageBatchSendMiniProgram(%s)', conversationIds.join(','))
|
|
1976
|
+
this.log.verbose('PuppetService', 'messageBatchSendMiniProgram(%s)', conversationIds.join(','))
|
|
1914
1977
|
|
|
1915
1978
|
const request = new grpcPuppet.MessageBatchSendMiniProgramRequest()
|
|
1916
1979
|
request.setConversationIdsList(conversationIds)
|
|
@@ -1932,7 +1995,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1932
1995
|
locationPayload : PUPPET.payloads.Location,
|
|
1933
1996
|
batchTaskId? : string,
|
|
1934
1997
|
): Promise<MessageBatchSendResponse> {
|
|
1935
|
-
log.verbose('PuppetService', 'messageBatchSendLocation(%s)', conversationIds.join(','))
|
|
1998
|
+
this.log.verbose('PuppetService', 'messageBatchSendLocation(%s)', conversationIds.join(','))
|
|
1936
1999
|
|
|
1937
2000
|
const request = new grpcPuppet.MessageBatchSendLocationRequest()
|
|
1938
2001
|
request.setConversationIdsList(conversationIds)
|
|
@@ -1954,7 +2017,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1954
2017
|
channelPayload : PUPPET.payloads.Channel,
|
|
1955
2018
|
batchTaskId? : string,
|
|
1956
2019
|
): Promise<MessageBatchSendResponse> {
|
|
1957
|
-
log.verbose('PuppetService', 'messageBatchSendChannel(%s)', conversationIds.join(','))
|
|
2020
|
+
this.log.verbose('PuppetService', 'messageBatchSendChannel(%s)', conversationIds.join(','))
|
|
1958
2021
|
|
|
1959
2022
|
const request = new grpcPuppet.MessageBatchSendChannelRequest()
|
|
1960
2023
|
request.setConversationIdsList(conversationIds)
|
|
@@ -1976,7 +2039,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1976
2039
|
channelCardPayload : PUPPET.payloads.ChannelCard,
|
|
1977
2040
|
batchTaskId? : string,
|
|
1978
2041
|
): Promise<MessageBatchSendResponse> {
|
|
1979
|
-
log.verbose('PuppetService', 'messageBatchSendChannelCard(%s)', conversationIds.join(','))
|
|
2042
|
+
this.log.verbose('PuppetService', 'messageBatchSendChannelCard(%s)', conversationIds.join(','))
|
|
1980
2043
|
|
|
1981
2044
|
const request = new grpcPuppet.MessageBatchSendChannelCardRequest()
|
|
1982
2045
|
request.setConversationIdsList(conversationIds)
|
|
@@ -1997,7 +2060,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1997
2060
|
conversationId : string,
|
|
1998
2061
|
fileBox : FileBoxInterface,
|
|
1999
2062
|
): Promise<void | string> {
|
|
2000
|
-
log.verbose('PuppetService', 'messageSendFile(%s, %s)', conversationId, fileBox)
|
|
2063
|
+
this.log.verbose('PuppetService', 'messageSendFile(%s, %s)', conversationId, fileBox)
|
|
2001
2064
|
|
|
2002
2065
|
const request = new grpcPuppet.MessageSendFileRequest()
|
|
2003
2066
|
request.setConversationId(conversationId)
|
|
@@ -2005,14 +2068,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2005
2068
|
const serializedFileBox = await this.serializeFileBox(fileBox)
|
|
2006
2069
|
request.setFileBox(serializedFileBox)
|
|
2007
2070
|
|
|
2008
|
-
log.info('PuppetService', `messageSendFile(${conversationId}, ${fileBox}) about to call grpc`)
|
|
2071
|
+
this.log.info('PuppetService', `messageSendFile(${conversationId}, ${fileBox}) about to call grpc`)
|
|
2009
2072
|
const response = await util.promisify(
|
|
2010
2073
|
this.grpcManager.client.messageSendFile
|
|
2011
2074
|
.bind(this.grpcManager.client),
|
|
2012
2075
|
)(request)
|
|
2013
2076
|
|
|
2014
2077
|
const messageId = response.getId()
|
|
2015
|
-
log.info('PuppetService', `messageSendFile(${conversationId}, ${fileBox}) grpc called, messageId: ${messageId}`)
|
|
2078
|
+
this.log.info('PuppetService', `messageSendFile(${conversationId}, ${fileBox}) grpc called, messageId: ${messageId}`)
|
|
2016
2079
|
|
|
2017
2080
|
if (messageId) {
|
|
2018
2081
|
return messageId
|
|
@@ -2031,20 +2094,20 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2031
2094
|
conversationId : string,
|
|
2032
2095
|
contactId : string,
|
|
2033
2096
|
): Promise<void | string> {
|
|
2034
|
-
log.verbose('PuppetService', 'messageSend("%s", %s)', conversationId, contactId)
|
|
2097
|
+
this.log.verbose('PuppetService', 'messageSend("%s", %s)', conversationId, contactId)
|
|
2035
2098
|
|
|
2036
2099
|
const request = new grpcPuppet.MessageSendContactRequest()
|
|
2037
2100
|
request.setConversationId(conversationId)
|
|
2038
2101
|
request.setContactId(contactId)
|
|
2039
2102
|
|
|
2040
|
-
log.info('PuppetService', `messageSendContact(${conversationId}, ${contactId}) about to call grpc`)
|
|
2103
|
+
this.log.info('PuppetService', `messageSendContact(${conversationId}, ${contactId}) about to call grpc`)
|
|
2041
2104
|
const response = await util.promisify(
|
|
2042
2105
|
this.grpcManager.client.messageSendContact
|
|
2043
2106
|
.bind(this.grpcManager.client),
|
|
2044
2107
|
)(request)
|
|
2045
2108
|
|
|
2046
2109
|
const messageId = response.getId()
|
|
2047
|
-
log.info('PuppetService', `messageSendContact(${conversationId}, ${contactId}) grpc called, messageId: ${messageId}`)
|
|
2110
|
+
this.log.info('PuppetService', `messageSendContact(${conversationId}, ${contactId}) grpc called, messageId: ${messageId}`)
|
|
2048
2111
|
|
|
2049
2112
|
if (messageId) {
|
|
2050
2113
|
return messageId
|
|
@@ -2066,7 +2129,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2066
2129
|
conversationId: string,
|
|
2067
2130
|
urlLinkPayload: PUPPET.payloads.UrlLink,
|
|
2068
2131
|
): Promise<void | string> {
|
|
2069
|
-
log.verbose('PuppetService', 'messageSendUrl("%s", %s)', conversationId, JSON.stringify(urlLinkPayload))
|
|
2132
|
+
this.log.verbose('PuppetService', 'messageSendUrl("%s", %s)', conversationId, JSON.stringify(urlLinkPayload))
|
|
2070
2133
|
|
|
2071
2134
|
const request = new grpcPuppet.MessageSendUrlRequest()
|
|
2072
2135
|
request.setConversationId(conversationId)
|
|
@@ -2081,14 +2144,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2081
2144
|
// Deprecated: will be removed after Dec 31, 2022
|
|
2082
2145
|
request.setUrlLinkDeprecated(JSON.stringify(urlLinkPayload))
|
|
2083
2146
|
|
|
2084
|
-
log.info('PuppetService', `messageSendUrl(${conversationId}, ${urlLinkPayload}) about to call grpc`)
|
|
2147
|
+
this.log.info('PuppetService', `messageSendUrl(${conversationId}, ${urlLinkPayload}) about to call grpc`)
|
|
2085
2148
|
const response = await util.promisify(
|
|
2086
2149
|
this.grpcManager.client.messageSendUrl
|
|
2087
2150
|
.bind(this.grpcManager.client),
|
|
2088
2151
|
)(request)
|
|
2089
2152
|
|
|
2090
2153
|
const messageId = response.getId()
|
|
2091
|
-
log.info('PuppetService', `messageSendUrl(${conversationId}, ${urlLinkPayload}) grpc called, messageId: ${messageId}`)
|
|
2154
|
+
this.log.info('PuppetService', `messageSendUrl(${conversationId}, ${urlLinkPayload}) grpc called, messageId: ${messageId}`)
|
|
2092
2155
|
|
|
2093
2156
|
if (messageId) {
|
|
2094
2157
|
return messageId
|
|
@@ -2110,21 +2173,21 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2110
2173
|
conversationId: string,
|
|
2111
2174
|
postPayload: PUPPET.payloads.PostClient,
|
|
2112
2175
|
): Promise<void | string> {
|
|
2113
|
-
log.verbose('PuppetService', 'messageSendPost("%s", %s)', conversationId, JSON.stringify(postPayload))
|
|
2176
|
+
this.log.verbose('PuppetService', 'messageSendPost("%s", %s)', conversationId, JSON.stringify(postPayload))
|
|
2114
2177
|
|
|
2115
2178
|
const request = new grpcPuppet.MessageSendPostRequest()
|
|
2116
2179
|
const post = await postPayloadToPb(grpcPuppet, postPayload, this.serializeFileBox.bind(this))
|
|
2117
2180
|
request.setContent(post)
|
|
2118
2181
|
request.setConversationId(conversationId)
|
|
2119
2182
|
|
|
2120
|
-
log.info('PuppetService', `messageSendPost(${conversationId}, ${postPayload}) about to call grpc`)
|
|
2183
|
+
this.log.info('PuppetService', `messageSendPost(${conversationId}, ${postPayload}) about to call grpc`)
|
|
2121
2184
|
const response = await util.promisify(
|
|
2122
2185
|
this.grpcManager.client.messageSendPost
|
|
2123
2186
|
.bind(this.grpcManager.client),
|
|
2124
2187
|
)(request)
|
|
2125
2188
|
|
|
2126
2189
|
const messageId = response.getId()
|
|
2127
|
-
log.info('PuppetService', `messageSendPost(${conversationId}, ${postPayload}) grpc called, messageId: ${messageId}`)
|
|
2190
|
+
this.log.info('PuppetService', `messageSendPost(${conversationId}, ${postPayload}) grpc called, messageId: ${messageId}`)
|
|
2128
2191
|
|
|
2129
2192
|
if (messageId) {
|
|
2130
2193
|
return messageId
|
|
@@ -2132,7 +2195,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2132
2195
|
}
|
|
2133
2196
|
|
|
2134
2197
|
override async messageUrl (messageId: string): Promise<PUPPET.payloads.UrlLink> {
|
|
2135
|
-
log.verbose('PuppetService', 'messageUrl(%s)', messageId)
|
|
2198
|
+
this.log.verbose('PuppetService', 'messageUrl(%s)', messageId)
|
|
2136
2199
|
|
|
2137
2200
|
const request = new grpcPuppet.MessageUrlRequest()
|
|
2138
2201
|
request.setId(messageId)
|
|
@@ -2158,7 +2221,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2158
2221
|
}
|
|
2159
2222
|
|
|
2160
2223
|
override async getMessageBroadcastTarget (): Promise<MessageBroadcastTargets> {
|
|
2161
|
-
log.verbose('PuppetService', 'getMessageBroadcastTarget()')
|
|
2224
|
+
this.log.verbose('PuppetService', 'getMessageBroadcastTarget()')
|
|
2162
2225
|
|
|
2163
2226
|
const request = new grpcPuppet.GetMessageBroadcastTargetRequest()
|
|
2164
2227
|
|
|
@@ -2173,7 +2236,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2173
2236
|
}
|
|
2174
2237
|
|
|
2175
2238
|
override async createMessageBroadcast (targets: string[], content: PUPPET.payloads.Post): Promise<string | void> {
|
|
2176
|
-
log.verbose('PuppetService', 'createMessageBroadcast()')
|
|
2239
|
+
this.log.verbose('PuppetService', 'createMessageBroadcast()')
|
|
2177
2240
|
|
|
2178
2241
|
if (!PUPPET.payloads.isPostClient(content)) {
|
|
2179
2242
|
throw new Error('can only create broadcast with client post')
|
|
@@ -2192,7 +2255,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2192
2255
|
}
|
|
2193
2256
|
|
|
2194
2257
|
override async getMessageBroadcastStatus (id: string): Promise<{ status: PUPPET.types.BroadcastStatus; detail: { contactId?: string | undefined; roomId?: string | undefined; status: PUPPET.types.BroadcastTargetStatus }[] }> {
|
|
2195
|
-
log.verbose('PuppetService', 'getMessageBroadcastStatus()')
|
|
2258
|
+
this.log.verbose('PuppetService', 'getMessageBroadcastStatus()')
|
|
2196
2259
|
|
|
2197
2260
|
const request = new grpcPuppet.GetMessageBroadcastStatusRequest()
|
|
2198
2261
|
request.setId(id)
|
|
@@ -2232,11 +2295,11 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2232
2295
|
override async roomRawPayload (
|
|
2233
2296
|
id: string,
|
|
2234
2297
|
): Promise<PUPPET.payloads.Room> {
|
|
2235
|
-
log.verbose('PuppetService', 'roomRawPayload(%s)', id)
|
|
2298
|
+
this.log.verbose('PuppetService', 'roomRawPayload(%s)', id)
|
|
2236
2299
|
|
|
2237
2300
|
const cachedPayload = await this._payloadStore.room?.get(id)
|
|
2238
2301
|
if (cachedPayload) {
|
|
2239
|
-
log.silly('PuppetService', 'roomRawPayload(%s) cache HIT', id)
|
|
2302
|
+
this.log.silly('PuppetService', 'roomRawPayload(%s) cache HIT', id)
|
|
2240
2303
|
return cachedPayload
|
|
2241
2304
|
}
|
|
2242
2305
|
|
|
@@ -2267,19 +2330,19 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2267
2330
|
}
|
|
2268
2331
|
|
|
2269
2332
|
await this._payloadStore.room?.set(id, payload)
|
|
2270
|
-
log.silly('PuppetService', 'roomRawPayload(%s) cache SET', id)
|
|
2333
|
+
this.log.silly('PuppetService', 'roomRawPayload(%s) cache SET', id)
|
|
2271
2334
|
|
|
2272
2335
|
return payload
|
|
2273
2336
|
}
|
|
2274
2337
|
|
|
2275
2338
|
override async roomRawPayloadParser (payload: PUPPET.payloads.Room): Promise<PUPPET.payloads.Room> {
|
|
2276
|
-
// log.silly('PuppetService', 'roomRawPayloadParser({id:%s})', payload.id)
|
|
2339
|
+
// this.log.silly('PuppetService', 'roomRawPayloadParser({id:%s})', payload.id)
|
|
2277
2340
|
// passthrough
|
|
2278
2341
|
return payload
|
|
2279
2342
|
}
|
|
2280
2343
|
|
|
2281
2344
|
override async batchRoomRawPayload (roomIdList: string[]): Promise<Map<string, PUPPET.payloads.Room>> {
|
|
2282
|
-
log.verbose('PuppetService', 'batchRoomRawPayload(%s)', roomIdList)
|
|
2345
|
+
this.log.verbose('PuppetService', 'batchRoomRawPayload(%s)', roomIdList)
|
|
2283
2346
|
|
|
2284
2347
|
const result = new Map<string, PUPPET.payloads.Room>()
|
|
2285
2348
|
const roomIdSet = new Set<string>(roomIdList)
|
|
@@ -2326,7 +2389,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2326
2389
|
await this._payloadStore.room?.set(roomId, puppetPayload)
|
|
2327
2390
|
}
|
|
2328
2391
|
} catch (e) {
|
|
2329
|
-
log.error('PuppetService', 'batchRoomRawPayload(%s, %s) error: %s, use one by one method', roomIdList, needGetSet, e)
|
|
2392
|
+
this.log.error('PuppetService', 'batchRoomRawPayload(%s, %s) error: %s, use one by one method', roomIdList, needGetSet, e)
|
|
2330
2393
|
for (const roomId of needGetSet) {
|
|
2331
2394
|
const payload = await this.roomRawPayload(roomId)
|
|
2332
2395
|
result.set(roomId, payload)
|
|
@@ -2337,7 +2400,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2337
2400
|
}
|
|
2338
2401
|
|
|
2339
2402
|
override async roomList (): Promise<string[]> {
|
|
2340
|
-
log.verbose('PuppetService', 'roomList()')
|
|
2403
|
+
this.log.verbose('PuppetService', 'roomList()')
|
|
2341
2404
|
|
|
2342
2405
|
const response = await util.promisify(
|
|
2343
2406
|
this.grpcManager.client.roomList
|
|
@@ -2351,7 +2414,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2351
2414
|
roomId : string,
|
|
2352
2415
|
contactIds : string | string[],
|
|
2353
2416
|
): Promise<void> {
|
|
2354
|
-
log.verbose('PuppetService', 'roomDel(%s, %s)', roomId, contactIds)
|
|
2417
|
+
this.log.verbose('PuppetService', 'roomDel(%s, %s)', roomId, contactIds)
|
|
2355
2418
|
|
|
2356
2419
|
const request = new grpcPuppet.RoomDelRequest()
|
|
2357
2420
|
request.setId(roomId)
|
|
@@ -2371,7 +2434,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2371
2434
|
}
|
|
2372
2435
|
|
|
2373
2436
|
override async roomDelV2 (roomId: string, contactIds: string[]): Promise<{ successList: string[]; failList: string[]; failReasonList: string[] }> {
|
|
2374
|
-
log.verbose('PuppetService', 'roomDelV2(%s, %s)', roomId, contactIds)
|
|
2437
|
+
this.log.verbose('PuppetService', 'roomDelV2(%s, %s)', roomId, contactIds)
|
|
2375
2438
|
|
|
2376
2439
|
const request = new grpcPuppet.RoomDelV2Request()
|
|
2377
2440
|
request.setId(roomId)
|
|
@@ -2390,7 +2453,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2390
2453
|
}
|
|
2391
2454
|
|
|
2392
2455
|
override async roomAvatar (roomId: string): Promise<FileBoxInterface> {
|
|
2393
|
-
log.verbose('PuppetService', 'roomAvatar(%s)', roomId)
|
|
2456
|
+
this.log.verbose('PuppetService', 'roomAvatar(%s)', roomId)
|
|
2394
2457
|
|
|
2395
2458
|
const request = new grpcPuppet.RoomAvatarRequest()
|
|
2396
2459
|
request.setId(roomId)
|
|
@@ -2410,7 +2473,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2410
2473
|
inviteOnly : boolean,
|
|
2411
2474
|
quoteIds : string[],
|
|
2412
2475
|
): Promise<void> {
|
|
2413
|
-
log.verbose('PuppetService', 'roomAdd(%s, %s)', roomId, contactId)
|
|
2476
|
+
this.log.verbose('PuppetService', 'roomAdd(%s, %s)', roomId, contactId)
|
|
2414
2477
|
|
|
2415
2478
|
const request = new grpcPuppet.RoomAddRequest()
|
|
2416
2479
|
request.setId(roomId)
|
|
@@ -2433,7 +2496,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2433
2496
|
inviteOnly: boolean,
|
|
2434
2497
|
quoteIds: string[],
|
|
2435
2498
|
): Promise<{ successList: string[]; failList: string[]; failReasonList: string[]; }> {
|
|
2436
|
-
log.verbose('PuppetService', 'roomAddV2(%s, %s)', roomId, contactIds)
|
|
2499
|
+
this.log.verbose('PuppetService', 'roomAddV2(%s, %s)', roomId, contactIds)
|
|
2437
2500
|
|
|
2438
2501
|
const request = new grpcPuppet.RoomAddV2Request()
|
|
2439
2502
|
request.setId(roomId)
|
|
@@ -2460,7 +2523,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2460
2523
|
roomId: string,
|
|
2461
2524
|
topic?: string,
|
|
2462
2525
|
): Promise<void | string> {
|
|
2463
|
-
log.verbose('PuppetService', 'roomTopic(%s, %s)', roomId, topic)
|
|
2526
|
+
this.log.verbose('PuppetService', 'roomTopic(%s, %s)', roomId, topic)
|
|
2464
2527
|
|
|
2465
2528
|
/**
|
|
2466
2529
|
* Get
|
|
@@ -2512,7 +2575,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2512
2575
|
}
|
|
2513
2576
|
|
|
2514
2577
|
override async roomRemark (roomId: string, remark: string): Promise<void> {
|
|
2515
|
-
log.verbose('PuppetService', 'roomRemark(%s)', roomId)
|
|
2578
|
+
this.log.verbose('PuppetService', 'roomRemark(%s)', roomId)
|
|
2516
2579
|
|
|
2517
2580
|
const request = new grpcPuppet.RoomRemarkRequest()
|
|
2518
2581
|
request.setId(roomId)
|
|
@@ -2528,7 +2591,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2528
2591
|
contactIdList : string[],
|
|
2529
2592
|
topic : string,
|
|
2530
2593
|
): Promise<string> {
|
|
2531
|
-
log.verbose('PuppetService', 'roomCreate(%s, %s)', contactIdList, topic)
|
|
2594
|
+
this.log.verbose('PuppetService', 'roomCreate(%s, %s)', contactIdList, topic)
|
|
2532
2595
|
|
|
2533
2596
|
const request = new grpcPuppet.RoomCreateRequest()
|
|
2534
2597
|
request.setContactIdsList(contactIdList)
|
|
@@ -2543,7 +2606,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2543
2606
|
}
|
|
2544
2607
|
|
|
2545
2608
|
override async roomQuit (roomId: string): Promise<void> {
|
|
2546
|
-
log.verbose('PuppetService', 'roomQuit(%s)', roomId)
|
|
2609
|
+
this.log.verbose('PuppetService', 'roomQuit(%s)', roomId)
|
|
2547
2610
|
|
|
2548
2611
|
const request = new grpcPuppet.RoomQuitRequest()
|
|
2549
2612
|
request.setId(roomId)
|
|
@@ -2555,7 +2618,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2555
2618
|
}
|
|
2556
2619
|
|
|
2557
2620
|
override async roomQRCode (roomId: string): Promise<string> {
|
|
2558
|
-
log.verbose('PuppetService', 'roomQRCode(%s)', roomId)
|
|
2621
|
+
this.log.verbose('PuppetService', 'roomQRCode(%s)', roomId)
|
|
2559
2622
|
|
|
2560
2623
|
const request = new grpcPuppet.RoomQRCodeRequest()
|
|
2561
2624
|
request.setId(roomId)
|
|
@@ -2569,7 +2632,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2569
2632
|
}
|
|
2570
2633
|
|
|
2571
2634
|
override async roomParseDynamicQRCode (url: string): Promise<PUPPET.types.RoomParseDynamicQRCode> {
|
|
2572
|
-
log.verbose('PuppetService', 'roomParseDynamicQRCode(%s)', url)
|
|
2635
|
+
this.log.verbose('PuppetService', 'roomParseDynamicQRCode(%s)', url)
|
|
2573
2636
|
|
|
2574
2637
|
const request = new grpcPuppet.RoomParseDynamicQRCodeRequest()
|
|
2575
2638
|
request.setUrl(url)
|
|
@@ -2587,7 +2650,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2587
2650
|
}
|
|
2588
2651
|
|
|
2589
2652
|
override async roomMemberList (roomId: string) : Promise<string[]> {
|
|
2590
|
-
log.verbose('PuppetService', 'roomMemberList(%s)', roomId)
|
|
2653
|
+
this.log.verbose('PuppetService', 'roomMemberList(%s)', roomId)
|
|
2591
2654
|
|
|
2592
2655
|
const request = new grpcPuppet.RoomMemberListRequest()
|
|
2593
2656
|
request.setId(roomId)
|
|
@@ -2601,13 +2664,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2601
2664
|
}
|
|
2602
2665
|
|
|
2603
2666
|
override async roomMemberRawPayload (roomId: string, contactId: string): Promise<PUPPET.payloads.RoomMember> {
|
|
2604
|
-
log.verbose('PuppetService', 'roomMemberRawPayload(%s, %s)', roomId, contactId)
|
|
2667
|
+
this.log.verbose('PuppetService', 'roomMemberRawPayload(%s, %s)', roomId, contactId)
|
|
2605
2668
|
|
|
2606
2669
|
const cachedPayload = await this._payloadStore.roomMember?.get(roomId)
|
|
2607
2670
|
const cachedRoomMemberPayload = cachedPayload && cachedPayload[contactId]
|
|
2608
2671
|
|
|
2609
2672
|
if (cachedRoomMemberPayload) {
|
|
2610
|
-
log.silly('PuppetService', 'roomMemberRawPayload(%s, %s) cache HIT', roomId, contactId)
|
|
2673
|
+
this.log.silly('PuppetService', 'roomMemberRawPayload(%s, %s) cache HIT', roomId, contactId)
|
|
2611
2674
|
return cachedRoomMemberPayload
|
|
2612
2675
|
}
|
|
2613
2676
|
|
|
@@ -2635,19 +2698,19 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2635
2698
|
...cachedPayload,
|
|
2636
2699
|
[contactId]: payload,
|
|
2637
2700
|
})
|
|
2638
|
-
log.silly('PuppetService', 'roomMemberRawPayload(%s, %s) cache SET', roomId, contactId)
|
|
2701
|
+
this.log.silly('PuppetService', 'roomMemberRawPayload(%s, %s) cache SET', roomId, contactId)
|
|
2639
2702
|
|
|
2640
2703
|
return payload
|
|
2641
2704
|
}
|
|
2642
2705
|
|
|
2643
2706
|
override async roomMemberRawPayloadParser (payload: PUPPET.payloads.RoomMember): Promise<PUPPET.payloads.RoomMember> {
|
|
2644
|
-
// log.silly('PuppetService', 'roomMemberRawPayloadParser({id:%s})', payload.id)
|
|
2707
|
+
// this.log.silly('PuppetService', 'roomMemberRawPayloadParser({id:%s})', payload.id)
|
|
2645
2708
|
// passthrough
|
|
2646
2709
|
return payload
|
|
2647
2710
|
}
|
|
2648
2711
|
|
|
2649
2712
|
override async batchRoomMemberRawPayload (roomId: string, contactIdList: string[]): Promise<Map<string, PUPPET.payloads.RoomMember>> {
|
|
2650
|
-
log.verbose('PuppetService', 'batchRoomMemberRawPayload(%s, %s)', roomId, contactIdList)
|
|
2713
|
+
this.log.verbose('PuppetService', 'batchRoomMemberRawPayload(%s, %s)', roomId, contactIdList)
|
|
2651
2714
|
|
|
2652
2715
|
const result = new Map<string, PUPPET.payloads.RoomMember>()
|
|
2653
2716
|
const contactIdSet = new Set<string>(contactIdList)
|
|
@@ -2686,7 +2749,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2686
2749
|
}
|
|
2687
2750
|
await this._payloadStore.roomMember?.set(roomId, cachedPayload)
|
|
2688
2751
|
} catch (e) {
|
|
2689
|
-
log.error('PuppetService', 'batchRoomMemberRawPayload(%s, %s) error: %s, use one by one method', roomId, needGetSet, e)
|
|
2752
|
+
this.log.error('PuppetService', 'batchRoomMemberRawPayload(%s, %s) error: %s, use one by one method', roomId, needGetSet, e)
|
|
2690
2753
|
for (const contactId of needGetSet) {
|
|
2691
2754
|
const payload = await this.roomMemberRawPayload(roomId, contactId)
|
|
2692
2755
|
result.set(contactId, payload)
|
|
@@ -2700,7 +2763,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2700
2763
|
override async roomAnnounce (roomId: string, text: string) : Promise<void>
|
|
2701
2764
|
|
|
2702
2765
|
override async roomAnnounce (roomId: string, text?: string) : Promise<void | string> {
|
|
2703
|
-
log.verbose('PuppetService', 'roomAnnounce(%s%s)',
|
|
2766
|
+
this.log.verbose('PuppetService', 'roomAnnounce(%s%s)',
|
|
2704
2767
|
roomId,
|
|
2705
2768
|
typeof text === 'undefined'
|
|
2706
2769
|
? ''
|
|
@@ -2760,7 +2823,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2760
2823
|
override async roomInvitationAccept (
|
|
2761
2824
|
roomInvitationId: string,
|
|
2762
2825
|
): Promise<void> {
|
|
2763
|
-
log.verbose('PuppetService', 'roomInvitationAccept(%s)', roomInvitationId)
|
|
2826
|
+
this.log.verbose('PuppetService', 'roomInvitationAccept(%s)', roomInvitationId)
|
|
2764
2827
|
|
|
2765
2828
|
const request = new grpcPuppet.RoomInvitationAcceptRequest()
|
|
2766
2829
|
request.setId(roomInvitationId)
|
|
@@ -2774,7 +2837,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2774
2837
|
override async roomInvitationAcceptByQRCode (
|
|
2775
2838
|
qrcode: string,
|
|
2776
2839
|
): Promise<PUPPET.types.RoomInvitationAcceptByQRCode> {
|
|
2777
|
-
log.verbose('PuppetService', 'roomInvitationAcceptByQRCode(%s)', qrcode)
|
|
2840
|
+
this.log.verbose('PuppetService', 'roomInvitationAcceptByQRCode(%s)', qrcode)
|
|
2778
2841
|
|
|
2779
2842
|
const request = new grpcPuppet.RoomInvitationAcceptByQRCodeRequest()
|
|
2780
2843
|
request.setQrcode(qrcode)
|
|
@@ -2793,7 +2856,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2793
2856
|
override async roomInvitationRawPayload (
|
|
2794
2857
|
id: string,
|
|
2795
2858
|
): Promise<PUPPET.payloads.RoomInvitation> {
|
|
2796
|
-
log.verbose('PuppetService', 'roomInvitationRawPayload(%s)', id)
|
|
2859
|
+
this.log.verbose('PuppetService', 'roomInvitationRawPayload(%s)', id)
|
|
2797
2860
|
|
|
2798
2861
|
const request = new grpcPuppet.RoomInvitationPayloadRequest()
|
|
2799
2862
|
request.setId(id)
|
|
@@ -2838,13 +2901,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2838
2901
|
}
|
|
2839
2902
|
|
|
2840
2903
|
override async roomInvitationRawPayloadParser (payload: PUPPET.payloads.RoomInvitation): Promise<PUPPET.payloads.RoomInvitation> {
|
|
2841
|
-
// log.silly('PuppetService', 'roomInvitationRawPayloadParser({id:%s})', payload.id)
|
|
2904
|
+
// this.log.silly('PuppetService', 'roomInvitationRawPayloadParser({id:%s})', payload.id)
|
|
2842
2905
|
// passthrough
|
|
2843
2906
|
return payload
|
|
2844
2907
|
}
|
|
2845
2908
|
|
|
2846
2909
|
override async roomPermission (roomId: string, permission?: Partial<PUPPET.types.RoomPermission>): Promise<void | Partial<PUPPET.types.RoomPermission>> {
|
|
2847
|
-
log.verbose('PuppetService', 'roomPermission(%s, %s)', roomId, JSON.stringify(permission))
|
|
2910
|
+
this.log.verbose('PuppetService', 'roomPermission(%s, %s)', roomId, JSON.stringify(permission))
|
|
2848
2911
|
|
|
2849
2912
|
const request = new grpcPuppet.RoomPermissionRequest()
|
|
2850
2913
|
request.setId(roomId)
|
|
@@ -2879,7 +2942,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2879
2942
|
}
|
|
2880
2943
|
|
|
2881
2944
|
override async roomOwnerTransfer (roomId: string, contactId: string): Promise<void> {
|
|
2882
|
-
log.verbose('PuppetService', 'roomOwnerTransfer(%s, %s)', roomId, contactId)
|
|
2945
|
+
this.log.verbose('PuppetService', 'roomOwnerTransfer(%s, %s)', roomId, contactId)
|
|
2883
2946
|
|
|
2884
2947
|
const request = new grpcPuppet.RoomOwnerTransferRequest()
|
|
2885
2948
|
request.setId(roomId)
|
|
@@ -2895,7 +2958,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2895
2958
|
roomId : string,
|
|
2896
2959
|
contactIdList : string[],
|
|
2897
2960
|
): Promise<void> {
|
|
2898
|
-
log.verbose('PuppetService', 'roomAddAdmins(%s, %s)', roomId, contactIdList)
|
|
2961
|
+
this.log.verbose('PuppetService', 'roomAddAdmins(%s, %s)', roomId, contactIdList)
|
|
2899
2962
|
|
|
2900
2963
|
const request = new grpcPuppet.RoomAdminsRequest()
|
|
2901
2964
|
request.setId(roomId)
|
|
@@ -2911,7 +2974,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2911
2974
|
roomId : string,
|
|
2912
2975
|
contactIdList : string[],
|
|
2913
2976
|
): Promise<void> {
|
|
2914
|
-
log.verbose('PuppetService', 'roomDelAdmins(%s, %s)', roomId, contactIdList)
|
|
2977
|
+
this.log.verbose('PuppetService', 'roomDelAdmins(%s, %s)', roomId, contactIdList)
|
|
2915
2978
|
|
|
2916
2979
|
const request = new grpcPuppet.RoomAdminsRequest()
|
|
2917
2980
|
request.setId(roomId)
|
|
@@ -2924,7 +2987,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2924
2987
|
}
|
|
2925
2988
|
|
|
2926
2989
|
override async roomDismiss (roomId: string): Promise<void> {
|
|
2927
|
-
log.verbose('PuppetService', 'roomDelAdmins(%s)', roomId)
|
|
2990
|
+
this.log.verbose('PuppetService', 'roomDelAdmins(%s)', roomId)
|
|
2928
2991
|
|
|
2929
2992
|
const request = new grpcPuppet.RoomDismissRequest()
|
|
2930
2993
|
request.setId(roomId)
|
|
@@ -2944,7 +3007,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2944
3007
|
phone: string,
|
|
2945
3008
|
type?: Contact,
|
|
2946
3009
|
): Promise<string | null> {
|
|
2947
|
-
log.verbose('PuppetService', 'friendshipSearchPhone(%s)', phone)
|
|
3010
|
+
this.log.verbose('PuppetService', 'friendshipSearchPhone(%s)', phone)
|
|
2948
3011
|
|
|
2949
3012
|
const request = new grpcPuppet.FriendshipSearchPhoneRequest()
|
|
2950
3013
|
request.setPhone(phone)
|
|
@@ -2980,7 +3043,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2980
3043
|
handle: string,
|
|
2981
3044
|
type?: Contact,
|
|
2982
3045
|
): Promise<string | null> {
|
|
2983
|
-
log.verbose('PuppetService', 'friendshipSearchHandle(%s)', handle)
|
|
3046
|
+
this.log.verbose('PuppetService', 'friendshipSearchHandle(%s)', handle)
|
|
2984
3047
|
|
|
2985
3048
|
const request = new grpcPuppet.FriendshipSearchHandleRequest()
|
|
2986
3049
|
/**
|
|
@@ -3016,7 +3079,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3016
3079
|
}
|
|
3017
3080
|
|
|
3018
3081
|
override async friendshipRawPayload (id: string): Promise<PUPPET.payloads.Friendship> {
|
|
3019
|
-
log.verbose('PuppetService', 'friendshipRawPayload(%s)', id)
|
|
3082
|
+
this.log.verbose('PuppetService', 'friendshipRawPayload(%s)', id)
|
|
3020
3083
|
|
|
3021
3084
|
const request = new grpcPuppet.FriendshipPayloadRequest()
|
|
3022
3085
|
request.setId(id)
|
|
@@ -3040,7 +3103,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3040
3103
|
}
|
|
3041
3104
|
|
|
3042
3105
|
override async friendshipRawPayloadParser (payload: PUPPET.payloads.Friendship) : Promise<PUPPET.payloads.Friendship> {
|
|
3043
|
-
// log.silly('PuppetService', 'friendshipRawPayloadParser({id:%s})', payload.id)
|
|
3106
|
+
// this.log.silly('PuppetService', 'friendshipRawPayloadParser({id:%s})', payload.id)
|
|
3044
3107
|
// passthrough
|
|
3045
3108
|
return payload
|
|
3046
3109
|
}
|
|
@@ -3049,7 +3112,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3049
3112
|
contactId : string,
|
|
3050
3113
|
options : PUPPET.types.FriendshipAddOptions,
|
|
3051
3114
|
): Promise<void> {
|
|
3052
|
-
log.verbose('PuppetService', 'friendshipAdd(%s, %s)', contactId, JSON.stringify(options))
|
|
3115
|
+
this.log.verbose('PuppetService', 'friendshipAdd(%s, %s)', contactId, JSON.stringify(options))
|
|
3053
3116
|
|
|
3054
3117
|
const request = new grpcPuppet.FriendshipAddRequest()
|
|
3055
3118
|
request.setContactId(contactId)
|
|
@@ -3085,7 +3148,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3085
3148
|
override async friendshipAccept (
|
|
3086
3149
|
friendshipId : string,
|
|
3087
3150
|
): Promise<void> {
|
|
3088
|
-
log.verbose('PuppetService', 'friendshipAccept(%s)', friendshipId)
|
|
3151
|
+
this.log.verbose('PuppetService', 'friendshipAccept(%s)', friendshipId)
|
|
3089
3152
|
|
|
3090
3153
|
const request = new grpcPuppet.FriendshipAcceptRequest()
|
|
3091
3154
|
request.setId(friendshipId)
|
|
@@ -3106,7 +3169,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3106
3169
|
tagIds: string[],
|
|
3107
3170
|
contactIds: string[],
|
|
3108
3171
|
): Promise<void> {
|
|
3109
|
-
log.verbose('PuppetService', 'tagContactTagAdd(%s, %s)', tagIds, contactIds)
|
|
3172
|
+
this.log.verbose('PuppetService', 'tagContactTagAdd(%s, %s)', tagIds, contactIds)
|
|
3110
3173
|
|
|
3111
3174
|
const request = new grpcPuppet.TagContactTagAddRequest()
|
|
3112
3175
|
|
|
@@ -3123,7 +3186,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3123
3186
|
tagIds: string[],
|
|
3124
3187
|
contactIds: string[],
|
|
3125
3188
|
): Promise<void> {
|
|
3126
|
-
log.verbose('PuppetService', 'tagContactTagRemove(%s, %s)', tagIds, contactIds)
|
|
3189
|
+
this.log.verbose('PuppetService', 'tagContactTagRemove(%s, %s)', tagIds, contactIds)
|
|
3127
3190
|
|
|
3128
3191
|
const request = new grpcPuppet.TagContactTagRemoveRequest()
|
|
3129
3192
|
|
|
@@ -3139,7 +3202,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3139
3202
|
override async tagGroupAdd (
|
|
3140
3203
|
tagGroupName: string,
|
|
3141
3204
|
): Promise<string | void> {
|
|
3142
|
-
log.verbose('PuppetService', 'tagGroupAdd(%s)', tagGroupName)
|
|
3205
|
+
this.log.verbose('PuppetService', 'tagGroupAdd(%s)', tagGroupName)
|
|
3143
3206
|
|
|
3144
3207
|
const request = new grpcPuppet.TagGroupAddRequest()
|
|
3145
3208
|
|
|
@@ -3158,7 +3221,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3158
3221
|
override async tagGroupDelete (
|
|
3159
3222
|
tagGroupId: string,
|
|
3160
3223
|
): Promise<void> {
|
|
3161
|
-
log.verbose('PuppetService', 'tagGroupDelete(%s)', tagGroupId)
|
|
3224
|
+
this.log.verbose('PuppetService', 'tagGroupDelete(%s)', tagGroupId)
|
|
3162
3225
|
|
|
3163
3226
|
const request = new grpcPuppet.TagGroupDeleteRequest()
|
|
3164
3227
|
|
|
@@ -3175,7 +3238,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3175
3238
|
tagNameList: string[],
|
|
3176
3239
|
tagGroupId?: string,
|
|
3177
3240
|
): Promise<PUPPET.types.TagInfo[] | void> {
|
|
3178
|
-
log.verbose('PuppetService', 'tagTagAdd(%s, %s)', tagNameList, tagGroupId)
|
|
3241
|
+
this.log.verbose('PuppetService', 'tagTagAdd(%s, %s)', tagNameList, tagGroupId)
|
|
3179
3242
|
|
|
3180
3243
|
const request = new grpcPuppet.TagTagAddRequest()
|
|
3181
3244
|
|
|
@@ -3200,7 +3263,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3200
3263
|
override async tagTagDelete (
|
|
3201
3264
|
tagIdList: string[],
|
|
3202
3265
|
): Promise<void> {
|
|
3203
|
-
log.verbose('PuppetService', 'tagTagDelete(%s)', tagIdList)
|
|
3266
|
+
this.log.verbose('PuppetService', 'tagTagDelete(%s)', tagIdList)
|
|
3204
3267
|
|
|
3205
3268
|
const request = new grpcPuppet.TagTagDeleteRequest()
|
|
3206
3269
|
request.setTagIdList(tagIdList)
|
|
@@ -3215,7 +3278,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3215
3278
|
override async tagTagModify (
|
|
3216
3279
|
tagNewInfoList: PUPPET.types.TagInfo[],
|
|
3217
3280
|
): Promise<PUPPET.types.TagInfo[] | void> {
|
|
3218
|
-
log.verbose('PuppetService', 'tagTagModify(%o)', tagNewInfoList)
|
|
3281
|
+
this.log.verbose('PuppetService', 'tagTagModify(%o)', tagNewInfoList)
|
|
3219
3282
|
|
|
3220
3283
|
const request = new grpcPuppet.TagTagModifyRequest()
|
|
3221
3284
|
const newInfoList = tagNewInfoList.map(i => {
|
|
@@ -3240,7 +3303,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3240
3303
|
}
|
|
3241
3304
|
|
|
3242
3305
|
override async tagGroupList (): Promise<string[]> {
|
|
3243
|
-
log.verbose('PuppetService', 'tagGroupList()')
|
|
3306
|
+
this.log.verbose('PuppetService', 'tagGroupList()')
|
|
3244
3307
|
|
|
3245
3308
|
const request = new grpcPuppet.TagGroupListRequest()
|
|
3246
3309
|
|
|
@@ -3256,7 +3319,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3256
3319
|
override async tagGroupTagList (
|
|
3257
3320
|
tagGroupId?: string,
|
|
3258
3321
|
): Promise<string[]> {
|
|
3259
|
-
log.verbose('PuppetService', 'tagGroupTagList(%s)', tagGroupId)
|
|
3322
|
+
this.log.verbose('PuppetService', 'tagGroupTagList(%s)', tagGroupId)
|
|
3260
3323
|
|
|
3261
3324
|
const request = new grpcPuppet.TagGroupTagListRequest()
|
|
3262
3325
|
if (typeof tagGroupId !== 'undefined') {
|
|
@@ -3274,7 +3337,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3274
3337
|
|
|
3275
3338
|
override async tagTagList (
|
|
3276
3339
|
): Promise<string[]> {
|
|
3277
|
-
log.verbose('PuppetService', 'tagTagList()')
|
|
3340
|
+
this.log.verbose('PuppetService', 'tagTagList()')
|
|
3278
3341
|
|
|
3279
3342
|
const request = new grpcPuppet.TagTagListRequest()
|
|
3280
3343
|
|
|
@@ -3290,7 +3353,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3290
3353
|
override async tagContactTagList (
|
|
3291
3354
|
contactId: string,
|
|
3292
3355
|
): Promise<string[]> {
|
|
3293
|
-
log.verbose('PuppetService', 'tagContactTagList(%s)', contactId)
|
|
3356
|
+
this.log.verbose('PuppetService', 'tagContactTagList(%s)', contactId)
|
|
3294
3357
|
|
|
3295
3358
|
const request = new grpcPuppet.TagContactTagListRequest()
|
|
3296
3359
|
request.setContactId(contactId)
|
|
@@ -3307,7 +3370,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3307
3370
|
override async tagTagContactList (
|
|
3308
3371
|
tagId: string,
|
|
3309
3372
|
): Promise<string[]> {
|
|
3310
|
-
log.verbose('PuppetService', 'tagTagContactList(%s)', tagId)
|
|
3373
|
+
this.log.verbose('PuppetService', 'tagTagContactList(%s)', tagId)
|
|
3311
3374
|
|
|
3312
3375
|
const request = new grpcPuppet.TagTagContactListRequest()
|
|
3313
3376
|
request.setTagId(tagId)
|
|
@@ -3322,11 +3385,11 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3322
3385
|
}
|
|
3323
3386
|
|
|
3324
3387
|
override async tagGroupPayloadPuppet (id: string): Promise<PUPPET.payloads.TagGroup> {
|
|
3325
|
-
log.verbose('PuppetService', 'tagGroupPayload(%s)', id)
|
|
3388
|
+
this.log.verbose('PuppetService', 'tagGroupPayload(%s)', id)
|
|
3326
3389
|
|
|
3327
3390
|
const cachedPayload = await this._payloadStore.tagGroup?.get(id)
|
|
3328
3391
|
if (cachedPayload) {
|
|
3329
|
-
log.silly('PuppetService', 'tagGroupPayload(%s) cache HIT', id)
|
|
3392
|
+
this.log.silly('PuppetService', 'tagGroupPayload(%s) cache HIT', id)
|
|
3330
3393
|
return cachedPayload
|
|
3331
3394
|
}
|
|
3332
3395
|
|
|
@@ -3350,17 +3413,17 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3350
3413
|
}
|
|
3351
3414
|
|
|
3352
3415
|
await this._payloadStore.tagGroup?.set(id, payload)
|
|
3353
|
-
log.silly('PuppetService', 'tagGroupPayloadPuppet(%s) cache SET', id)
|
|
3416
|
+
this.log.silly('PuppetService', 'tagGroupPayloadPuppet(%s) cache SET', id)
|
|
3354
3417
|
|
|
3355
3418
|
return payload
|
|
3356
3419
|
}
|
|
3357
3420
|
|
|
3358
3421
|
override async tagPayloadPuppet (tagId: string): Promise<PUPPET.payloads.Tag> {
|
|
3359
|
-
log.verbose('PuppetService', 'tagPayloadPuppet(%s)', tagId)
|
|
3422
|
+
this.log.verbose('PuppetService', 'tagPayloadPuppet(%s)', tagId)
|
|
3360
3423
|
|
|
3361
3424
|
const cachedPayload = await this._payloadStore.tag?.get(tagId)
|
|
3362
3425
|
if (cachedPayload) {
|
|
3363
|
-
log.silly('PuppetService', 'tagPayloadPuppet(%s) cache HIT', tagId)
|
|
3426
|
+
this.log.silly('PuppetService', 'tagPayloadPuppet(%s) cache HIT', tagId)
|
|
3364
3427
|
return cachedPayload
|
|
3365
3428
|
}
|
|
3366
3429
|
|
|
@@ -3385,7 +3448,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3385
3448
|
}
|
|
3386
3449
|
|
|
3387
3450
|
await this._payloadStore.tag?.set(tagId, payload)
|
|
3388
|
-
log.silly('PuppetService', 'tagPayloadPuppet(%s) cache SET', tagId)
|
|
3451
|
+
this.log.silly('PuppetService', 'tagPayloadPuppet(%s) cache SET', tagId)
|
|
3389
3452
|
|
|
3390
3453
|
return payload
|
|
3391
3454
|
}
|
|
@@ -3397,7 +3460,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3397
3460
|
*/
|
|
3398
3461
|
|
|
3399
3462
|
override async postPublish (payload: PUPPET.payloads.Post): Promise<void | string> {
|
|
3400
|
-
log.verbose('PuppetService', 'postPublish(%s)', payload)
|
|
3463
|
+
this.log.verbose('PuppetService', 'postPublish(%s)', payload)
|
|
3401
3464
|
|
|
3402
3465
|
if (!PUPPET.payloads.isPostClient(payload)) {
|
|
3403
3466
|
throw new Error('can only publish client post now')
|
|
@@ -3417,7 +3480,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3417
3480
|
}
|
|
3418
3481
|
|
|
3419
3482
|
override async postUnpublish (id: string): Promise<void> {
|
|
3420
|
-
log.verbose('PuppetService', 'postUnpublish(%s)', id)
|
|
3483
|
+
this.log.verbose('PuppetService', 'postUnpublish(%s)', id)
|
|
3421
3484
|
|
|
3422
3485
|
const request = new grpcPuppet.MomentUnpublishRequest()
|
|
3423
3486
|
request.setMomentId(id)
|
|
@@ -3428,7 +3491,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3428
3491
|
}
|
|
3429
3492
|
|
|
3430
3493
|
override async momentSignature (text?: string): Promise<void | string> {
|
|
3431
|
-
log.verbose('PuppetService', 'momentSignature(%s)', text)
|
|
3494
|
+
this.log.verbose('PuppetService', 'momentSignature(%s)', text)
|
|
3432
3495
|
|
|
3433
3496
|
const request = new grpcPuppet.MomentSignatureRequest()
|
|
3434
3497
|
if (text) {
|
|
@@ -3446,7 +3509,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3446
3509
|
}
|
|
3447
3510
|
|
|
3448
3511
|
override async momentCoverage (cover?: FileBoxInterface | undefined): Promise<void | FileBoxInterface> {
|
|
3449
|
-
log.verbose('PuppetService', 'momentCoverage(%s)', JSON.stringify(cover))
|
|
3512
|
+
this.log.verbose('PuppetService', 'momentCoverage(%s)', JSON.stringify(cover))
|
|
3450
3513
|
|
|
3451
3514
|
const request = new grpcPuppet.MomentCoverageRequest()
|
|
3452
3515
|
if (cover) {
|
|
@@ -3466,7 +3529,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3466
3529
|
}
|
|
3467
3530
|
|
|
3468
3531
|
override async postPayloadSayable (postId: string, sayableId: string): Promise<PUPPET.payloads.Sayable> {
|
|
3469
|
-
log.verbose('PuppetService', 'postPayloadSayable(%s, %s)', postId, sayableId)
|
|
3532
|
+
this.log.verbose('PuppetService', 'postPayloadSayable(%s, %s)', postId, sayableId)
|
|
3470
3533
|
|
|
3471
3534
|
const request = new grpcPuppet.PostPayloadSayableRequest()
|
|
3472
3535
|
request.setPostId(postId)
|
|
@@ -3524,7 +3587,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3524
3587
|
}
|
|
3525
3588
|
|
|
3526
3589
|
override async postRawPayload (id: string): Promise<PUPPET.payloads.Post> {
|
|
3527
|
-
log.verbose('PuppetService', 'postRawPayload(%s)', id)
|
|
3590
|
+
this.log.verbose('PuppetService', 'postRawPayload(%s)', id)
|
|
3528
3591
|
|
|
3529
3592
|
const request = new grpcPuppet.PostPayloadRequest()
|
|
3530
3593
|
request.setPostId(id)
|
|
@@ -3575,13 +3638,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3575
3638
|
}
|
|
3576
3639
|
|
|
3577
3640
|
override async postRawPayloadParser (payload: PUPPET.payloads.Post): Promise<PUPPET.payloads.Post> {
|
|
3578
|
-
// log.silly('PuppetService', 'postRawPayloadParser({id:%s})', payload.id)
|
|
3641
|
+
// this.log.silly('PuppetService', 'postRawPayloadParser({id:%s})', payload.id)
|
|
3579
3642
|
// passthrough
|
|
3580
3643
|
return payload
|
|
3581
3644
|
}
|
|
3582
3645
|
|
|
3583
3646
|
override async tap (postId: string, type?: PUPPET.types.Tap, tap = true): Promise<boolean | void> {
|
|
3584
|
-
log.verbose('PuppetService', 'tap(%s, %s, %s)', postId, type, tap)
|
|
3647
|
+
this.log.verbose('PuppetService', 'tap(%s, %s, %s)', postId, type, tap)
|
|
3585
3648
|
|
|
3586
3649
|
const request = new grpcPuppet.PostTapRequest()
|
|
3587
3650
|
request.setPostId(postId)
|
|
@@ -3599,7 +3662,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3599
3662
|
}
|
|
3600
3663
|
|
|
3601
3664
|
override async momentVisibleList (): Promise<string[]> {
|
|
3602
|
-
log.verbose('PuppetService', 'momentVisibleList()')
|
|
3665
|
+
this.log.verbose('PuppetService', 'momentVisibleList()')
|
|
3603
3666
|
|
|
3604
3667
|
const request = new grpcPuppet.MomentVisibleListRequest()
|
|
3605
3668
|
|
|
@@ -3616,7 +3679,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3616
3679
|
contactIds: string[],
|
|
3617
3680
|
serviceProviderId?: string,
|
|
3618
3681
|
): Promise<PUPPET.types.ContactIdExternalUserIdPair[]> {
|
|
3619
|
-
log.verbose('PuppetService', 'getContactExternalUserId(%s, %s)', JSON.stringify(contactIds), serviceProviderId)
|
|
3682
|
+
this.log.verbose('PuppetService', 'getContactExternalUserId(%s, %s)', JSON.stringify(contactIds), serviceProviderId)
|
|
3620
3683
|
|
|
3621
3684
|
const request = new grpcPuppet.GetContactExternalUserIdRequest()
|
|
3622
3685
|
|
|
@@ -3641,7 +3704,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3641
3704
|
}
|
|
3642
3705
|
|
|
3643
3706
|
override async getRoomAntiSpamStrategyList (): Promise<PUPPET.types.RoomAntiSpamStrategy[]> {
|
|
3644
|
-
log.verbose('PuppetService', 'getRoomAntiSpamStrategyList()')
|
|
3707
|
+
this.log.verbose('PuppetService', 'getRoomAntiSpamStrategyList()')
|
|
3645
3708
|
|
|
3646
3709
|
const request = new grpcPuppet.GetRoomAntiSpamStrategyListRequest()
|
|
3647
3710
|
|
|
@@ -3663,7 +3726,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3663
3726
|
}
|
|
3664
3727
|
|
|
3665
3728
|
override async getRoomAntiSpamStrategyEffectRoomList (strategyId: string): Promise<string[]> {
|
|
3666
|
-
log.verbose('PuppetService', 'getRoomAntiSpamStrategyEffectRoomList(%s)', strategyId)
|
|
3729
|
+
this.log.verbose('PuppetService', 'getRoomAntiSpamStrategyEffectRoomList(%s)', strategyId)
|
|
3667
3730
|
|
|
3668
3731
|
const request = new grpcPuppet.GetRoomAntiSpamStrategyEffectRoomListRequest()
|
|
3669
3732
|
request.setStrategyId(strategyId)
|
|
@@ -3678,7 +3741,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3678
3741
|
}
|
|
3679
3742
|
|
|
3680
3743
|
override async applyRoomAntiSpamStrategy (strategyId: string, roomIds: string[], active: boolean): Promise<void> {
|
|
3681
|
-
log.verbose('PuppetService', 'applyRoomAntiSpamStrategy(%s, %s, %s)', strategyId, roomIds, active)
|
|
3744
|
+
this.log.verbose('PuppetService', 'applyRoomAntiSpamStrategy(%s, %s, %s)', strategyId, roomIds, active)
|
|
3682
3745
|
|
|
3683
3746
|
const request = new grpcPuppet.ApplyRoomAntiSpamStrategyRequest()
|
|
3684
3747
|
request.setStrategyId(strategyId)
|
|
@@ -3691,7 +3754,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3691
3754
|
}
|
|
3692
3755
|
|
|
3693
3756
|
override async getCorpMessageInterceptionStrategies (): Promise<PUPPET.types.CorpMessageInterceptionStrategy[]> {
|
|
3694
|
-
log.verbose('PuppetService', 'getCorpMessageInterceptionStrategies()')
|
|
3757
|
+
this.log.verbose('PuppetService', 'getCorpMessageInterceptionStrategies()')
|
|
3695
3758
|
|
|
3696
3759
|
const request = new grpcPuppet.GetCorpMessageInterceptionStrategiesRequest()
|
|
3697
3760
|
|
|
@@ -3735,17 +3798,17 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3735
3798
|
private reconnectIndicator: BooleanIndicator
|
|
3736
3799
|
override async reset (): Promise<void> {
|
|
3737
3800
|
if (!this._grpcManager) {
|
|
3738
|
-
log.warn('PuppetService', 'grpc manager not constructed, perform regular reset')
|
|
3801
|
+
this.log.warn('PuppetService', 'grpc manager not constructed, perform regular reset')
|
|
3739
3802
|
return super.reset()
|
|
3740
3803
|
}
|
|
3741
3804
|
|
|
3742
3805
|
if (!this.isLoggedIn) {
|
|
3743
|
-
log.warn('PuppetService', 'puppet not logged in, perform regular reset')
|
|
3806
|
+
this.log.warn('PuppetService', 'puppet not logged in, perform regular reset')
|
|
3744
3807
|
return super.reset()
|
|
3745
3808
|
}
|
|
3746
3809
|
|
|
3747
3810
|
if (this.reconnectIndicator.value()) {
|
|
3748
|
-
log.warn('PuppetService', 'already trying to reconnect, pass this one')
|
|
3811
|
+
this.log.warn('PuppetService', 'already trying to reconnect, pass this one')
|
|
3749
3812
|
return
|
|
3750
3813
|
}
|
|
3751
3814
|
|
|
@@ -3799,12 +3862,12 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3799
3862
|
break
|
|
3800
3863
|
} catch (e) {
|
|
3801
3864
|
if (Date.now() - startTime < timeoutMilliseconds) {
|
|
3802
|
-
log.warn('failed to start stream, will try again in 15 seconds')
|
|
3865
|
+
this.log.warn('failed to start stream, will try again in 15 seconds')
|
|
3803
3866
|
await new Promise(resolve => {
|
|
3804
3867
|
setTimeout(resolve, 5000)
|
|
3805
3868
|
})
|
|
3806
3869
|
} else {
|
|
3807
|
-
log.warn('failed to start stream and reaches timeout, will perform regular reset')
|
|
3870
|
+
this.log.warn('failed to start stream and reaches timeout, will perform regular reset')
|
|
3808
3871
|
this.reconnectIndicator.value(false)
|
|
3809
3872
|
return super.reset()
|
|
3810
3873
|
}
|
|
@@ -3822,7 +3885,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3822
3885
|
this.grpcManager.off('data', onLogin)
|
|
3823
3886
|
})
|
|
3824
3887
|
} catch (e) {
|
|
3825
|
-
log.warn('PuppetService', 'waiting for event reset login error, will perform regular reset')
|
|
3888
|
+
this.log.warn('PuppetService', 'waiting for event reset login error, will perform regular reset')
|
|
3826
3889
|
return super.reset()
|
|
3827
3890
|
}
|
|
3828
3891
|
try {
|
|
@@ -3832,7 +3895,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3832
3895
|
this.grpcManager.off('data', onReady)
|
|
3833
3896
|
})
|
|
3834
3897
|
} catch (e) {
|
|
3835
|
-
log.warn('PuppetService', 'waiting for event reset ready error, will do nothing')
|
|
3898
|
+
this.log.warn('PuppetService', 'waiting for event reset ready error, will do nothing')
|
|
3836
3899
|
}
|
|
3837
3900
|
}
|
|
3838
3901
|
|
|
@@ -3847,7 +3910,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
3847
3910
|
const lastEventTimestamp = await this._payloadStore.miscellaneous?.get('lastEventTimestamp')
|
|
3848
3911
|
let lastEventSeq = await this._payloadStore.miscellaneous?.get('lastEventSeq')
|
|
3849
3912
|
if ((Date.now() - Number(lastEventTimestamp || 0)) > this.timeoutMilliseconds) {
|
|
3850
|
-
log.warn(`last event was ${(Date.now() - Number(lastEventTimestamp || 0)) / 1000} seconds ago, will not request event cache`)
|
|
3913
|
+
this.log.warn(`last event was ${(Date.now() - Number(lastEventTimestamp || 0)) / 1000} seconds ago, will not request event cache`)
|
|
3851
3914
|
lastEventSeq = undefined
|
|
3852
3915
|
}
|
|
3853
3916
|
const accountId = await this._payloadStore.miscellaneous?.get('accountId')
|