@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.
Files changed (47) hide show
  1. package/dist/cjs/src/client/grpc-manager.d.ts +1 -0
  2. package/dist/cjs/src/client/grpc-manager.d.ts.map +1 -1
  3. package/dist/cjs/src/client/grpc-manager.js +49 -47
  4. package/dist/cjs/src/client/grpc-manager.js.map +1 -1
  5. package/dist/cjs/src/client/payload-store.d.ts +3 -0
  6. package/dist/cjs/src/client/payload-store.d.ts.map +1 -1
  7. package/dist/cjs/src/client/payload-store.js +8 -6
  8. package/dist/cjs/src/client/payload-store.js.map +1 -1
  9. package/dist/cjs/src/client/puppet-service.d.ts +14 -0
  10. package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
  11. package/dist/cjs/src/client/puppet-service.js +284 -219
  12. package/dist/cjs/src/client/puppet-service.js.map +1 -1
  13. package/dist/cjs/src/package-json.d.ts.map +1 -1
  14. package/dist/cjs/src/package-json.js +4 -3
  15. package/dist/cjs/src/package-json.js.map +1 -1
  16. package/dist/cjs/tests/fast-dirty-room-member.spec.js +123 -21
  17. package/dist/cjs/tests/fast-dirty-room-member.spec.js.map +1 -1
  18. package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
  19. package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
  20. package/dist/cjs/tests/grpc-stream-dirty-order.spec.js +135 -0
  21. package/dist/cjs/tests/grpc-stream-dirty-order.spec.js.map +1 -0
  22. package/dist/esm/src/client/grpc-manager.d.ts +1 -0
  23. package/dist/esm/src/client/grpc-manager.d.ts.map +1 -1
  24. package/dist/esm/src/client/grpc-manager.js +50 -48
  25. package/dist/esm/src/client/grpc-manager.js.map +1 -1
  26. package/dist/esm/src/client/payload-store.d.ts +3 -0
  27. package/dist/esm/src/client/payload-store.d.ts.map +1 -1
  28. package/dist/esm/src/client/payload-store.js +8 -6
  29. package/dist/esm/src/client/payload-store.js.map +1 -1
  30. package/dist/esm/src/client/puppet-service.d.ts +14 -0
  31. package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
  32. package/dist/esm/src/client/puppet-service.js +284 -219
  33. package/dist/esm/src/client/puppet-service.js.map +1 -1
  34. package/dist/esm/src/package-json.d.ts.map +1 -1
  35. package/dist/esm/src/package-json.js +4 -3
  36. package/dist/esm/src/package-json.js.map +1 -1
  37. package/dist/esm/tests/fast-dirty-room-member.spec.js +123 -21
  38. package/dist/esm/tests/fast-dirty-room-member.spec.js.map +1 -1
  39. package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
  40. package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
  41. package/dist/esm/tests/grpc-stream-dirty-order.spec.js +110 -0
  42. package/dist/esm/tests/grpc-stream-dirty-order.spec.js.map +1 -0
  43. package/package.json +4 -3
  44. package/src/client/grpc-manager.ts +54 -48
  45. package/src/client/payload-store.ts +13 -7
  46. package/src/client/puppet-service.ts +283 -220
  47. 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
- await this._payloadStore.roomMember?.delete(roomId)
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')