@juzi/wechaty-puppet-service 1.0.122 → 1.0.124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/client/grpc-manager.d.ts +1 -0
- package/dist/cjs/src/client/grpc-manager.d.ts.map +1 -1
- package/dist/cjs/src/client/grpc-manager.js +49 -47
- package/dist/cjs/src/client/grpc-manager.js.map +1 -1
- package/dist/cjs/src/client/payload-store.d.ts +3 -0
- package/dist/cjs/src/client/payload-store.d.ts.map +1 -1
- package/dist/cjs/src/client/payload-store.js +8 -6
- package/dist/cjs/src/client/payload-store.js.map +1 -1
- package/dist/cjs/src/client/puppet-service.d.ts +14 -0
- package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
- package/dist/cjs/src/client/puppet-service.js +284 -219
- package/dist/cjs/src/client/puppet-service.js.map +1 -1
- package/dist/cjs/src/package-json.d.ts.map +1 -1
- package/dist/cjs/src/package-json.js +4 -3
- package/dist/cjs/src/package-json.js.map +1 -1
- package/dist/cjs/tests/fast-dirty-room-member.spec.js +123 -21
- package/dist/cjs/tests/fast-dirty-room-member.spec.js.map +1 -1
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.js +135 -0
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.js.map +1 -0
- package/dist/esm/src/client/grpc-manager.d.ts +1 -0
- package/dist/esm/src/client/grpc-manager.d.ts.map +1 -1
- package/dist/esm/src/client/grpc-manager.js +50 -48
- package/dist/esm/src/client/grpc-manager.js.map +1 -1
- package/dist/esm/src/client/payload-store.d.ts +3 -0
- package/dist/esm/src/client/payload-store.d.ts.map +1 -1
- package/dist/esm/src/client/payload-store.js +8 -6
- package/dist/esm/src/client/payload-store.js.map +1 -1
- package/dist/esm/src/client/puppet-service.d.ts +14 -0
- package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
- package/dist/esm/src/client/puppet-service.js +284 -219
- package/dist/esm/src/client/puppet-service.js.map +1 -1
- package/dist/esm/src/package-json.d.ts.map +1 -1
- package/dist/esm/src/package-json.js +4 -3
- package/dist/esm/src/package-json.js.map +1 -1
- package/dist/esm/tests/fast-dirty-room-member.spec.js +123 -21
- package/dist/esm/tests/fast-dirty-room-member.spec.js.map +1 -1
- package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
- package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
- package/dist/esm/tests/grpc-stream-dirty-order.spec.js +110 -0
- package/dist/esm/tests/grpc-stream-dirty-order.spec.js.map +1 -0
- package/package.json +4 -3
- package/src/client/grpc-manager.ts +54 -48
- package/src/client/payload-store.ts +13 -7
- package/src/client/puppet-service.ts +283 -220
- package/src/package-json.ts +4 -3
|
@@ -47,6 +47,20 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
47
47
|
options;
|
|
48
48
|
static VERSION = VERSION;
|
|
49
49
|
_payloadStore;
|
|
50
|
+
/**
|
|
51
|
+
* Per-roomId serialization chain for RoomMember compound dirty events.
|
|
52
|
+
*
|
|
53
|
+
* The compound RoomMember handler is a `get → mutate → set` sequence
|
|
54
|
+
* across an async FlashStore. Two dirty events for the same roomId
|
|
55
|
+
* (e.g. member-A and member-B, arriving back-to-back) would otherwise
|
|
56
|
+
* both read the same snapshot and each write back with only their own
|
|
57
|
+
* key removed -- losing one of the deletes.
|
|
58
|
+
*
|
|
59
|
+
* Keyed by roomId, each entry chains the pending handler run so a
|
|
60
|
+
* follow-up dirty for the same room waits for the in-flight one to
|
|
61
|
+
* finish. Entries self-clean after their tail resolves.
|
|
62
|
+
*/
|
|
63
|
+
_roomMemberDirtyChain = new Map();
|
|
50
64
|
timeoutMilliseconds;
|
|
51
65
|
_grpcManager;
|
|
52
66
|
get grpcManager() {
|
|
@@ -67,6 +81,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
67
81
|
this.options = options;
|
|
68
82
|
this._payloadStore = new PayloadStore({
|
|
69
83
|
token: envVars.WECHATY_PUPPET_SERVICE_TOKEN(this.options.token),
|
|
84
|
+
logger: this.options.logger,
|
|
70
85
|
});
|
|
71
86
|
this.hookPayloadStore();
|
|
72
87
|
this.FileBoxUuid = uuidifyFileBoxGrpc(() => this.grpcManager.client);
|
|
@@ -96,77 +111,77 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
96
111
|
return packageJson.version || '0.0.0';
|
|
97
112
|
}
|
|
98
113
|
async onStart() {
|
|
99
|
-
log.verbose('PuppetService', 'onStart()');
|
|
114
|
+
this.log.verbose('PuppetService', 'onStart()');
|
|
100
115
|
this.waitingForLogin = false;
|
|
101
116
|
this.waitingForReady = false;
|
|
102
117
|
if (this._grpcManager) {
|
|
103
|
-
log.warn('PuppetService', 'onStart() found this.grpc is already existed. dropped.');
|
|
118
|
+
this.log.warn('PuppetService', 'onStart() found this.grpc is already existed. dropped.');
|
|
104
119
|
this._grpcManager = undefined;
|
|
105
120
|
}
|
|
106
|
-
log.info('PuppetService', 'start() instanciating GrpcManager ...');
|
|
121
|
+
this.log.info('PuppetService', 'start() instanciating GrpcManager ...');
|
|
107
122
|
const grpcManager = new GrpcManager(this.options);
|
|
108
|
-
log.info('PuppetService', 'start() instanciating GrpcManager ... done');
|
|
123
|
+
this.log.info('PuppetService', 'start() instanciating GrpcManager ... done');
|
|
109
124
|
/**
|
|
110
125
|
* Huan(202108): when we started the event stream,
|
|
111
126
|
* the `this.grpc` need to be available for all listeners.
|
|
112
127
|
*/
|
|
113
128
|
this._grpcManager = grpcManager;
|
|
114
|
-
log.info('PuppetService', 'start() setting up bridge grpc event stream ...');
|
|
129
|
+
this.log.info('PuppetService', 'start() setting up bridge grpc event stream ...');
|
|
115
130
|
this.bridgeGrpcEventStream(grpcManager);
|
|
116
|
-
log.info('PuppetService', 'start() setting up bridge grpc event stream ... done');
|
|
117
|
-
log.info('PuppetService', 'start() starting grpc manager...');
|
|
131
|
+
this.log.info('PuppetService', 'start() setting up bridge grpc event stream ... done');
|
|
132
|
+
this.log.info('PuppetService', 'start() starting grpc manager...');
|
|
118
133
|
const { lastEventSeq, accountId } = await this.getMiscellaneousStoreData();
|
|
119
134
|
await grpcManager.start(lastEventSeq, accountId);
|
|
120
|
-
log.info('PuppetService', 'start() starting grpc manager... done');
|
|
121
|
-
log.info('PuppetService', 'start healthCheck');
|
|
135
|
+
this.log.info('PuppetService', 'start() starting grpc manager... done');
|
|
136
|
+
this.log.info('PuppetService', 'start healthCheck');
|
|
122
137
|
this.startHealthCheck();
|
|
123
|
-
log.info('PuppetService', 'onStart() ... done');
|
|
138
|
+
this.log.info('PuppetService', 'onStart() ... done');
|
|
124
139
|
}
|
|
125
140
|
async onStop() {
|
|
126
|
-
log.info('PuppetService', 'onStop()');
|
|
141
|
+
this.log.info('PuppetService', 'onStop()');
|
|
127
142
|
if (this._grpcManager) {
|
|
128
|
-
log.info('PuppetService', 'onStop() stopping grpc manager ...');
|
|
143
|
+
this.log.info('PuppetService', 'onStop() stopping grpc manager ...');
|
|
129
144
|
const grpcManager = this._grpcManager;
|
|
130
145
|
this._grpcManager = undefined;
|
|
131
146
|
await grpcManager.stop();
|
|
132
|
-
log.info('PuppetService', 'onStop() stopping grpc manager ... done');
|
|
147
|
+
this.log.info('PuppetService', 'onStop() stopping grpc manager ... done');
|
|
133
148
|
}
|
|
134
|
-
log.info('PuppetService', 'onStop() ... done');
|
|
135
|
-
log.info('PuppetService', 'stop healthCheck');
|
|
149
|
+
this.log.info('PuppetService', 'onStop() ... done');
|
|
150
|
+
this.log.info('PuppetService', 'stop healthCheck');
|
|
136
151
|
this.stopHealthCheck();
|
|
137
152
|
}
|
|
138
153
|
hookPayloadStore() {
|
|
139
|
-
log.verbose('PuppetService', 'hookPayloadStore()');
|
|
154
|
+
this.log.verbose('PuppetService', 'hookPayloadStore()');
|
|
140
155
|
this.on('login', async ({ contactId }) => {
|
|
141
156
|
try {
|
|
142
|
-
log.verbose('PuppetService', 'hookPayloadStore() this.on(login) contactId: "%s"', contactId);
|
|
157
|
+
this.log.verbose('PuppetService', 'hookPayloadStore() this.on(login) contactId: "%s"', contactId);
|
|
143
158
|
await this._payloadStore.start(contactId);
|
|
144
159
|
}
|
|
145
160
|
catch (e) {
|
|
146
|
-
log.verbose('PuppetService', 'hookPayloadStore() this.on(login) rejection "%s"', e.message);
|
|
161
|
+
this.log.verbose('PuppetService', 'hookPayloadStore() this.on(login) rejection "%s"', e.message);
|
|
147
162
|
}
|
|
148
163
|
});
|
|
149
164
|
this.on('logout', async ({ contactId }) => {
|
|
150
|
-
log.verbose('PuppetService', 'hookPayloadStore() this.on(logout) contactId: "%s"', contactId);
|
|
165
|
+
this.log.verbose('PuppetService', 'hookPayloadStore() this.on(logout) contactId: "%s"', contactId);
|
|
151
166
|
try {
|
|
152
167
|
await this._payloadStore.stop();
|
|
153
168
|
}
|
|
154
169
|
catch (e) {
|
|
155
|
-
log.verbose('PuppetService', 'hookPayloadStore() this.on(logout) rejection "%s"', e.message);
|
|
170
|
+
this.log.verbose('PuppetService', 'hookPayloadStore() this.on(logout) rejection "%s"', e.message);
|
|
156
171
|
}
|
|
157
172
|
});
|
|
158
173
|
}
|
|
159
174
|
bridgeGrpcEventStream(client) {
|
|
160
|
-
log.verbose('PuppetService', 'bridgeGrpcEventStream(client)');
|
|
175
|
+
this.log.verbose('PuppetService', 'bridgeGrpcEventStream(client)');
|
|
161
176
|
client
|
|
162
177
|
.on('data', this.onGrpcStreamEvent.bind(this))
|
|
163
178
|
.on('end', () => {
|
|
164
|
-
log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(end)');
|
|
179
|
+
this.log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(end)');
|
|
165
180
|
})
|
|
166
181
|
.on('error', (e) => {
|
|
167
182
|
this.emit('error', e);
|
|
168
183
|
// https://github.com/wechaty/wechaty-puppet-service/issues/16
|
|
169
|
-
// log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(error) %s', e)
|
|
184
|
+
// this.log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(error) %s', e)
|
|
170
185
|
// const reason = 'bridgeGrpcEventStream() eventStream.on(error) ' + e
|
|
171
186
|
/**
|
|
172
187
|
* Huan(202110): simple reset puppet when grpc client has error? (or not?)
|
|
@@ -181,7 +196,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
181
196
|
// }
|
|
182
197
|
})
|
|
183
198
|
.on('cancel', (...args) => {
|
|
184
|
-
log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(cancel), %s', JSON.stringify(args));
|
|
199
|
+
this.log.verbose('PuppetService', 'bridgeGrpcEventStream() eventStream.on(cancel), %s', JSON.stringify(args));
|
|
185
200
|
});
|
|
186
201
|
}
|
|
187
202
|
async onGrpcStreamEvent(event) {
|
|
@@ -190,9 +205,9 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
190
205
|
const seq = event.getSeq();
|
|
191
206
|
const timestamp = String(Date.now());
|
|
192
207
|
if (!NO_LOG_EVENTS.includes(type)) {
|
|
193
|
-
log.info('PuppetService', `received grpc event ${EventTypeRev[type]} on ${new Date().toString()}, content: ${JSON.stringify(payload)}, seq: ${seq}, timestamp: ${timestamp}`);
|
|
208
|
+
this.log.info('PuppetService', `received grpc event ${EventTypeRev[type]} on ${new Date().toString()}, content: ${JSON.stringify(payload)}, seq: ${seq}, timestamp: ${timestamp}`);
|
|
194
209
|
}
|
|
195
|
-
log.silly('PuppetService', 'onGrpcStreamEvent({type:%s(%s), payload:"%s"})', EventTypeRev[type], type, payload);
|
|
210
|
+
this.log.silly('PuppetService', 'onGrpcStreamEvent({type:%s(%s), payload:"%s"})', EventTypeRev[type], type, payload);
|
|
196
211
|
if (type !== grpcPuppet.EventType.EVENT_TYPE_HEARTBEAT) {
|
|
197
212
|
this.emit('heartbeat', {
|
|
198
213
|
data: `onGrpcStreamEvent(${EventTypeRev[type]})`,
|
|
@@ -223,7 +238,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
223
238
|
case grpcPuppet.EventType.EVENT_TYPE_LOGIN:
|
|
224
239
|
{
|
|
225
240
|
if (this.waitingForLogin && this.isLoggedIn) {
|
|
226
|
-
log.warn('PuppetService', 'this login event is ignored because the it is expected by event stream reconnect and this puppet is already logged in');
|
|
241
|
+
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');
|
|
227
242
|
return;
|
|
228
243
|
}
|
|
229
244
|
const loginPayload = JSON.parse(payload);
|
|
@@ -236,7 +251,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
236
251
|
});
|
|
237
252
|
}
|
|
238
253
|
}
|
|
239
|
-
(async () => this.login(loginPayload.contactId))().catch(e => log.error('PuppetService', 'onGrpcStreamEvent() this.login() rejection %s', e.message));
|
|
254
|
+
(async () => this.login(loginPayload.contactId))().catch(e => this.log.error('PuppetService', 'onGrpcStreamEvent() this.login() rejection %s', e.message));
|
|
240
255
|
}
|
|
241
256
|
break;
|
|
242
257
|
case grpcPuppet.EventType.EVENT_TYPE_LOGOUT:
|
|
@@ -246,7 +261,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
246
261
|
await this.resetMiscellaneousStoreData();
|
|
247
262
|
}
|
|
248
263
|
;
|
|
249
|
-
(async () => this.logout(logoutPayload.data))().catch(e => log.error('PuppetService', 'onGrpcStreamEvent() this.logout() rejection %s', e.message));
|
|
264
|
+
(async () => this.logout(logoutPayload.data))().catch(e => this.log.error('PuppetService', 'onGrpcStreamEvent() this.logout() rejection %s', e.message));
|
|
250
265
|
}
|
|
251
266
|
break;
|
|
252
267
|
case grpcPuppet.EventType.EVENT_TYPE_DIRTY: {
|
|
@@ -269,7 +284,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
269
284
|
break;
|
|
270
285
|
case grpcPuppet.EventType.EVENT_TYPE_READY:
|
|
271
286
|
if (this.waitingForReady && this.readyIndicator.value()) {
|
|
272
|
-
log.warn('PuppetService', 'this ready event is ignored because the it is expected by event stream reconnect and this puppet is already ready');
|
|
287
|
+
this.log.warn('PuppetService', 'this ready event is ignored because the it is expected by event stream reconnect and this puppet is already ready');
|
|
273
288
|
return;
|
|
274
289
|
}
|
|
275
290
|
this.emit('ready', JSON.parse(payload));
|
|
@@ -299,14 +314,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
299
314
|
this.emit('tag-group', JSON.parse(payload));
|
|
300
315
|
break;
|
|
301
316
|
case grpcPuppet.EventType.EVENT_TYPE_RESET:
|
|
302
|
-
log.warn('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_RESET ?');
|
|
317
|
+
this.log.warn('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_RESET ?');
|
|
303
318
|
// the `reset` event should be dealed not send out
|
|
304
319
|
break;
|
|
305
320
|
case grpcPuppet.EventType.EVENT_TYPE_VERIFY_CODE:
|
|
306
321
|
this.emit('verify-code', JSON.parse(payload));
|
|
307
322
|
break;
|
|
308
323
|
case grpcPuppet.EventType.EVENT_TYPE_UNSPECIFIED:
|
|
309
|
-
log.error('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_UNSPECIFIED ?');
|
|
324
|
+
this.log.error('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_UNSPECIFIED ?');
|
|
310
325
|
break;
|
|
311
326
|
case grpcPuppet.EventType.EVENT_TYPE_VERIFY_SLIDE:
|
|
312
327
|
this.emit('verify-slide', JSON.parse(payload));
|
|
@@ -316,27 +331,27 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
316
331
|
break;
|
|
317
332
|
default:
|
|
318
333
|
// Huan(202003): in default, the `type` type should be `never`, please check.
|
|
319
|
-
log.error(`eventType ${type} unsupported! data: ${payload}`);
|
|
334
|
+
this.log.error(`eventType ${type} unsupported! data: ${payload}`);
|
|
320
335
|
}
|
|
321
336
|
}
|
|
322
337
|
async logout(reason) {
|
|
323
|
-
log.verbose('PuppetService', 'logout(%s)', reason ? `"${reason}"` : '');
|
|
338
|
+
this.log.verbose('PuppetService', 'logout(%s)', reason ? `"${reason}"` : '');
|
|
324
339
|
await super.logout(reason);
|
|
325
340
|
try {
|
|
326
341
|
await util.promisify(this.grpcManager.client.logout
|
|
327
342
|
.bind(this.grpcManager.client))(new grpcPuppet.LogoutRequest());
|
|
328
343
|
}
|
|
329
344
|
catch (e) {
|
|
330
|
-
log.silly('PuppetService', 'logout() no grpc client');
|
|
345
|
+
this.log.silly('PuppetService', 'logout() no grpc client');
|
|
331
346
|
}
|
|
332
347
|
}
|
|
333
348
|
ding(data) {
|
|
334
|
-
log.silly('PuppetService', 'ding(%s)', data);
|
|
349
|
+
this.log.silly('PuppetService', 'ding(%s)', data);
|
|
335
350
|
const request = new grpcPuppet.DingRequest();
|
|
336
351
|
request.setData(data || '');
|
|
337
352
|
this.grpcManager.client.ding(request, (error, _response) => {
|
|
338
353
|
if (error) {
|
|
339
|
-
log.error('PuppetService', 'ding() rejection: %s', error);
|
|
354
|
+
this.log.error('PuppetService', 'ding() rejection: %s', error);
|
|
340
355
|
}
|
|
341
356
|
});
|
|
342
357
|
}
|
|
@@ -349,7 +364,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
349
364
|
*
|
|
350
365
|
*/
|
|
351
366
|
async dirtyPayload(type, id) {
|
|
352
|
-
log.verbose('PuppetService', 'dirtyPayload(%s, %s)', type, id);
|
|
367
|
+
this.log.verbose('PuppetService', 'dirtyPayload(%s, %s)', type, id);
|
|
353
368
|
const request = new grpcPuppet.DirtyPayloadRequest();
|
|
354
369
|
request.setId(id);
|
|
355
370
|
request.setType(type);
|
|
@@ -358,7 +373,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
358
373
|
.bind(this.grpcManager.client))(request);
|
|
359
374
|
}
|
|
360
375
|
catch (e) {
|
|
361
|
-
log.error('PuppetService', 'dirtyPayload() rejection: %s', e && e.message);
|
|
376
|
+
this.log.error('PuppetService', 'dirtyPayload() rejection: %s', e && e.message);
|
|
362
377
|
throw e;
|
|
363
378
|
}
|
|
364
379
|
}
|
|
@@ -382,9 +397,55 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
382
397
|
[PUPPET.types.Dirty.Post]: async (_) => { },
|
|
383
398
|
[PUPPET.types.Dirty.Room]: async (id) => this._payloadStore.room?.delete(id),
|
|
384
399
|
[PUPPET.types.Dirty.RoomMember]: async (id) => {
|
|
385
|
-
const [roomId] = id.split(PUPPET.STRING_SPLITTER);
|
|
386
|
-
if (roomId) {
|
|
387
|
-
|
|
400
|
+
const [roomId, memberId] = id.split(PUPPET.STRING_SPLITTER);
|
|
401
|
+
if (!roomId) {
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
404
|
+
const store = this._payloadStore.roomMember;
|
|
405
|
+
if (!store) {
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
// Bare roomId: the whole member set is stale, drop the row.
|
|
409
|
+
// Row-level delete is idempotent so it does not need serialization.
|
|
410
|
+
if (memberId === undefined) {
|
|
411
|
+
await store.delete(roomId);
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
// Compound id: `get → mutate → set` is a read-modify-write across
|
|
415
|
+
// an async store. Serialize per roomId so two concurrent compound
|
|
416
|
+
// dirties don't each read the same snapshot and each drop only
|
|
417
|
+
// their own key -- which would lose one of the two deletes.
|
|
418
|
+
const previous = this._roomMemberDirtyChain.get(roomId) ?? Promise.resolve();
|
|
419
|
+
const next = (async () => {
|
|
420
|
+
// Swallow the previous link's rejection so a failure upstream
|
|
421
|
+
// does not silently skip our own mutation. The prior handler
|
|
422
|
+
// already reported its error via fastDirty()'s try/catch.
|
|
423
|
+
try {
|
|
424
|
+
await previous;
|
|
425
|
+
}
|
|
426
|
+
catch (_) { /* ignore, upstream already reported */ }
|
|
427
|
+
const current = await store.get(roomId);
|
|
428
|
+
if (!current || !Object.prototype.hasOwnProperty.call(current, memberId)) {
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
const { [memberId]: _drop, ...rest } = current;
|
|
432
|
+
if (Object.keys(rest).length === 0) {
|
|
433
|
+
await store.delete(roomId);
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
await store.set(roomId, rest);
|
|
437
|
+
}
|
|
438
|
+
})();
|
|
439
|
+
this._roomMemberDirtyChain.set(roomId, next);
|
|
440
|
+
try {
|
|
441
|
+
await next;
|
|
442
|
+
}
|
|
443
|
+
finally {
|
|
444
|
+
// Only clear the slot if we are still the tail; otherwise a
|
|
445
|
+
// later handler has already extended the chain and owns cleanup.
|
|
446
|
+
if (this._roomMemberDirtyChain.get(roomId) === next) {
|
|
447
|
+
this._roomMemberDirtyChain.delete(roomId);
|
|
448
|
+
}
|
|
388
449
|
}
|
|
389
450
|
},
|
|
390
451
|
[PUPPET.types.Dirty.Tag]: async (id) => this._payloadStore.tag?.delete(id),
|
|
@@ -394,7 +455,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
394
455
|
[PUPPET.types.Dirty.Call]: async (_) => { },
|
|
395
456
|
[PUPPET.types.Dirty.Unspecified]: async (id) => {
|
|
396
457
|
const msg = `fastDirty() received Unspecified dirty type (id=${id}); upstream puppet is leaking protobuf default — this is a server-side contract bug`;
|
|
397
|
-
log.error('PuppetService', msg);
|
|
458
|
+
this.log.error('PuppetService', msg);
|
|
398
459
|
this.emit('error', new Error(msg));
|
|
399
460
|
},
|
|
400
461
|
};
|
|
@@ -404,14 +465,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
404
465
|
* the event listener will be registered in `start()` from the `PuppetAbstract` class
|
|
405
466
|
*/
|
|
406
467
|
async fastDirty({ payloadType, payloadId, }) {
|
|
407
|
-
log.verbose('PuppetService', 'fastDirty(%s<%s>, %s)', PUPPET.types.Dirty[payloadType], payloadType, payloadId);
|
|
468
|
+
this.log.verbose('PuppetService', 'fastDirty(%s<%s>, %s)', PUPPET.types.Dirty[payloadType], payloadType, payloadId);
|
|
408
469
|
// payloadType is typed as the enum, but at runtime the server may emit a
|
|
409
470
|
// value outside our enum (forward-compat). Look it up via a
|
|
410
471
|
// possibly-undefined view so the runtime guard stays meaningful.
|
|
411
472
|
const lookup = this._dirtyHandlerMap;
|
|
412
473
|
const handler = lookup[payloadType];
|
|
413
474
|
if (!handler) {
|
|
414
|
-
log.warn('PuppetService', 'fastDirty() no handler for payloadType=%s', payloadType);
|
|
475
|
+
this.log.warn('PuppetService', 'fastDirty() no handler for payloadType=%s', payloadType);
|
|
415
476
|
return;
|
|
416
477
|
}
|
|
417
478
|
try {
|
|
@@ -422,7 +483,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
422
483
|
}
|
|
423
484
|
}
|
|
424
485
|
async enterVerifyCode(id, code) {
|
|
425
|
-
log.verbose('PuppetService', 'enterVerifyCode(%s, %s)', id, code);
|
|
486
|
+
this.log.verbose('PuppetService', 'enterVerifyCode(%s, %s)', id, code);
|
|
426
487
|
const request = new grpcPuppet.EnterVerifyCodeRequest();
|
|
427
488
|
request.setId(id);
|
|
428
489
|
request.setCode(code);
|
|
@@ -430,20 +491,20 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
430
491
|
.bind(this.grpcManager.client))(request);
|
|
431
492
|
}
|
|
432
493
|
async cancelVerifyCode(id) {
|
|
433
|
-
log.verbose('PuppetService', 'cancelVerifyCode(%s)', id);
|
|
494
|
+
this.log.verbose('PuppetService', 'cancelVerifyCode(%s)', id);
|
|
434
495
|
const request = new grpcPuppet.CancelVerifyCodeRequest();
|
|
435
496
|
request.setId(id);
|
|
436
497
|
await util.promisify(this.grpcManager.client.cancelVerifyCode
|
|
437
498
|
.bind(this.grpcManager.client))(request);
|
|
438
499
|
}
|
|
439
500
|
async refreshQRCode() {
|
|
440
|
-
log.verbose('PuppetService', 'refreshQRCode(%s)');
|
|
501
|
+
this.log.verbose('PuppetService', 'refreshQRCode(%s)');
|
|
441
502
|
const request = new grpcPuppet.RefreshQRCodeRequest();
|
|
442
503
|
await util.promisify(this.grpcManager.client.refreshQRCode
|
|
443
504
|
.bind(this.grpcManager.client))(request);
|
|
444
505
|
}
|
|
445
506
|
async contactAlias(contactId, alias) {
|
|
446
|
-
log.verbose('PuppetService', 'contactAlias(%s, %s)', contactId, alias);
|
|
507
|
+
this.log.verbose('PuppetService', 'contactAlias(%s, %s)', contactId, alias);
|
|
447
508
|
/**
|
|
448
509
|
* Get alias
|
|
449
510
|
*/
|
|
@@ -481,7 +542,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
481
542
|
.bind(this.grpcManager.client))(request);
|
|
482
543
|
}
|
|
483
544
|
async contactPhone(contactId, phoneList) {
|
|
484
|
-
log.verbose('PuppetService', 'contactPhone(%s, %s)', contactId, phoneList);
|
|
545
|
+
this.log.verbose('PuppetService', 'contactPhone(%s, %s)', contactId, phoneList);
|
|
485
546
|
const request = new grpcPuppet.ContactPhoneRequest();
|
|
486
547
|
request.setContactId(contactId);
|
|
487
548
|
request.setPhonesList(phoneList);
|
|
@@ -489,7 +550,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
489
550
|
.bind(this.grpcManager.client))(request);
|
|
490
551
|
}
|
|
491
552
|
async contactCorporationRemark(contactId, corporationRemark) {
|
|
492
|
-
log.verbose('PuppetService', 'contactCorporationRemark(%s, %s)', contactId, corporationRemark);
|
|
553
|
+
this.log.verbose('PuppetService', 'contactCorporationRemark(%s, %s)', contactId, corporationRemark);
|
|
493
554
|
const request = new grpcPuppet.ContactCorporationRemarkRequest();
|
|
494
555
|
request.setContactId(contactId);
|
|
495
556
|
if (corporationRemark) {
|
|
@@ -507,7 +568,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
507
568
|
.bind(this.grpcManager.client))(request);
|
|
508
569
|
}
|
|
509
570
|
async contactDescription(contactId, description) {
|
|
510
|
-
log.verbose('PuppetService', 'contactDescription(%s, %s)', contactId, description);
|
|
571
|
+
this.log.verbose('PuppetService', 'contactDescription(%s, %s)', contactId, description);
|
|
511
572
|
const request = new grpcPuppet.ContactDescriptionRequest();
|
|
512
573
|
request.setContactId(contactId);
|
|
513
574
|
if (description) {
|
|
@@ -525,13 +586,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
525
586
|
.bind(this.grpcManager.client))(request);
|
|
526
587
|
}
|
|
527
588
|
async contactList() {
|
|
528
|
-
log.verbose('PuppetService', 'contactList()');
|
|
589
|
+
this.log.verbose('PuppetService', 'contactList()');
|
|
529
590
|
const response = await util.promisify(this.grpcManager.client.contactList
|
|
530
591
|
.bind(this.grpcManager.client))(new grpcPuppet.ContactListRequest());
|
|
531
592
|
return response.getIdsList();
|
|
532
593
|
}
|
|
533
594
|
async contactAvatar(contactId, fileBox) {
|
|
534
|
-
log.verbose('PuppetService', 'contactAvatar(%s)', contactId);
|
|
595
|
+
this.log.verbose('PuppetService', 'contactAvatar(%s)', contactId);
|
|
535
596
|
/**
|
|
536
597
|
* 1. set
|
|
537
598
|
*/
|
|
@@ -568,10 +629,10 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
568
629
|
return this.FileBoxUuid.fromJSON(jsonText);
|
|
569
630
|
}
|
|
570
631
|
async contactRawPayload(id) {
|
|
571
|
-
log.verbose('PuppetService', 'contactRawPayload(%s)', id);
|
|
632
|
+
this.log.verbose('PuppetService', 'contactRawPayload(%s)', id);
|
|
572
633
|
const cachedPayload = await this._payloadStore.contact?.get(id);
|
|
573
634
|
if (cachedPayload) {
|
|
574
|
-
log.silly('PuppetService', 'contactRawPayload(%s) cache HIT', id);
|
|
635
|
+
this.log.silly('PuppetService', 'contactRawPayload(%s) cache HIT', id);
|
|
575
636
|
return cachedPayload;
|
|
576
637
|
}
|
|
577
638
|
const request = new grpcPuppet.ContactPayloadRequest();
|
|
@@ -612,16 +673,16 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
612
673
|
aka: response.getAka(),
|
|
613
674
|
};
|
|
614
675
|
await this._payloadStore.contact?.set(id, payload);
|
|
615
|
-
log.silly('PuppetService', 'contactRawPayload(%s) cache SET', id);
|
|
676
|
+
this.log.silly('PuppetService', 'contactRawPayload(%s) cache SET', id);
|
|
616
677
|
return payload;
|
|
617
678
|
}
|
|
618
679
|
async contactRawPayloadParser(payload) {
|
|
619
|
-
// log.silly('PuppetService', 'contactRawPayloadParser({id:%s})', payload.id)
|
|
680
|
+
// this.log.silly('PuppetService', 'contactRawPayloadParser({id:%s})', payload.id)
|
|
620
681
|
// passthrough
|
|
621
682
|
return payload;
|
|
622
683
|
}
|
|
623
684
|
async batchContactRawPayload(contactIdList) {
|
|
624
|
-
log.verbose('PuppetService', 'batchContactRawPayload(%s)', contactIdList);
|
|
685
|
+
this.log.verbose('PuppetService', 'batchContactRawPayload(%s)', contactIdList);
|
|
625
686
|
const result = new Map();
|
|
626
687
|
const contactIdSet = new Set(contactIdList);
|
|
627
688
|
const needGetSet = new Set();
|
|
@@ -649,7 +710,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
649
710
|
}
|
|
650
711
|
}
|
|
651
712
|
catch (e) {
|
|
652
|
-
log.error('PuppetService', 'batchContactRawPayload(%s, %s) error: %s, use one by one method', contactIdList, needGetSet, e);
|
|
713
|
+
this.log.error('PuppetService', 'batchContactRawPayload(%s, %s) error: %s, use one by one method', contactIdList, needGetSet, e);
|
|
653
714
|
for (const contactId of needGetSet) {
|
|
654
715
|
const payload = await this.contactRawPayload(contactId);
|
|
655
716
|
result.set(contactId, payload);
|
|
@@ -659,7 +720,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
659
720
|
return result;
|
|
660
721
|
}
|
|
661
722
|
async contactPayloadModify(contactId, payload) {
|
|
662
|
-
log.verbose('PuppetService', 'contactPayloadModify(%s, %s)', contactId, JSON.stringify(payload));
|
|
723
|
+
this.log.verbose('PuppetService', 'contactPayloadModify(%s, %s)', contactId, JSON.stringify(payload));
|
|
663
724
|
const request = new grpcPuppet.ContactPayloadModifyRequest();
|
|
664
725
|
request.setId(contactId);
|
|
665
726
|
if (payload.id) {
|
|
@@ -729,41 +790,41 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
729
790
|
.bind(this.grpcManager.client))(request);
|
|
730
791
|
}
|
|
731
792
|
async contactSelfName(name) {
|
|
732
|
-
log.verbose('PuppetService', 'contactSelfName(%s)', name);
|
|
793
|
+
this.log.verbose('PuppetService', 'contactSelfName(%s)', name);
|
|
733
794
|
const request = new grpcPuppet.ContactSelfNameRequest();
|
|
734
795
|
request.setName(name);
|
|
735
796
|
await util.promisify(this.grpcManager.client.contactSelfName
|
|
736
797
|
.bind(this.grpcManager.client))(request);
|
|
737
798
|
}
|
|
738
799
|
async contactSelfRealName(realName) {
|
|
739
|
-
log.verbose('PuppetService', 'contactSelfRealName(%s)', realName);
|
|
800
|
+
this.log.verbose('PuppetService', 'contactSelfRealName(%s)', realName);
|
|
740
801
|
const request = new grpcPuppet.ContactSelfRealNameRequest();
|
|
741
802
|
request.setRealName(realName);
|
|
742
803
|
await util.promisify(this.grpcManager.client.contactSelfRealName
|
|
743
804
|
.bind(this.grpcManager.client))(request);
|
|
744
805
|
}
|
|
745
806
|
async contactSelfAka(aka) {
|
|
746
|
-
log.verbose('PuppetService', 'contactSelfAka(%s)', aka);
|
|
807
|
+
this.log.verbose('PuppetService', 'contactSelfAka(%s)', aka);
|
|
747
808
|
const request = new grpcPuppet.ContactSelfAkaRequest();
|
|
748
809
|
request.setAka(aka);
|
|
749
810
|
await util.promisify(this.grpcManager.client.contactSelfAka
|
|
750
811
|
.bind(this.grpcManager.client))(request);
|
|
751
812
|
}
|
|
752
813
|
async contactSelfQRCode() {
|
|
753
|
-
log.verbose('PuppetService', 'contactSelfQRCode()');
|
|
814
|
+
this.log.verbose('PuppetService', 'contactSelfQRCode()');
|
|
754
815
|
const response = await util.promisify(this.grpcManager.client.contactSelfQRCode
|
|
755
816
|
.bind(this.grpcManager.client))(new grpcPuppet.ContactSelfQRCodeRequest());
|
|
756
817
|
return response.getQrcode();
|
|
757
818
|
}
|
|
758
819
|
async contactSelfSignature(signature) {
|
|
759
|
-
log.verbose('PuppetService', 'contactSelfSignature(%s)', signature);
|
|
820
|
+
this.log.verbose('PuppetService', 'contactSelfSignature(%s)', signature);
|
|
760
821
|
const request = new grpcPuppet.ContactSelfSignatureRequest();
|
|
761
822
|
request.setSignature(signature);
|
|
762
823
|
await util.promisify(this.grpcManager.client.contactSelfSignature
|
|
763
824
|
.bind(this.grpcManager.client))(request);
|
|
764
825
|
}
|
|
765
826
|
async contactSelfRoomAlias(roomId, alias) {
|
|
766
|
-
log.verbose('PuppetService', 'contactSelfRoomAlias(%s, %s)', roomId, alias);
|
|
827
|
+
this.log.verbose('PuppetService', 'contactSelfRoomAlias(%s, %s)', roomId, alias);
|
|
767
828
|
const request = new grpcPuppet.ContactSelfRoomAliasRequest();
|
|
768
829
|
request.setRoomId(roomId);
|
|
769
830
|
request.setAlias(alias);
|
|
@@ -771,7 +832,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
771
832
|
.bind(this.grpcManager.client))(request);
|
|
772
833
|
}
|
|
773
834
|
async contactDelete(contactId) {
|
|
774
|
-
log.verbose('PuppetService', 'contactDelete(%s)', contactId);
|
|
835
|
+
this.log.verbose('PuppetService', 'contactDelete(%s)', contactId);
|
|
775
836
|
const request = new grpcPuppet.ContactDeleteRequest();
|
|
776
837
|
request.setContactId(contactId);
|
|
777
838
|
await util.promisify(this.grpcManager.client.contactDelete
|
|
@@ -783,7 +844,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
783
844
|
*
|
|
784
845
|
*/
|
|
785
846
|
async conversationReadMark(conversationId, hasRead = true) {
|
|
786
|
-
log.verbose('PuppetService', 'conversationMarkRead(%s, %s)', conversationId, hasRead);
|
|
847
|
+
this.log.verbose('PuppetService', 'conversationMarkRead(%s, %s)', conversationId, hasRead);
|
|
787
848
|
const request = new grpcPuppet.ConversationReadRequest();
|
|
788
849
|
request.setConversationId(conversationId);
|
|
789
850
|
request.setHasRead(hasRead);
|
|
@@ -796,7 +857,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
796
857
|
*
|
|
797
858
|
*/
|
|
798
859
|
async messageMiniProgram(messageId) {
|
|
799
|
-
log.verbose('PuppetService', 'messageMiniProgram(%s)', messageId);
|
|
860
|
+
this.log.verbose('PuppetService', 'messageMiniProgram(%s)', messageId);
|
|
800
861
|
const request = new grpcPuppet.MessageMiniProgramRequest();
|
|
801
862
|
request.setId(messageId);
|
|
802
863
|
const response = await util.promisify(this.grpcManager.client.messageMiniProgram
|
|
@@ -815,7 +876,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
815
876
|
return payload;
|
|
816
877
|
}
|
|
817
878
|
async messageLocation(messageId) {
|
|
818
|
-
log.verbose('PuppetService', 'messageLocation(%s)', messageId);
|
|
879
|
+
this.log.verbose('PuppetService', 'messageLocation(%s)', messageId);
|
|
819
880
|
const request = new grpcPuppet.MessageLocationRequest();
|
|
820
881
|
request.setId(messageId);
|
|
821
882
|
const response = await util.promisify(this.grpcManager.client.messageLocation
|
|
@@ -831,7 +892,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
831
892
|
return payload;
|
|
832
893
|
}
|
|
833
894
|
async messageImage(messageId, imageType) {
|
|
834
|
-
log.verbose('PuppetService', 'messageImage(%s, %s[%s])', messageId, imageType, PUPPET.types.Image[imageType]);
|
|
895
|
+
this.log.verbose('PuppetService', 'messageImage(%s, %s[%s])', messageId, imageType, PUPPET.types.Image[imageType]);
|
|
835
896
|
const request = new grpcPuppet.MessageImageRequest();
|
|
836
897
|
request.setId(messageId);
|
|
837
898
|
request.setType(imageType);
|
|
@@ -844,7 +905,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
844
905
|
throw new Error(`failed to get image filebox for message ${messageId}`);
|
|
845
906
|
}
|
|
846
907
|
async messageContact(messageId) {
|
|
847
|
-
log.verbose('PuppetService', 'messageContact(%s)', messageId);
|
|
908
|
+
this.log.verbose('PuppetService', 'messageContact(%s)', messageId);
|
|
848
909
|
const request = new grpcPuppet.MessageContactRequest();
|
|
849
910
|
request.setId(messageId);
|
|
850
911
|
const response = await util.promisify(this.grpcManager.client.messageContact
|
|
@@ -853,7 +914,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
853
914
|
return contactId;
|
|
854
915
|
}
|
|
855
916
|
async messageChannel(messageId) {
|
|
856
|
-
log.verbose('PuppetService', 'messageChannel(%s)', messageId);
|
|
917
|
+
this.log.verbose('PuppetService', 'messageChannel(%s)', messageId);
|
|
857
918
|
const request = new grpcPuppet.MessageChannelRequest();
|
|
858
919
|
request.setId(messageId);
|
|
859
920
|
const response = await util.promisify(this.grpcManager.client.messageChannel
|
|
@@ -862,7 +923,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
862
923
|
return payload;
|
|
863
924
|
}
|
|
864
925
|
async messageChannelCard(messageId) {
|
|
865
|
-
log.verbose('PuppetService', 'messageChannelCard(%s)', messageId);
|
|
926
|
+
this.log.verbose('PuppetService', 'messageChannelCard(%s)', messageId);
|
|
866
927
|
const request = new grpcPuppet.MessageChannelCardRequest();
|
|
867
928
|
request.setId(messageId);
|
|
868
929
|
const response = await util.promisify(this.grpcManager.client.messageChannelCard
|
|
@@ -871,7 +932,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
871
932
|
return payload;
|
|
872
933
|
}
|
|
873
934
|
async messageCallRecord(messageId) {
|
|
874
|
-
log.verbose('PuppetService', 'messageCallRecord(%s)', messageId);
|
|
935
|
+
this.log.verbose('PuppetService', 'messageCallRecord(%s)', messageId);
|
|
875
936
|
const request = new grpcPuppet.MessageCallRecordRequest();
|
|
876
937
|
request.setId(messageId);
|
|
877
938
|
const response = await util.promisify(this.grpcManager.client.messageCallRecord
|
|
@@ -880,7 +941,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
880
941
|
return payload;
|
|
881
942
|
}
|
|
882
943
|
async callInvite(contactIds, media) {
|
|
883
|
-
log.verbose('PuppetService', 'callInvite(%s, %s)', contactIds, media);
|
|
944
|
+
this.log.verbose('PuppetService', 'callInvite(%s, %s)', contactIds, media);
|
|
884
945
|
const request = new grpcPuppet.CallInviteRequest();
|
|
885
946
|
request.setContactIdsList(contactIds);
|
|
886
947
|
request.setMedia(puppetCallMediaTypeToGrpc(media));
|
|
@@ -893,20 +954,20 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
893
954
|
return callId;
|
|
894
955
|
}
|
|
895
956
|
async callAdd(callId, contactIds) {
|
|
896
|
-
log.verbose('PuppetService', 'callAdd(%s, %s)', callId, contactIds);
|
|
957
|
+
this.log.verbose('PuppetService', 'callAdd(%s, %s)', callId, contactIds);
|
|
897
958
|
const request = new grpcPuppet.CallAddRequest();
|
|
898
959
|
request.setCallId(callId);
|
|
899
960
|
request.setContactIdsList(contactIds);
|
|
900
961
|
await this.grpcUnary(this.grpcManager.client.callAdd, request);
|
|
901
962
|
}
|
|
902
963
|
async callAccept(callId) {
|
|
903
|
-
log.verbose('PuppetService', 'callAccept(%s)', callId);
|
|
964
|
+
this.log.verbose('PuppetService', 'callAccept(%s)', callId);
|
|
904
965
|
const request = new grpcPuppet.CallAcceptRequest();
|
|
905
966
|
request.setCallId(callId);
|
|
906
967
|
await this.grpcUnary(this.grpcManager.client.callAccept, request);
|
|
907
968
|
}
|
|
908
969
|
async callReject(callId, reason) {
|
|
909
|
-
log.verbose('PuppetService', 'callReject(%s, %s)', callId, reason);
|
|
970
|
+
this.log.verbose('PuppetService', 'callReject(%s, %s)', callId, reason);
|
|
910
971
|
const request = new grpcPuppet.CallRejectRequest();
|
|
911
972
|
request.setCallId(callId);
|
|
912
973
|
if (reason !== undefined && reason !== '') {
|
|
@@ -915,13 +976,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
915
976
|
await this.grpcUnary(this.grpcManager.client.callReject, request);
|
|
916
977
|
}
|
|
917
978
|
async callCancel(callId) {
|
|
918
|
-
log.verbose('PuppetService', 'callCancel(%s)', callId);
|
|
979
|
+
this.log.verbose('PuppetService', 'callCancel(%s)', callId);
|
|
919
980
|
const request = new grpcPuppet.CallCancelRequest();
|
|
920
981
|
request.setCallId(callId);
|
|
921
982
|
await this.grpcUnary(this.grpcManager.client.callCancel, request);
|
|
922
983
|
}
|
|
923
984
|
async callHangup(callId, reason) {
|
|
924
|
-
log.verbose('PuppetService', 'callHangup(%s, %s)', callId, reason);
|
|
985
|
+
this.log.verbose('PuppetService', 'callHangup(%s, %s)', callId, reason);
|
|
925
986
|
const request = new grpcPuppet.CallHangupRequest();
|
|
926
987
|
request.setCallId(callId);
|
|
927
988
|
if (reason !== undefined && reason !== '') {
|
|
@@ -930,7 +991,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
930
991
|
await this.grpcUnary(this.grpcManager.client.callHangup, request);
|
|
931
992
|
}
|
|
932
993
|
async callMediaEndpoint(callId) {
|
|
933
|
-
log.verbose('PuppetService', 'callMediaEndpoint(%s)', callId);
|
|
994
|
+
this.log.verbose('PuppetService', 'callMediaEndpoint(%s)', callId);
|
|
934
995
|
const request = new grpcPuppet.CallMediaEndpointRequest();
|
|
935
996
|
request.setCallId(callId);
|
|
936
997
|
const response = await util.promisify(this.grpcManager.client.callMediaEndpoint
|
|
@@ -954,7 +1015,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
954
1015
|
return payload;
|
|
955
1016
|
}
|
|
956
1017
|
async callRawPayload(callId) {
|
|
957
|
-
log.verbose('PuppetService', 'callRawPayload(%s)', callId);
|
|
1018
|
+
this.log.verbose('PuppetService', 'callRawPayload(%s)', callId);
|
|
958
1019
|
const request = new grpcPuppet.CallPayloadRequest();
|
|
959
1020
|
request.setId(callId);
|
|
960
1021
|
const response = await util.promisify(this.grpcManager.client.callPayload
|
|
@@ -962,6 +1023,10 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
962
1023
|
return response.toObject();
|
|
963
1024
|
}
|
|
964
1025
|
async callRawPayloadParser(rawPayload) {
|
|
1026
|
+
// Intentionally uses the module-level `log` instead of `this.log`: the
|
|
1027
|
+
// matching unit spec invokes this parser via `prototype.call({}, raw)` and
|
|
1028
|
+
// never binds a real PuppetService instance. Keep this `this`-free so that
|
|
1029
|
+
// contract survives the pluggable-logger migration.
|
|
965
1030
|
log.verbose('PuppetService', 'callRawPayloadParser({id:%s})', rawPayload.id);
|
|
966
1031
|
const media = grpcCallTypeToPuppetMedia(rawPayload.media);
|
|
967
1032
|
if (media === undefined) {
|
|
@@ -985,7 +1050,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
985
1050
|
return payload;
|
|
986
1051
|
}
|
|
987
1052
|
async messageChatHistory(messageId) {
|
|
988
|
-
log.verbose('PuppetService', 'messageChatHistory(%s)', messageId);
|
|
1053
|
+
this.log.verbose('PuppetService', 'messageChatHistory(%s)', messageId);
|
|
989
1054
|
const request = new grpcPuppet.MessageChatHistoryRequest();
|
|
990
1055
|
request.setId(messageId);
|
|
991
1056
|
const response = await util.promisify(this.grpcManager.client.messageChatHistory
|
|
@@ -994,7 +1059,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
994
1059
|
return payload;
|
|
995
1060
|
}
|
|
996
1061
|
async messageSendMiniProgram(conversationId, miniProgramPayload) {
|
|
997
|
-
log.verbose('PuppetService', 'messageSendMiniProgram(%s, "%s")', conversationId, JSON.stringify(miniProgramPayload));
|
|
1062
|
+
this.log.verbose('PuppetService', 'messageSendMiniProgram(%s, "%s")', conversationId, JSON.stringify(miniProgramPayload));
|
|
998
1063
|
const request = new grpcPuppet.MessageSendMiniProgramRequest();
|
|
999
1064
|
request.setConversationId(conversationId);
|
|
1000
1065
|
const pbMiniProgramPayload = new grpcPuppet.MiniProgramPayload();
|
|
@@ -1030,11 +1095,11 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1030
1095
|
* Deprecated: will be removed after Dec 31, 2022
|
|
1031
1096
|
*/
|
|
1032
1097
|
request.setMiniProgramDeprecated(JSON.stringify(miniProgramPayload));
|
|
1033
|
-
log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${miniProgramPayload.description}) about to call grpc`);
|
|
1098
|
+
this.log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${miniProgramPayload.description}) about to call grpc`);
|
|
1034
1099
|
const response = await util.promisify(this.grpcManager.client.messageSendMiniProgram
|
|
1035
1100
|
.bind(this.grpcManager.client))(request);
|
|
1036
1101
|
const messageId = response.getId();
|
|
1037
|
-
log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${miniProgramPayload.description}) grpc called, messageId: ${messageId}`);
|
|
1102
|
+
this.log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${miniProgramPayload.description}) grpc called, messageId: ${messageId}`);
|
|
1038
1103
|
if (messageId) {
|
|
1039
1104
|
return messageId;
|
|
1040
1105
|
}
|
|
@@ -1049,7 +1114,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1049
1114
|
}
|
|
1050
1115
|
}
|
|
1051
1116
|
async messageSendLocation(conversationId, locationPayload) {
|
|
1052
|
-
log.verbose('PuppetService', 'messageSendLocation(%s)', conversationId, JSON.stringify(locationPayload));
|
|
1117
|
+
this.log.verbose('PuppetService', 'messageSendLocation(%s)', conversationId, JSON.stringify(locationPayload));
|
|
1053
1118
|
const request = new grpcPuppet.MessageSendLocationRequest();
|
|
1054
1119
|
request.setConversationId(conversationId);
|
|
1055
1120
|
const pbLocationPayload = new grpcPuppet.LocationPayload();
|
|
@@ -1059,47 +1124,47 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1059
1124
|
pbLocationPayload.setLongitude(locationPayload.longitude);
|
|
1060
1125
|
pbLocationPayload.setName(locationPayload.name);
|
|
1061
1126
|
request.setLocation(pbLocationPayload);
|
|
1062
|
-
log.info('PuppetService', `messageSendLocation(${conversationId}, ${locationPayload.name}) about to call grpc`);
|
|
1127
|
+
this.log.info('PuppetService', `messageSendLocation(${conversationId}, ${locationPayload.name}) about to call grpc`);
|
|
1063
1128
|
const response = await util.promisify(this.grpcManager.client.messageSendLocation
|
|
1064
1129
|
.bind(this.grpcManager.client))(request);
|
|
1065
1130
|
const id = response.getId();
|
|
1066
|
-
log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${locationPayload.name}) grpc called, messageId: ${id}`);
|
|
1131
|
+
this.log.info('PuppetService', `messageSendMiniProgram(${conversationId}, ${locationPayload.name}) grpc called, messageId: ${id}`);
|
|
1067
1132
|
if (id) {
|
|
1068
1133
|
return id;
|
|
1069
1134
|
}
|
|
1070
1135
|
}
|
|
1071
1136
|
async messageSendChannel(conversationId, channelPayload) {
|
|
1072
|
-
log.verbose('PuppetService', 'messageSendChannel(%s, "%s")', conversationId, JSON.stringify(channelPayload));
|
|
1137
|
+
this.log.verbose('PuppetService', 'messageSendChannel(%s, "%s")', conversationId, JSON.stringify(channelPayload));
|
|
1073
1138
|
const request = new grpcPuppet.MessageSendChannelRequest();
|
|
1074
1139
|
request.setConversationId(conversationId);
|
|
1075
1140
|
const pbChannelPayload = channelPayloadToPb(grpcPuppet, channelPayload);
|
|
1076
1141
|
request.setChannel(pbChannelPayload);
|
|
1077
|
-
log.info('PuppetService', `messageSendChannel(${conversationId}, ${channelPayload.desc}) about to call grpc`);
|
|
1142
|
+
this.log.info('PuppetService', `messageSendChannel(${conversationId}, ${channelPayload.desc}) about to call grpc`);
|
|
1078
1143
|
const response = await util.promisify(this.grpcManager.client.messageSendChannel
|
|
1079
1144
|
.bind(this.grpcManager.client))(request);
|
|
1080
1145
|
const messageId = response.getId();
|
|
1081
|
-
log.info('PuppetService', `messageSendChannel(${conversationId}, ${channelPayload.desc}) grpc called, messageId: ${messageId}`);
|
|
1146
|
+
this.log.info('PuppetService', `messageSendChannel(${conversationId}, ${channelPayload.desc}) grpc called, messageId: ${messageId}`);
|
|
1082
1147
|
if (messageId) {
|
|
1083
1148
|
return messageId;
|
|
1084
1149
|
}
|
|
1085
1150
|
}
|
|
1086
1151
|
async messageSendChannelCard(conversationId, channelCardPayload) {
|
|
1087
|
-
log.verbose('PuppetService', 'messageSendChannelCard(%s, "%s")', conversationId, JSON.stringify(channelCardPayload));
|
|
1152
|
+
this.log.verbose('PuppetService', 'messageSendChannelCard(%s, "%s")', conversationId, JSON.stringify(channelCardPayload));
|
|
1088
1153
|
const request = new grpcPuppet.MessageSendChannelCardRequest();
|
|
1089
1154
|
request.setConversationId(conversationId);
|
|
1090
1155
|
const pbChannelCardPayload = channelCardPayloadToPb(grpcPuppet, channelCardPayload);
|
|
1091
1156
|
request.setChannelCard(pbChannelCardPayload);
|
|
1092
|
-
log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) about to call grpc`);
|
|
1157
|
+
this.log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) about to call grpc`);
|
|
1093
1158
|
const response = await util.promisify(this.grpcManager.client.messageSendChannelCard
|
|
1094
1159
|
.bind(this.grpcManager.client))(request);
|
|
1095
1160
|
const messageId = response.getId();
|
|
1096
|
-
log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) grpc called, messageId: ${messageId}`);
|
|
1161
|
+
this.log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) grpc called, messageId: ${messageId}`);
|
|
1097
1162
|
if (messageId) {
|
|
1098
1163
|
return messageId;
|
|
1099
1164
|
}
|
|
1100
1165
|
}
|
|
1101
1166
|
async messageRecall(messageId) {
|
|
1102
|
-
log.verbose('PuppetService', 'messageRecall(%s)', messageId);
|
|
1167
|
+
this.log.verbose('PuppetService', 'messageRecall(%s)', messageId);
|
|
1103
1168
|
const request = new grpcPuppet.MessageRecallRequest();
|
|
1104
1169
|
request.setId(messageId);
|
|
1105
1170
|
const response = await util.promisify(this.grpcManager.client.messageRecall
|
|
@@ -1107,7 +1172,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1107
1172
|
return response.getSuccess();
|
|
1108
1173
|
}
|
|
1109
1174
|
async messageFile(id) {
|
|
1110
|
-
log.verbose('PuppetService', 'messageFile(%s)', id);
|
|
1175
|
+
this.log.verbose('PuppetService', 'messageFile(%s)', id);
|
|
1111
1176
|
const request = new grpcPuppet.MessageFileRequest();
|
|
1112
1177
|
request.setId(id);
|
|
1113
1178
|
const response = await util.promisify(this.grpcManager.client.messageFile
|
|
@@ -1119,7 +1184,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1119
1184
|
throw new Error(`failed to get filebox for message ${id}`);
|
|
1120
1185
|
}
|
|
1121
1186
|
async messageVoice(id) {
|
|
1122
|
-
log.verbose('PuppetService', 'messageVoice(%s)', id);
|
|
1187
|
+
this.log.verbose('PuppetService', 'messageVoice(%s)', id);
|
|
1123
1188
|
const request = new grpcPuppet.MessageVoiceRequest();
|
|
1124
1189
|
request.setId(id);
|
|
1125
1190
|
const response = await util.promisify(this.grpcManager.client.messageVoice
|
|
@@ -1131,7 +1196,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1131
1196
|
throw new Error(`failed to get voice filebox for message ${id}`);
|
|
1132
1197
|
}
|
|
1133
1198
|
async messageVoiceText(id) {
|
|
1134
|
-
log.verbose('PuppetService', 'messageVoiceText(%s)', id);
|
|
1199
|
+
this.log.verbose('PuppetService', 'messageVoiceText(%s)', id);
|
|
1135
1200
|
const request = new grpcPuppet.MessageVoiceTextRequest();
|
|
1136
1201
|
request.setId(id);
|
|
1137
1202
|
const response = await util.promisify(this.grpcManager.client.messageVoiceText
|
|
@@ -1142,7 +1207,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1142
1207
|
};
|
|
1143
1208
|
}
|
|
1144
1209
|
async messagePreview(id) {
|
|
1145
|
-
log.verbose('PuppetService', 'messagePreview(%s)', id);
|
|
1210
|
+
this.log.verbose('PuppetService', 'messagePreview(%s)', id);
|
|
1146
1211
|
const request = new grpcPuppet.MessagePreviewRequest();
|
|
1147
1212
|
request.setId(id);
|
|
1148
1213
|
const response = await util.promisify(this.grpcManager.client.messagePreview
|
|
@@ -1154,7 +1219,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1154
1219
|
return undefined;
|
|
1155
1220
|
}
|
|
1156
1221
|
async messageForward(conversationId, messageIds) {
|
|
1157
|
-
log.verbose('PuppetService', 'messageForward(%s, %s)', conversationId, messageIds);
|
|
1222
|
+
this.log.verbose('PuppetService', 'messageForward(%s, %s)', conversationId, messageIds);
|
|
1158
1223
|
const request = new grpcPuppet.MessageForwardRequest();
|
|
1159
1224
|
request.setConversationId(conversationId);
|
|
1160
1225
|
if (Array.isArray(messageIds)) {
|
|
@@ -1166,11 +1231,11 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1166
1231
|
else {
|
|
1167
1232
|
request.setMessageId(messageIds);
|
|
1168
1233
|
}
|
|
1169
|
-
log.info('PuppetService', `messageForward(${conversationId}, ${messageIds}) about to call grpc`);
|
|
1234
|
+
this.log.info('PuppetService', `messageForward(${conversationId}, ${messageIds}) about to call grpc`);
|
|
1170
1235
|
const response = await util.promisify(this.grpcManager.client.messageForward
|
|
1171
1236
|
.bind(this.grpcManager.client))(request);
|
|
1172
1237
|
const forwardedMessageId = response.getId();
|
|
1173
|
-
log.info('PuppetService', `messageForward(${conversationId}, ${messageIds}) grpc called, messageId: ${forwardedMessageId}`);
|
|
1238
|
+
this.log.info('PuppetService', `messageForward(${conversationId}, ${messageIds}) grpc called, messageId: ${forwardedMessageId}`);
|
|
1174
1239
|
if (forwardedMessageId) {
|
|
1175
1240
|
return forwardedMessageId;
|
|
1176
1241
|
}
|
|
@@ -1185,10 +1250,10 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1185
1250
|
}
|
|
1186
1251
|
}
|
|
1187
1252
|
async messageRawPayload(id) {
|
|
1188
|
-
log.verbose('PuppetService', 'messageRawPayload(%s)', id);
|
|
1253
|
+
this.log.verbose('PuppetService', 'messageRawPayload(%s)', id);
|
|
1189
1254
|
// const cachedPayload = await this.payloadStore.message?.get(id)
|
|
1190
1255
|
// if (cachedPayload) {
|
|
1191
|
-
// log.silly('PuppetService', 'messageRawPayload(%s) cache HIT', id)
|
|
1256
|
+
// this.log.silly('PuppetService', 'messageRawPayload(%s) cache HIT', id)
|
|
1192
1257
|
// return cachedPayload
|
|
1193
1258
|
// }
|
|
1194
1259
|
const request = new grpcPuppet.MessagePayloadRequest();
|
|
@@ -1237,21 +1302,21 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1237
1302
|
break;
|
|
1238
1303
|
}
|
|
1239
1304
|
default:
|
|
1240
|
-
log.warn('PuppetService', `unknown text content type ${type}`);
|
|
1305
|
+
this.log.warn('PuppetService', `unknown text content type ${type}`);
|
|
1241
1306
|
}
|
|
1242
1307
|
payload.textContent?.push(contentData);
|
|
1243
1308
|
}
|
|
1244
|
-
// log.silly('PuppetService', 'messageRawPayload(%s) cache SET', id)
|
|
1309
|
+
// this.log.silly('PuppetService', 'messageRawPayload(%s) cache SET', id)
|
|
1245
1310
|
// await this.payloadStore.message?.set(id, payload)
|
|
1246
1311
|
return payload;
|
|
1247
1312
|
}
|
|
1248
1313
|
async messageRawPayloadParser(payload) {
|
|
1249
|
-
// log.silly('PuppetService', 'messagePayload({id:%s})', payload.id)
|
|
1314
|
+
// this.log.silly('PuppetService', 'messagePayload({id:%s})', payload.id)
|
|
1250
1315
|
// passthrough
|
|
1251
1316
|
return payload;
|
|
1252
1317
|
}
|
|
1253
1318
|
async messageSendText(conversationId, text, options) {
|
|
1254
|
-
log.verbose('PuppetService', 'messageSend(%s, %s)', conversationId, text);
|
|
1319
|
+
this.log.verbose('PuppetService', 'messageSend(%s, %s)', conversationId, text);
|
|
1255
1320
|
let mentionIdList;
|
|
1256
1321
|
let quoteId;
|
|
1257
1322
|
if (Array.isArray(options)) {
|
|
@@ -1270,11 +1335,11 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1270
1335
|
if (typeof quoteId !== 'undefined') {
|
|
1271
1336
|
request.setQuoteId(quoteId);
|
|
1272
1337
|
}
|
|
1273
|
-
log.info('PuppetService', `messageSend(${conversationId}, ${text}) about to call grpc`);
|
|
1338
|
+
this.log.info('PuppetService', `messageSend(${conversationId}, ${text}) about to call grpc`);
|
|
1274
1339
|
const response = await util.promisify(this.grpcManager.client.messageSendText
|
|
1275
1340
|
.bind(this.grpcManager.client))(request);
|
|
1276
1341
|
const messageId = response.getId();
|
|
1277
|
-
log.info('PuppetService', `messageSend(${conversationId}, ${text}) grpc called, messageId: ${messageId}`);
|
|
1342
|
+
this.log.info('PuppetService', `messageSend(${conversationId}, ${text}) grpc called, messageId: ${messageId}`);
|
|
1278
1343
|
if (messageId) {
|
|
1279
1344
|
return messageId;
|
|
1280
1345
|
}
|
|
@@ -1289,7 +1354,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1289
1354
|
}
|
|
1290
1355
|
}
|
|
1291
1356
|
async messageBatchSendText(conversationIds, text, batchTaskId) {
|
|
1292
|
-
log.verbose('PuppetService', 'messageBatchSendText(%s)', conversationIds.join(','));
|
|
1357
|
+
this.log.verbose('PuppetService', 'messageBatchSendText(%s)', conversationIds.join(','));
|
|
1293
1358
|
const request = new grpcPuppet.MessageBatchSendTextRequest();
|
|
1294
1359
|
request.setConversationIdsList(conversationIds);
|
|
1295
1360
|
request.setText(text);
|
|
@@ -1300,7 +1365,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1300
1365
|
return grpcBatchResultsToPayload(response);
|
|
1301
1366
|
}
|
|
1302
1367
|
async messageBatchSendFile(conversationIds, fileBox, batchTaskId) {
|
|
1303
|
-
log.verbose('PuppetService', 'messageBatchSendFile(%s)', conversationIds.join(','));
|
|
1368
|
+
this.log.verbose('PuppetService', 'messageBatchSendFile(%s)', conversationIds.join(','));
|
|
1304
1369
|
const request = new grpcPuppet.MessageBatchSendFileRequest();
|
|
1305
1370
|
request.setConversationIdsList(conversationIds);
|
|
1306
1371
|
request.setFileBox(await this.serializeFileBox(fileBox));
|
|
@@ -1311,7 +1376,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1311
1376
|
return grpcBatchResultsToPayload(response);
|
|
1312
1377
|
}
|
|
1313
1378
|
async messageBatchForward(conversationIds, messageIds, batchTaskId) {
|
|
1314
|
-
log.verbose('PuppetService', 'messageBatchForward(%s, %s)', conversationIds.join(','), messageIds);
|
|
1379
|
+
this.log.verbose('PuppetService', 'messageBatchForward(%s, %s)', conversationIds.join(','), messageIds);
|
|
1315
1380
|
const request = new grpcPuppet.MessageBatchForwardRequest();
|
|
1316
1381
|
request.setConversationIdsList(conversationIds);
|
|
1317
1382
|
if (Array.isArray(messageIds)) {
|
|
@@ -1330,7 +1395,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1330
1395
|
return grpcBatchResultsToPayload(response);
|
|
1331
1396
|
}
|
|
1332
1397
|
async messageBatchSendContact(conversationIds, contactId, batchTaskId) {
|
|
1333
|
-
log.verbose('PuppetService', 'messageBatchSendContact(%s, %s)', conversationIds.join(','), contactId);
|
|
1398
|
+
this.log.verbose('PuppetService', 'messageBatchSendContact(%s, %s)', conversationIds.join(','), contactId);
|
|
1334
1399
|
const request = new grpcPuppet.MessageBatchSendContactRequest();
|
|
1335
1400
|
request.setConversationIdsList(conversationIds);
|
|
1336
1401
|
request.setContactId(contactId);
|
|
@@ -1341,7 +1406,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1341
1406
|
return grpcBatchResultsToPayload(response);
|
|
1342
1407
|
}
|
|
1343
1408
|
async messageBatchSendUrl(conversationIds, urlLinkPayload, batchTaskId) {
|
|
1344
|
-
log.verbose('PuppetService', 'messageBatchSendUrl(%s)', conversationIds.join(','));
|
|
1409
|
+
this.log.verbose('PuppetService', 'messageBatchSendUrl(%s)', conversationIds.join(','));
|
|
1345
1410
|
const request = new grpcPuppet.MessageBatchSendUrlRequest();
|
|
1346
1411
|
request.setConversationIdsList(conversationIds);
|
|
1347
1412
|
request.setUrlLink(urlLinkPayloadToPb(grpcPuppet, urlLinkPayload));
|
|
@@ -1352,7 +1417,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1352
1417
|
return grpcBatchResultsToPayload(response);
|
|
1353
1418
|
}
|
|
1354
1419
|
async messageBatchSendMiniProgram(conversationIds, miniProgramPayload, batchTaskId) {
|
|
1355
|
-
log.verbose('PuppetService', 'messageBatchSendMiniProgram(%s)', conversationIds.join(','));
|
|
1420
|
+
this.log.verbose('PuppetService', 'messageBatchSendMiniProgram(%s)', conversationIds.join(','));
|
|
1356
1421
|
const request = new grpcPuppet.MessageBatchSendMiniProgramRequest();
|
|
1357
1422
|
request.setConversationIdsList(conversationIds);
|
|
1358
1423
|
request.setMiniProgram(miniProgramPayloadToPb(grpcPuppet, miniProgramPayload));
|
|
@@ -1363,7 +1428,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1363
1428
|
return grpcBatchResultsToPayload(response);
|
|
1364
1429
|
}
|
|
1365
1430
|
async messageBatchSendLocation(conversationIds, locationPayload, batchTaskId) {
|
|
1366
|
-
log.verbose('PuppetService', 'messageBatchSendLocation(%s)', conversationIds.join(','));
|
|
1431
|
+
this.log.verbose('PuppetService', 'messageBatchSendLocation(%s)', conversationIds.join(','));
|
|
1367
1432
|
const request = new grpcPuppet.MessageBatchSendLocationRequest();
|
|
1368
1433
|
request.setConversationIdsList(conversationIds);
|
|
1369
1434
|
request.setLocation(locationPayloadToPb(grpcPuppet, locationPayload));
|
|
@@ -1374,7 +1439,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1374
1439
|
return grpcBatchResultsToPayload(response);
|
|
1375
1440
|
}
|
|
1376
1441
|
async messageBatchSendChannel(conversationIds, channelPayload, batchTaskId) {
|
|
1377
|
-
log.verbose('PuppetService', 'messageBatchSendChannel(%s)', conversationIds.join(','));
|
|
1442
|
+
this.log.verbose('PuppetService', 'messageBatchSendChannel(%s)', conversationIds.join(','));
|
|
1378
1443
|
const request = new grpcPuppet.MessageBatchSendChannelRequest();
|
|
1379
1444
|
request.setConversationIdsList(conversationIds);
|
|
1380
1445
|
request.setChannel(channelPayloadToPb(grpcPuppet, channelPayload));
|
|
@@ -1385,7 +1450,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1385
1450
|
return grpcBatchResultsToPayload(response);
|
|
1386
1451
|
}
|
|
1387
1452
|
async messageBatchSendChannelCard(conversationIds, channelCardPayload, batchTaskId) {
|
|
1388
|
-
log.verbose('PuppetService', 'messageBatchSendChannelCard(%s)', conversationIds.join(','));
|
|
1453
|
+
this.log.verbose('PuppetService', 'messageBatchSendChannelCard(%s)', conversationIds.join(','));
|
|
1389
1454
|
const request = new grpcPuppet.MessageBatchSendChannelCardRequest();
|
|
1390
1455
|
request.setConversationIdsList(conversationIds);
|
|
1391
1456
|
request.setChannelCard(channelCardPayloadToPb(grpcPuppet, channelCardPayload));
|
|
@@ -1396,16 +1461,16 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1396
1461
|
return grpcBatchResultsToPayload(response);
|
|
1397
1462
|
}
|
|
1398
1463
|
async messageSendFile(conversationId, fileBox) {
|
|
1399
|
-
log.verbose('PuppetService', 'messageSendFile(%s, %s)', conversationId, fileBox);
|
|
1464
|
+
this.log.verbose('PuppetService', 'messageSendFile(%s, %s)', conversationId, fileBox);
|
|
1400
1465
|
const request = new grpcPuppet.MessageSendFileRequest();
|
|
1401
1466
|
request.setConversationId(conversationId);
|
|
1402
1467
|
const serializedFileBox = await this.serializeFileBox(fileBox);
|
|
1403
1468
|
request.setFileBox(serializedFileBox);
|
|
1404
|
-
log.info('PuppetService', `messageSendFile(${conversationId}, ${fileBox}) about to call grpc`);
|
|
1469
|
+
this.log.info('PuppetService', `messageSendFile(${conversationId}, ${fileBox}) about to call grpc`);
|
|
1405
1470
|
const response = await util.promisify(this.grpcManager.client.messageSendFile
|
|
1406
1471
|
.bind(this.grpcManager.client))(request);
|
|
1407
1472
|
const messageId = response.getId();
|
|
1408
|
-
log.info('PuppetService', `messageSendFile(${conversationId}, ${fileBox}) grpc called, messageId: ${messageId}`);
|
|
1473
|
+
this.log.info('PuppetService', `messageSendFile(${conversationId}, ${fileBox}) grpc called, messageId: ${messageId}`);
|
|
1409
1474
|
if (messageId) {
|
|
1410
1475
|
return messageId;
|
|
1411
1476
|
}
|
|
@@ -1420,15 +1485,15 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1420
1485
|
}
|
|
1421
1486
|
}
|
|
1422
1487
|
async messageSendContact(conversationId, contactId) {
|
|
1423
|
-
log.verbose('PuppetService', 'messageSend("%s", %s)', conversationId, contactId);
|
|
1488
|
+
this.log.verbose('PuppetService', 'messageSend("%s", %s)', conversationId, contactId);
|
|
1424
1489
|
const request = new grpcPuppet.MessageSendContactRequest();
|
|
1425
1490
|
request.setConversationId(conversationId);
|
|
1426
1491
|
request.setContactId(contactId);
|
|
1427
|
-
log.info('PuppetService', `messageSendContact(${conversationId}, ${contactId}) about to call grpc`);
|
|
1492
|
+
this.log.info('PuppetService', `messageSendContact(${conversationId}, ${contactId}) about to call grpc`);
|
|
1428
1493
|
const response = await util.promisify(this.grpcManager.client.messageSendContact
|
|
1429
1494
|
.bind(this.grpcManager.client))(request);
|
|
1430
1495
|
const messageId = response.getId();
|
|
1431
|
-
log.info('PuppetService', `messageSendContact(${conversationId}, ${contactId}) grpc called, messageId: ${messageId}`);
|
|
1496
|
+
this.log.info('PuppetService', `messageSendContact(${conversationId}, ${contactId}) grpc called, messageId: ${messageId}`);
|
|
1432
1497
|
if (messageId) {
|
|
1433
1498
|
return messageId;
|
|
1434
1499
|
}
|
|
@@ -1443,7 +1508,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1443
1508
|
}
|
|
1444
1509
|
}
|
|
1445
1510
|
async messageSendUrl(conversationId, urlLinkPayload) {
|
|
1446
|
-
log.verbose('PuppetService', 'messageSendUrl("%s", %s)', conversationId, JSON.stringify(urlLinkPayload));
|
|
1511
|
+
this.log.verbose('PuppetService', 'messageSendUrl("%s", %s)', conversationId, JSON.stringify(urlLinkPayload));
|
|
1447
1512
|
const request = new grpcPuppet.MessageSendUrlRequest();
|
|
1448
1513
|
request.setConversationId(conversationId);
|
|
1449
1514
|
const pbUrlLinkPayload = new grpcPuppet.UrlLinkPayload();
|
|
@@ -1458,11 +1523,11 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1458
1523
|
request.setUrlLink(pbUrlLinkPayload);
|
|
1459
1524
|
// Deprecated: will be removed after Dec 31, 2022
|
|
1460
1525
|
request.setUrlLinkDeprecated(JSON.stringify(urlLinkPayload));
|
|
1461
|
-
log.info('PuppetService', `messageSendUrl(${conversationId}, ${urlLinkPayload}) about to call grpc`);
|
|
1526
|
+
this.log.info('PuppetService', `messageSendUrl(${conversationId}, ${urlLinkPayload}) about to call grpc`);
|
|
1462
1527
|
const response = await util.promisify(this.grpcManager.client.messageSendUrl
|
|
1463
1528
|
.bind(this.grpcManager.client))(request);
|
|
1464
1529
|
const messageId = response.getId();
|
|
1465
|
-
log.info('PuppetService', `messageSendUrl(${conversationId}, ${urlLinkPayload}) grpc called, messageId: ${messageId}`);
|
|
1530
|
+
this.log.info('PuppetService', `messageSendUrl(${conversationId}, ${urlLinkPayload}) grpc called, messageId: ${messageId}`);
|
|
1466
1531
|
if (messageId) {
|
|
1467
1532
|
return messageId;
|
|
1468
1533
|
}
|
|
@@ -1477,22 +1542,22 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1477
1542
|
}
|
|
1478
1543
|
}
|
|
1479
1544
|
async messageSendPost(conversationId, postPayload) {
|
|
1480
|
-
log.verbose('PuppetService', 'messageSendPost("%s", %s)', conversationId, JSON.stringify(postPayload));
|
|
1545
|
+
this.log.verbose('PuppetService', 'messageSendPost("%s", %s)', conversationId, JSON.stringify(postPayload));
|
|
1481
1546
|
const request = new grpcPuppet.MessageSendPostRequest();
|
|
1482
1547
|
const post = await postPayloadToPb(grpcPuppet, postPayload, this.serializeFileBox.bind(this));
|
|
1483
1548
|
request.setContent(post);
|
|
1484
1549
|
request.setConversationId(conversationId);
|
|
1485
|
-
log.info('PuppetService', `messageSendPost(${conversationId}, ${postPayload}) about to call grpc`);
|
|
1550
|
+
this.log.info('PuppetService', `messageSendPost(${conversationId}, ${postPayload}) about to call grpc`);
|
|
1486
1551
|
const response = await util.promisify(this.grpcManager.client.messageSendPost
|
|
1487
1552
|
.bind(this.grpcManager.client))(request);
|
|
1488
1553
|
const messageId = response.getId();
|
|
1489
|
-
log.info('PuppetService', `messageSendPost(${conversationId}, ${postPayload}) grpc called, messageId: ${messageId}`);
|
|
1554
|
+
this.log.info('PuppetService', `messageSendPost(${conversationId}, ${postPayload}) grpc called, messageId: ${messageId}`);
|
|
1490
1555
|
if (messageId) {
|
|
1491
1556
|
return messageId;
|
|
1492
1557
|
}
|
|
1493
1558
|
}
|
|
1494
1559
|
async messageUrl(messageId) {
|
|
1495
|
-
log.verbose('PuppetService', 'messageUrl(%s)', messageId);
|
|
1560
|
+
this.log.verbose('PuppetService', 'messageUrl(%s)', messageId);
|
|
1496
1561
|
const request = new grpcPuppet.MessageUrlRequest();
|
|
1497
1562
|
request.setId(messageId);
|
|
1498
1563
|
const response = await util.promisify(this.grpcManager.client.messageUrl
|
|
@@ -1511,7 +1576,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1511
1576
|
return payload;
|
|
1512
1577
|
}
|
|
1513
1578
|
async getMessageBroadcastTarget() {
|
|
1514
|
-
log.verbose('PuppetService', 'getMessageBroadcastTarget()');
|
|
1579
|
+
this.log.verbose('PuppetService', 'getMessageBroadcastTarget()');
|
|
1515
1580
|
const request = new grpcPuppet.GetMessageBroadcastTargetRequest();
|
|
1516
1581
|
const response = await util.promisify(this.grpcManager.client.getMessageBroadcastTarget.bind(this.grpcManager.client))(request);
|
|
1517
1582
|
return {
|
|
@@ -1520,7 +1585,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1520
1585
|
};
|
|
1521
1586
|
}
|
|
1522
1587
|
async createMessageBroadcast(targets, content) {
|
|
1523
|
-
log.verbose('PuppetService', 'createMessageBroadcast()');
|
|
1588
|
+
this.log.verbose('PuppetService', 'createMessageBroadcast()');
|
|
1524
1589
|
if (!PUPPET.payloads.isPostClient(content)) {
|
|
1525
1590
|
throw new Error('can only create broadcast with client post');
|
|
1526
1591
|
}
|
|
@@ -1532,7 +1597,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1532
1597
|
return response.getId();
|
|
1533
1598
|
}
|
|
1534
1599
|
async getMessageBroadcastStatus(id) {
|
|
1535
|
-
log.verbose('PuppetService', 'getMessageBroadcastStatus()');
|
|
1600
|
+
this.log.verbose('PuppetService', 'getMessageBroadcastStatus()');
|
|
1536
1601
|
const request = new grpcPuppet.GetMessageBroadcastStatusRequest();
|
|
1537
1602
|
request.setId(id);
|
|
1538
1603
|
const response = await util.promisify(this.grpcManager.client.getMessageBroadcastStatus.bind(this.grpcManager.client))(request);
|
|
@@ -1556,10 +1621,10 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1556
1621
|
*
|
|
1557
1622
|
*/
|
|
1558
1623
|
async roomRawPayload(id) {
|
|
1559
|
-
log.verbose('PuppetService', 'roomRawPayload(%s)', id);
|
|
1624
|
+
this.log.verbose('PuppetService', 'roomRawPayload(%s)', id);
|
|
1560
1625
|
const cachedPayload = await this._payloadStore.room?.get(id);
|
|
1561
1626
|
if (cachedPayload) {
|
|
1562
|
-
log.silly('PuppetService', 'roomRawPayload(%s) cache HIT', id);
|
|
1627
|
+
this.log.silly('PuppetService', 'roomRawPayload(%s) cache HIT', id);
|
|
1563
1628
|
return cachedPayload;
|
|
1564
1629
|
}
|
|
1565
1630
|
const request = new grpcPuppet.RoomPayloadRequest();
|
|
@@ -1583,16 +1648,16 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1583
1648
|
payload.createTime = millisecondsFromTimestamp(createTime);
|
|
1584
1649
|
}
|
|
1585
1650
|
await this._payloadStore.room?.set(id, payload);
|
|
1586
|
-
log.silly('PuppetService', 'roomRawPayload(%s) cache SET', id);
|
|
1651
|
+
this.log.silly('PuppetService', 'roomRawPayload(%s) cache SET', id);
|
|
1587
1652
|
return payload;
|
|
1588
1653
|
}
|
|
1589
1654
|
async roomRawPayloadParser(payload) {
|
|
1590
|
-
// log.silly('PuppetService', 'roomRawPayloadParser({id:%s})', payload.id)
|
|
1655
|
+
// this.log.silly('PuppetService', 'roomRawPayloadParser({id:%s})', payload.id)
|
|
1591
1656
|
// passthrough
|
|
1592
1657
|
return payload;
|
|
1593
1658
|
}
|
|
1594
1659
|
async batchRoomRawPayload(roomIdList) {
|
|
1595
|
-
log.verbose('PuppetService', 'batchRoomRawPayload(%s)', roomIdList);
|
|
1660
|
+
this.log.verbose('PuppetService', 'batchRoomRawPayload(%s)', roomIdList);
|
|
1596
1661
|
const result = new Map();
|
|
1597
1662
|
const roomIdSet = new Set(roomIdList);
|
|
1598
1663
|
const needGetSet = new Set();
|
|
@@ -1635,7 +1700,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1635
1700
|
}
|
|
1636
1701
|
}
|
|
1637
1702
|
catch (e) {
|
|
1638
|
-
log.error('PuppetService', 'batchRoomRawPayload(%s, %s) error: %s, use one by one method', roomIdList, needGetSet, e);
|
|
1703
|
+
this.log.error('PuppetService', 'batchRoomRawPayload(%s, %s) error: %s, use one by one method', roomIdList, needGetSet, e);
|
|
1639
1704
|
for (const roomId of needGetSet) {
|
|
1640
1705
|
const payload = await this.roomRawPayload(roomId);
|
|
1641
1706
|
result.set(roomId, payload);
|
|
@@ -1645,13 +1710,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1645
1710
|
return result;
|
|
1646
1711
|
}
|
|
1647
1712
|
async roomList() {
|
|
1648
|
-
log.verbose('PuppetService', 'roomList()');
|
|
1713
|
+
this.log.verbose('PuppetService', 'roomList()');
|
|
1649
1714
|
const response = await util.promisify(this.grpcManager.client.roomList
|
|
1650
1715
|
.bind(this.grpcManager.client))(new grpcPuppet.RoomListRequest());
|
|
1651
1716
|
return response.getIdsList();
|
|
1652
1717
|
}
|
|
1653
1718
|
async roomDel(roomId, contactIds) {
|
|
1654
|
-
log.verbose('PuppetService', 'roomDel(%s, %s)', roomId, contactIds);
|
|
1719
|
+
this.log.verbose('PuppetService', 'roomDel(%s, %s)', roomId, contactIds);
|
|
1655
1720
|
const request = new grpcPuppet.RoomDelRequest();
|
|
1656
1721
|
request.setId(roomId);
|
|
1657
1722
|
if (Array.isArray(contactIds)) {
|
|
@@ -1667,7 +1732,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1667
1732
|
.bind(this.grpcManager.client))(request);
|
|
1668
1733
|
}
|
|
1669
1734
|
async roomDelV2(roomId, contactIds) {
|
|
1670
|
-
log.verbose('PuppetService', 'roomDelV2(%s, %s)', roomId, contactIds);
|
|
1735
|
+
this.log.verbose('PuppetService', 'roomDelV2(%s, %s)', roomId, contactIds);
|
|
1671
1736
|
const request = new grpcPuppet.RoomDelV2Request();
|
|
1672
1737
|
request.setId(roomId);
|
|
1673
1738
|
request.setContactIdsList(contactIds);
|
|
@@ -1680,7 +1745,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1680
1745
|
};
|
|
1681
1746
|
}
|
|
1682
1747
|
async roomAvatar(roomId) {
|
|
1683
|
-
log.verbose('PuppetService', 'roomAvatar(%s)', roomId);
|
|
1748
|
+
this.log.verbose('PuppetService', 'roomAvatar(%s)', roomId);
|
|
1684
1749
|
const request = new grpcPuppet.RoomAvatarRequest();
|
|
1685
1750
|
request.setId(roomId);
|
|
1686
1751
|
const response = await util.promisify(this.grpcManager.client.roomAvatar
|
|
@@ -1689,7 +1754,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1689
1754
|
return this.FileBoxUuid.fromJSON(jsonText);
|
|
1690
1755
|
}
|
|
1691
1756
|
async roomAdd(roomId, contactId, inviteOnly, quoteIds) {
|
|
1692
|
-
log.verbose('PuppetService', 'roomAdd(%s, %s)', roomId, contactId);
|
|
1757
|
+
this.log.verbose('PuppetService', 'roomAdd(%s, %s)', roomId, contactId);
|
|
1693
1758
|
const request = new grpcPuppet.RoomAddRequest();
|
|
1694
1759
|
request.setId(roomId);
|
|
1695
1760
|
if (Array.isArray(contactId)) {
|
|
@@ -1704,7 +1769,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1704
1769
|
.bind(this.grpcManager.client))(request);
|
|
1705
1770
|
}
|
|
1706
1771
|
async roomAddV2(roomId, contactIds, inviteOnly, quoteIds) {
|
|
1707
|
-
log.verbose('PuppetService', 'roomAddV2(%s, %s)', roomId, contactIds);
|
|
1772
|
+
this.log.verbose('PuppetService', 'roomAddV2(%s, %s)', roomId, contactIds);
|
|
1708
1773
|
const request = new grpcPuppet.RoomAddV2Request();
|
|
1709
1774
|
request.setId(roomId);
|
|
1710
1775
|
request.setContactIdsList(contactIds);
|
|
@@ -1719,7 +1784,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1719
1784
|
};
|
|
1720
1785
|
}
|
|
1721
1786
|
async roomTopic(roomId, topic) {
|
|
1722
|
-
log.verbose('PuppetService', 'roomTopic(%s, %s)', roomId, topic);
|
|
1787
|
+
this.log.verbose('PuppetService', 'roomTopic(%s, %s)', roomId, topic);
|
|
1723
1788
|
/**
|
|
1724
1789
|
* Get
|
|
1725
1790
|
*/
|
|
@@ -1757,7 +1822,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1757
1822
|
.bind(this.grpcManager.client))(request);
|
|
1758
1823
|
}
|
|
1759
1824
|
async roomRemark(roomId, remark) {
|
|
1760
|
-
log.verbose('PuppetService', 'roomRemark(%s)', roomId);
|
|
1825
|
+
this.log.verbose('PuppetService', 'roomRemark(%s)', roomId);
|
|
1761
1826
|
const request = new grpcPuppet.RoomRemarkRequest();
|
|
1762
1827
|
request.setId(roomId);
|
|
1763
1828
|
request.setRemark(remark);
|
|
@@ -1765,7 +1830,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1765
1830
|
.bind(this.grpcManager.client))(request);
|
|
1766
1831
|
}
|
|
1767
1832
|
async roomCreate(contactIdList, topic) {
|
|
1768
|
-
log.verbose('PuppetService', 'roomCreate(%s, %s)', contactIdList, topic);
|
|
1833
|
+
this.log.verbose('PuppetService', 'roomCreate(%s, %s)', contactIdList, topic);
|
|
1769
1834
|
const request = new grpcPuppet.RoomCreateRequest();
|
|
1770
1835
|
request.setContactIdsList(contactIdList);
|
|
1771
1836
|
request.setTopic(topic);
|
|
@@ -1774,14 +1839,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1774
1839
|
return response.getId();
|
|
1775
1840
|
}
|
|
1776
1841
|
async roomQuit(roomId) {
|
|
1777
|
-
log.verbose('PuppetService', 'roomQuit(%s)', roomId);
|
|
1842
|
+
this.log.verbose('PuppetService', 'roomQuit(%s)', roomId);
|
|
1778
1843
|
const request = new grpcPuppet.RoomQuitRequest();
|
|
1779
1844
|
request.setId(roomId);
|
|
1780
1845
|
await util.promisify(this.grpcManager.client.roomQuit
|
|
1781
1846
|
.bind(this.grpcManager.client))(request);
|
|
1782
1847
|
}
|
|
1783
1848
|
async roomQRCode(roomId) {
|
|
1784
|
-
log.verbose('PuppetService', 'roomQRCode(%s)', roomId);
|
|
1849
|
+
this.log.verbose('PuppetService', 'roomQRCode(%s)', roomId);
|
|
1785
1850
|
const request = new grpcPuppet.RoomQRCodeRequest();
|
|
1786
1851
|
request.setId(roomId);
|
|
1787
1852
|
const response = await util.promisify(this.grpcManager.client.roomQRCode
|
|
@@ -1789,7 +1854,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1789
1854
|
return response.getQrcode();
|
|
1790
1855
|
}
|
|
1791
1856
|
async roomParseDynamicQRCode(url) {
|
|
1792
|
-
log.verbose('PuppetService', 'roomParseDynamicQRCode(%s)', url);
|
|
1857
|
+
this.log.verbose('PuppetService', 'roomParseDynamicQRCode(%s)', url);
|
|
1793
1858
|
const request = new grpcPuppet.RoomParseDynamicQRCodeRequest();
|
|
1794
1859
|
request.setUrl(url);
|
|
1795
1860
|
const response = await util.promisify(this.grpcManager.client.roomParseDynamicQRCode
|
|
@@ -1801,7 +1866,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1801
1866
|
};
|
|
1802
1867
|
}
|
|
1803
1868
|
async roomMemberList(roomId) {
|
|
1804
|
-
log.verbose('PuppetService', 'roomMemberList(%s)', roomId);
|
|
1869
|
+
this.log.verbose('PuppetService', 'roomMemberList(%s)', roomId);
|
|
1805
1870
|
const request = new grpcPuppet.RoomMemberListRequest();
|
|
1806
1871
|
request.setId(roomId);
|
|
1807
1872
|
const response = await util.promisify(this.grpcManager.client.roomMemberList
|
|
@@ -1809,11 +1874,11 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1809
1874
|
return response.getMemberIdsList();
|
|
1810
1875
|
}
|
|
1811
1876
|
async roomMemberRawPayload(roomId, contactId) {
|
|
1812
|
-
log.verbose('PuppetService', 'roomMemberRawPayload(%s, %s)', roomId, contactId);
|
|
1877
|
+
this.log.verbose('PuppetService', 'roomMemberRawPayload(%s, %s)', roomId, contactId);
|
|
1813
1878
|
const cachedPayload = await this._payloadStore.roomMember?.get(roomId);
|
|
1814
1879
|
const cachedRoomMemberPayload = cachedPayload && cachedPayload[contactId];
|
|
1815
1880
|
if (cachedRoomMemberPayload) {
|
|
1816
|
-
log.silly('PuppetService', 'roomMemberRawPayload(%s, %s) cache HIT', roomId, contactId);
|
|
1881
|
+
this.log.silly('PuppetService', 'roomMemberRawPayload(%s, %s) cache HIT', roomId, contactId);
|
|
1817
1882
|
return cachedRoomMemberPayload;
|
|
1818
1883
|
}
|
|
1819
1884
|
const request = new grpcPuppet.RoomMemberPayloadRequest();
|
|
@@ -1835,16 +1900,16 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1835
1900
|
...cachedPayload,
|
|
1836
1901
|
[contactId]: payload,
|
|
1837
1902
|
});
|
|
1838
|
-
log.silly('PuppetService', 'roomMemberRawPayload(%s, %s) cache SET', roomId, contactId);
|
|
1903
|
+
this.log.silly('PuppetService', 'roomMemberRawPayload(%s, %s) cache SET', roomId, contactId);
|
|
1839
1904
|
return payload;
|
|
1840
1905
|
}
|
|
1841
1906
|
async roomMemberRawPayloadParser(payload) {
|
|
1842
|
-
// log.silly('PuppetService', 'roomMemberRawPayloadParser({id:%s})', payload.id)
|
|
1907
|
+
// this.log.silly('PuppetService', 'roomMemberRawPayloadParser({id:%s})', payload.id)
|
|
1843
1908
|
// passthrough
|
|
1844
1909
|
return payload;
|
|
1845
1910
|
}
|
|
1846
1911
|
async batchRoomMemberRawPayload(roomId, contactIdList) {
|
|
1847
|
-
log.verbose('PuppetService', 'batchRoomMemberRawPayload(%s, %s)', roomId, contactIdList);
|
|
1912
|
+
this.log.verbose('PuppetService', 'batchRoomMemberRawPayload(%s, %s)', roomId, contactIdList);
|
|
1848
1913
|
const result = new Map();
|
|
1849
1914
|
const contactIdSet = new Set(contactIdList);
|
|
1850
1915
|
let needGetSet = new Set();
|
|
@@ -1880,7 +1945,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1880
1945
|
await this._payloadStore.roomMember?.set(roomId, cachedPayload);
|
|
1881
1946
|
}
|
|
1882
1947
|
catch (e) {
|
|
1883
|
-
log.error('PuppetService', 'batchRoomMemberRawPayload(%s, %s) error: %s, use one by one method', roomId, needGetSet, e);
|
|
1948
|
+
this.log.error('PuppetService', 'batchRoomMemberRawPayload(%s, %s) error: %s, use one by one method', roomId, needGetSet, e);
|
|
1884
1949
|
for (const contactId of needGetSet) {
|
|
1885
1950
|
const payload = await this.roomMemberRawPayload(roomId, contactId);
|
|
1886
1951
|
result.set(contactId, payload);
|
|
@@ -1890,7 +1955,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1890
1955
|
return result;
|
|
1891
1956
|
}
|
|
1892
1957
|
async roomAnnounce(roomId, text) {
|
|
1893
|
-
log.verbose('PuppetService', 'roomAnnounce(%s%s)', roomId, typeof text === 'undefined'
|
|
1958
|
+
this.log.verbose('PuppetService', 'roomAnnounce(%s%s)', roomId, typeof text === 'undefined'
|
|
1894
1959
|
? ''
|
|
1895
1960
|
: `, ${text}`);
|
|
1896
1961
|
/**
|
|
@@ -1931,14 +1996,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1931
1996
|
return '';
|
|
1932
1997
|
}
|
|
1933
1998
|
async roomInvitationAccept(roomInvitationId) {
|
|
1934
|
-
log.verbose('PuppetService', 'roomInvitationAccept(%s)', roomInvitationId);
|
|
1999
|
+
this.log.verbose('PuppetService', 'roomInvitationAccept(%s)', roomInvitationId);
|
|
1935
2000
|
const request = new grpcPuppet.RoomInvitationAcceptRequest();
|
|
1936
2001
|
request.setId(roomInvitationId);
|
|
1937
2002
|
await util.promisify(this.grpcManager.client.roomInvitationAccept
|
|
1938
2003
|
.bind(this.grpcManager.client))(request);
|
|
1939
2004
|
}
|
|
1940
2005
|
async roomInvitationAcceptByQRCode(qrcode) {
|
|
1941
|
-
log.verbose('PuppetService', 'roomInvitationAcceptByQRCode(%s)', qrcode);
|
|
2006
|
+
this.log.verbose('PuppetService', 'roomInvitationAcceptByQRCode(%s)', qrcode);
|
|
1942
2007
|
const request = new grpcPuppet.RoomInvitationAcceptByQRCodeRequest();
|
|
1943
2008
|
request.setQrcode(qrcode);
|
|
1944
2009
|
const response = await util.promisify(this.grpcManager.client.roomInvitationAcceptByQRCode
|
|
@@ -1949,7 +2014,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1949
2014
|
};
|
|
1950
2015
|
}
|
|
1951
2016
|
async roomInvitationRawPayload(id) {
|
|
1952
|
-
log.verbose('PuppetService', 'roomInvitationRawPayload(%s)', id);
|
|
2017
|
+
this.log.verbose('PuppetService', 'roomInvitationRawPayload(%s)', id);
|
|
1953
2018
|
const request = new grpcPuppet.RoomInvitationPayloadRequest();
|
|
1954
2019
|
request.setId(id);
|
|
1955
2020
|
const response = await util.promisify(this.grpcManager.client.roomInvitationPayload
|
|
@@ -1983,12 +2048,12 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1983
2048
|
return payload;
|
|
1984
2049
|
}
|
|
1985
2050
|
async roomInvitationRawPayloadParser(payload) {
|
|
1986
|
-
// log.silly('PuppetService', 'roomInvitationRawPayloadParser({id:%s})', payload.id)
|
|
2051
|
+
// this.log.silly('PuppetService', 'roomInvitationRawPayloadParser({id:%s})', payload.id)
|
|
1987
2052
|
// passthrough
|
|
1988
2053
|
return payload;
|
|
1989
2054
|
}
|
|
1990
2055
|
async roomPermission(roomId, permission) {
|
|
1991
|
-
log.verbose('PuppetService', 'roomPermission(%s, %s)', roomId, JSON.stringify(permission));
|
|
2056
|
+
this.log.verbose('PuppetService', 'roomPermission(%s, %s)', roomId, JSON.stringify(permission));
|
|
1992
2057
|
const request = new grpcPuppet.RoomPermissionRequest();
|
|
1993
2058
|
request.setId(roomId);
|
|
1994
2059
|
let set = false;
|
|
@@ -2014,7 +2079,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2014
2079
|
return set ? undefined : result;
|
|
2015
2080
|
}
|
|
2016
2081
|
async roomOwnerTransfer(roomId, contactId) {
|
|
2017
|
-
log.verbose('PuppetService', 'roomOwnerTransfer(%s, %s)', roomId, contactId);
|
|
2082
|
+
this.log.verbose('PuppetService', 'roomOwnerTransfer(%s, %s)', roomId, contactId);
|
|
2018
2083
|
const request = new grpcPuppet.RoomOwnerTransferRequest();
|
|
2019
2084
|
request.setId(roomId);
|
|
2020
2085
|
request.setContactId(contactId);
|
|
@@ -2022,7 +2087,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2022
2087
|
.bind(this.grpcManager.client))(request);
|
|
2023
2088
|
}
|
|
2024
2089
|
async roomAddAdmins(roomId, contactIdList) {
|
|
2025
|
-
log.verbose('PuppetService', 'roomAddAdmins(%s, %s)', roomId, contactIdList);
|
|
2090
|
+
this.log.verbose('PuppetService', 'roomAddAdmins(%s, %s)', roomId, contactIdList);
|
|
2026
2091
|
const request = new grpcPuppet.RoomAdminsRequest();
|
|
2027
2092
|
request.setId(roomId);
|
|
2028
2093
|
request.setContactIdsList(contactIdList);
|
|
@@ -2030,7 +2095,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2030
2095
|
.bind(this.grpcManager.client))(request);
|
|
2031
2096
|
}
|
|
2032
2097
|
async roomDelAdmins(roomId, contactIdList) {
|
|
2033
|
-
log.verbose('PuppetService', 'roomDelAdmins(%s, %s)', roomId, contactIdList);
|
|
2098
|
+
this.log.verbose('PuppetService', 'roomDelAdmins(%s, %s)', roomId, contactIdList);
|
|
2034
2099
|
const request = new grpcPuppet.RoomAdminsRequest();
|
|
2035
2100
|
request.setId(roomId);
|
|
2036
2101
|
request.setContactIdsList(contactIdList);
|
|
@@ -2038,7 +2103,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2038
2103
|
.bind(this.grpcManager.client))(request);
|
|
2039
2104
|
}
|
|
2040
2105
|
async roomDismiss(roomId) {
|
|
2041
|
-
log.verbose('PuppetService', 'roomDelAdmins(%s)', roomId);
|
|
2106
|
+
this.log.verbose('PuppetService', 'roomDelAdmins(%s)', roomId);
|
|
2042
2107
|
const request = new grpcPuppet.RoomDismissRequest();
|
|
2043
2108
|
request.setId(roomId);
|
|
2044
2109
|
await util.promisify(this.grpcManager.client.roomDismiss
|
|
@@ -2050,7 +2115,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2050
2115
|
*
|
|
2051
2116
|
*/
|
|
2052
2117
|
async friendshipSearchPhone(phone, type) {
|
|
2053
|
-
log.verbose('PuppetService', 'friendshipSearchPhone(%s)', phone);
|
|
2118
|
+
this.log.verbose('PuppetService', 'friendshipSearchPhone(%s)', phone);
|
|
2054
2119
|
const request = new grpcPuppet.FriendshipSearchPhoneRequest();
|
|
2055
2120
|
request.setPhone(phone);
|
|
2056
2121
|
if (typeof (type) === 'undefined') {
|
|
@@ -2075,7 +2140,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2075
2140
|
return null;
|
|
2076
2141
|
}
|
|
2077
2142
|
async friendshipSearchHandle(handle, type) {
|
|
2078
|
-
log.verbose('PuppetService', 'friendshipSearchHandle(%s)', handle);
|
|
2143
|
+
this.log.verbose('PuppetService', 'friendshipSearchHandle(%s)', handle);
|
|
2079
2144
|
const request = new grpcPuppet.FriendshipSearchHandleRequest();
|
|
2080
2145
|
/**
|
|
2081
2146
|
* TODO: use `setHandle()` in v2.0.0
|
|
@@ -2104,7 +2169,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2104
2169
|
return null;
|
|
2105
2170
|
}
|
|
2106
2171
|
async friendshipRawPayload(id) {
|
|
2107
|
-
log.verbose('PuppetService', 'friendshipRawPayload(%s)', id);
|
|
2172
|
+
this.log.verbose('PuppetService', 'friendshipRawPayload(%s)', id);
|
|
2108
2173
|
const request = new grpcPuppet.FriendshipPayloadRequest();
|
|
2109
2174
|
request.setId(id);
|
|
2110
2175
|
const response = await util.promisify(this.grpcManager.client.friendshipPayload
|
|
@@ -2121,12 +2186,12 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2121
2186
|
return payload;
|
|
2122
2187
|
}
|
|
2123
2188
|
async friendshipRawPayloadParser(payload) {
|
|
2124
|
-
// log.silly('PuppetService', 'friendshipRawPayloadParser({id:%s})', payload.id)
|
|
2189
|
+
// this.log.silly('PuppetService', 'friendshipRawPayloadParser({id:%s})', payload.id)
|
|
2125
2190
|
// passthrough
|
|
2126
2191
|
return payload;
|
|
2127
2192
|
}
|
|
2128
2193
|
async friendshipAdd(contactId, options) {
|
|
2129
|
-
log.verbose('PuppetService', 'friendshipAdd(%s, %s)', contactId, JSON.stringify(options));
|
|
2194
|
+
this.log.verbose('PuppetService', 'friendshipAdd(%s, %s)', contactId, JSON.stringify(options));
|
|
2130
2195
|
const request = new grpcPuppet.FriendshipAddRequest();
|
|
2131
2196
|
request.setContactId(contactId);
|
|
2132
2197
|
// FIXME: for backward compatibility, need to be removed after all puppet has updated.
|
|
@@ -2157,7 +2222,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2157
2222
|
.bind(this.grpcManager.client))(request);
|
|
2158
2223
|
}
|
|
2159
2224
|
async friendshipAccept(friendshipId) {
|
|
2160
|
-
log.verbose('PuppetService', 'friendshipAccept(%s)', friendshipId);
|
|
2225
|
+
this.log.verbose('PuppetService', 'friendshipAccept(%s)', friendshipId);
|
|
2161
2226
|
const request = new grpcPuppet.FriendshipAcceptRequest();
|
|
2162
2227
|
request.setId(friendshipId);
|
|
2163
2228
|
await util.promisify(this.grpcManager.client.friendshipAccept
|
|
@@ -2169,7 +2234,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2169
2234
|
*
|
|
2170
2235
|
*/
|
|
2171
2236
|
async tagContactTagAdd(tagIds, contactIds) {
|
|
2172
|
-
log.verbose('PuppetService', 'tagContactTagAdd(%s, %s)', tagIds, contactIds);
|
|
2237
|
+
this.log.verbose('PuppetService', 'tagContactTagAdd(%s, %s)', tagIds, contactIds);
|
|
2173
2238
|
const request = new grpcPuppet.TagContactTagAddRequest();
|
|
2174
2239
|
request.setTagIdsList(tagIds);
|
|
2175
2240
|
request.setContactIdsList(contactIds);
|
|
@@ -2177,7 +2242,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2177
2242
|
.bind(this.grpcManager.client))(request);
|
|
2178
2243
|
}
|
|
2179
2244
|
async tagContactTagRemove(tagIds, contactIds) {
|
|
2180
|
-
log.verbose('PuppetService', 'tagContactTagRemove(%s, %s)', tagIds, contactIds);
|
|
2245
|
+
this.log.verbose('PuppetService', 'tagContactTagRemove(%s, %s)', tagIds, contactIds);
|
|
2181
2246
|
const request = new grpcPuppet.TagContactTagRemoveRequest();
|
|
2182
2247
|
request.setTagIdsList(tagIds);
|
|
2183
2248
|
request.setContactIdsList(contactIds);
|
|
@@ -2185,7 +2250,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2185
2250
|
.bind(this.grpcManager.client))(request);
|
|
2186
2251
|
}
|
|
2187
2252
|
async tagGroupAdd(tagGroupName) {
|
|
2188
|
-
log.verbose('PuppetService', 'tagGroupAdd(%s)', tagGroupName);
|
|
2253
|
+
this.log.verbose('PuppetService', 'tagGroupAdd(%s)', tagGroupName);
|
|
2189
2254
|
const request = new grpcPuppet.TagGroupAddRequest();
|
|
2190
2255
|
request.setTagGroupName(tagGroupName);
|
|
2191
2256
|
const result = await util.promisify(this.grpcManager.client.tagGroupAdd
|
|
@@ -2194,14 +2259,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2194
2259
|
return id;
|
|
2195
2260
|
}
|
|
2196
2261
|
async tagGroupDelete(tagGroupId) {
|
|
2197
|
-
log.verbose('PuppetService', 'tagGroupDelete(%s)', tagGroupId);
|
|
2262
|
+
this.log.verbose('PuppetService', 'tagGroupDelete(%s)', tagGroupId);
|
|
2198
2263
|
const request = new grpcPuppet.TagGroupDeleteRequest();
|
|
2199
2264
|
request.setTagGroupId(tagGroupId);
|
|
2200
2265
|
await util.promisify(this.grpcManager.client.tagGroupDelete
|
|
2201
2266
|
.bind(this.grpcManager.client))(request);
|
|
2202
2267
|
}
|
|
2203
2268
|
async tagTagAdd(tagNameList, tagGroupId) {
|
|
2204
|
-
log.verbose('PuppetService', 'tagTagAdd(%s, %s)', tagNameList, tagGroupId);
|
|
2269
|
+
this.log.verbose('PuppetService', 'tagTagAdd(%s, %s)', tagNameList, tagGroupId);
|
|
2205
2270
|
const request = new grpcPuppet.TagTagAddRequest();
|
|
2206
2271
|
if (typeof tagGroupId !== 'undefined') {
|
|
2207
2272
|
request.setTagGroupId(tagGroupId);
|
|
@@ -2216,14 +2281,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2216
2281
|
return tagInfoList;
|
|
2217
2282
|
}
|
|
2218
2283
|
async tagTagDelete(tagIdList) {
|
|
2219
|
-
log.verbose('PuppetService', 'tagTagDelete(%s)', tagIdList);
|
|
2284
|
+
this.log.verbose('PuppetService', 'tagTagDelete(%s)', tagIdList);
|
|
2220
2285
|
const request = new grpcPuppet.TagTagDeleteRequest();
|
|
2221
2286
|
request.setTagIdList(tagIdList);
|
|
2222
2287
|
await util.promisify(this.grpcManager.client.tagTagDelete
|
|
2223
2288
|
.bind(this.grpcManager.client))(request);
|
|
2224
2289
|
}
|
|
2225
2290
|
async tagTagModify(tagNewInfoList) {
|
|
2226
|
-
log.verbose('PuppetService', 'tagTagModify(%o)', tagNewInfoList);
|
|
2291
|
+
this.log.verbose('PuppetService', 'tagTagModify(%o)', tagNewInfoList);
|
|
2227
2292
|
const request = new grpcPuppet.TagTagModifyRequest();
|
|
2228
2293
|
const newInfoList = tagNewInfoList.map(i => {
|
|
2229
2294
|
const tagInfo = new grpcPuppet.TagTagInfo();
|
|
@@ -2241,7 +2306,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2241
2306
|
return tagInfoList;
|
|
2242
2307
|
}
|
|
2243
2308
|
async tagGroupList() {
|
|
2244
|
-
log.verbose('PuppetService', 'tagGroupList()');
|
|
2309
|
+
this.log.verbose('PuppetService', 'tagGroupList()');
|
|
2245
2310
|
const request = new grpcPuppet.TagGroupListRequest();
|
|
2246
2311
|
const result = await util.promisify(this.grpcManager.client.tagGroupList
|
|
2247
2312
|
.bind(this.grpcManager.client))(request);
|
|
@@ -2249,7 +2314,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2249
2314
|
return groupIds;
|
|
2250
2315
|
}
|
|
2251
2316
|
async tagGroupTagList(tagGroupId) {
|
|
2252
|
-
log.verbose('PuppetService', 'tagGroupTagList(%s)', tagGroupId);
|
|
2317
|
+
this.log.verbose('PuppetService', 'tagGroupTagList(%s)', tagGroupId);
|
|
2253
2318
|
const request = new grpcPuppet.TagGroupTagListRequest();
|
|
2254
2319
|
if (typeof tagGroupId !== 'undefined') {
|
|
2255
2320
|
request.setTagGroupId(tagGroupId);
|
|
@@ -2260,7 +2325,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2260
2325
|
return tagIds;
|
|
2261
2326
|
}
|
|
2262
2327
|
async tagTagList() {
|
|
2263
|
-
log.verbose('PuppetService', 'tagTagList()');
|
|
2328
|
+
this.log.verbose('PuppetService', 'tagTagList()');
|
|
2264
2329
|
const request = new grpcPuppet.TagTagListRequest();
|
|
2265
2330
|
const result = await util.promisify(this.grpcManager.client.tagTagList
|
|
2266
2331
|
.bind(this.grpcManager.client))(request);
|
|
@@ -2268,7 +2333,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2268
2333
|
return tagIds;
|
|
2269
2334
|
}
|
|
2270
2335
|
async tagContactTagList(contactId) {
|
|
2271
|
-
log.verbose('PuppetService', 'tagContactTagList(%s)', contactId);
|
|
2336
|
+
this.log.verbose('PuppetService', 'tagContactTagList(%s)', contactId);
|
|
2272
2337
|
const request = new grpcPuppet.TagContactTagListRequest();
|
|
2273
2338
|
request.setContactId(contactId);
|
|
2274
2339
|
const result = await util.promisify(this.grpcManager.client.tagContactTagList
|
|
@@ -2277,7 +2342,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2277
2342
|
return tagIds;
|
|
2278
2343
|
}
|
|
2279
2344
|
async tagTagContactList(tagId) {
|
|
2280
|
-
log.verbose('PuppetService', 'tagTagContactList(%s)', tagId);
|
|
2345
|
+
this.log.verbose('PuppetService', 'tagTagContactList(%s)', tagId);
|
|
2281
2346
|
const request = new grpcPuppet.TagTagContactListRequest();
|
|
2282
2347
|
request.setTagId(tagId);
|
|
2283
2348
|
const result = await util.promisify(this.grpcManager.client.tagTagContactList
|
|
@@ -2286,10 +2351,10 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2286
2351
|
return contactIds;
|
|
2287
2352
|
}
|
|
2288
2353
|
async tagGroupPayloadPuppet(id) {
|
|
2289
|
-
log.verbose('PuppetService', 'tagGroupPayload(%s)', id);
|
|
2354
|
+
this.log.verbose('PuppetService', 'tagGroupPayload(%s)', id);
|
|
2290
2355
|
const cachedPayload = await this._payloadStore.tagGroup?.get(id);
|
|
2291
2356
|
if (cachedPayload) {
|
|
2292
|
-
log.silly('PuppetService', 'tagGroupPayload(%s) cache HIT', id);
|
|
2357
|
+
this.log.silly('PuppetService', 'tagGroupPayload(%s) cache HIT', id);
|
|
2293
2358
|
return cachedPayload;
|
|
2294
2359
|
}
|
|
2295
2360
|
const request = new grpcPuppet.TagGroupPayloadRequest();
|
|
@@ -2306,14 +2371,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2306
2371
|
type: grpcPayload.getType(),
|
|
2307
2372
|
};
|
|
2308
2373
|
await this._payloadStore.tagGroup?.set(id, payload);
|
|
2309
|
-
log.silly('PuppetService', 'tagGroupPayloadPuppet(%s) cache SET', id);
|
|
2374
|
+
this.log.silly('PuppetService', 'tagGroupPayloadPuppet(%s) cache SET', id);
|
|
2310
2375
|
return payload;
|
|
2311
2376
|
}
|
|
2312
2377
|
async tagPayloadPuppet(tagId) {
|
|
2313
|
-
log.verbose('PuppetService', 'tagPayloadPuppet(%s)', tagId);
|
|
2378
|
+
this.log.verbose('PuppetService', 'tagPayloadPuppet(%s)', tagId);
|
|
2314
2379
|
const cachedPayload = await this._payloadStore.tag?.get(tagId);
|
|
2315
2380
|
if (cachedPayload) {
|
|
2316
|
-
log.silly('PuppetService', 'tagPayloadPuppet(%s) cache HIT', tagId);
|
|
2381
|
+
this.log.silly('PuppetService', 'tagPayloadPuppet(%s) cache HIT', tagId);
|
|
2317
2382
|
return cachedPayload;
|
|
2318
2383
|
}
|
|
2319
2384
|
const request = new grpcPuppet.TagPayloadRequest();
|
|
@@ -2331,7 +2396,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2331
2396
|
type: grpcPayload.getType(),
|
|
2332
2397
|
};
|
|
2333
2398
|
await this._payloadStore.tag?.set(tagId, payload);
|
|
2334
|
-
log.silly('PuppetService', 'tagPayloadPuppet(%s) cache SET', tagId);
|
|
2399
|
+
this.log.silly('PuppetService', 'tagPayloadPuppet(%s) cache SET', tagId);
|
|
2335
2400
|
return payload;
|
|
2336
2401
|
}
|
|
2337
2402
|
/**
|
|
@@ -2340,7 +2405,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2340
2405
|
*
|
|
2341
2406
|
*/
|
|
2342
2407
|
async postPublish(payload) {
|
|
2343
|
-
log.verbose('PuppetService', 'postPublish(%s)', payload);
|
|
2408
|
+
this.log.verbose('PuppetService', 'postPublish(%s)', payload);
|
|
2344
2409
|
if (!PUPPET.payloads.isPostClient(payload)) {
|
|
2345
2410
|
throw new Error('can only publish client post now');
|
|
2346
2411
|
}
|
|
@@ -2353,13 +2418,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2353
2418
|
return momentId;
|
|
2354
2419
|
}
|
|
2355
2420
|
async postUnpublish(id) {
|
|
2356
|
-
log.verbose('PuppetService', 'postUnpublish(%s)', id);
|
|
2421
|
+
this.log.verbose('PuppetService', 'postUnpublish(%s)', id);
|
|
2357
2422
|
const request = new grpcPuppet.MomentUnpublishRequest();
|
|
2358
2423
|
request.setMomentId(id);
|
|
2359
2424
|
await util.promisify(this.grpcManager.client.momentUnpublish.bind(this.grpcManager.client))(request);
|
|
2360
2425
|
}
|
|
2361
2426
|
async momentSignature(text) {
|
|
2362
|
-
log.verbose('PuppetService', 'momentSignature(%s)', text);
|
|
2427
|
+
this.log.verbose('PuppetService', 'momentSignature(%s)', text);
|
|
2363
2428
|
const request = new grpcPuppet.MomentSignatureRequest();
|
|
2364
2429
|
if (text) {
|
|
2365
2430
|
request.setText(text);
|
|
@@ -2370,7 +2435,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2370
2435
|
return signature;
|
|
2371
2436
|
}
|
|
2372
2437
|
async momentCoverage(cover) {
|
|
2373
|
-
log.verbose('PuppetService', 'momentCoverage(%s)', JSON.stringify(cover));
|
|
2438
|
+
this.log.verbose('PuppetService', 'momentCoverage(%s)', JSON.stringify(cover));
|
|
2374
2439
|
const request = new grpcPuppet.MomentCoverageRequest();
|
|
2375
2440
|
if (cover) {
|
|
2376
2441
|
const serializedFileBox = await this.serializeFileBox(cover);
|
|
@@ -2384,7 +2449,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2384
2449
|
}
|
|
2385
2450
|
}
|
|
2386
2451
|
async postPayloadSayable(postId, sayableId) {
|
|
2387
|
-
log.verbose('PuppetService', 'postPayloadSayable(%s, %s)', postId, sayableId);
|
|
2452
|
+
this.log.verbose('PuppetService', 'postPayloadSayable(%s, %s)', postId, sayableId);
|
|
2388
2453
|
const request = new grpcPuppet.PostPayloadSayableRequest();
|
|
2389
2454
|
request.setPostId(postId);
|
|
2390
2455
|
request.setSayableId(sayableId);
|
|
@@ -2436,7 +2501,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2436
2501
|
}
|
|
2437
2502
|
}
|
|
2438
2503
|
async postRawPayload(id) {
|
|
2439
|
-
log.verbose('PuppetService', 'postRawPayload(%s)', id);
|
|
2504
|
+
this.log.verbose('PuppetService', 'postRawPayload(%s)', id);
|
|
2440
2505
|
const request = new grpcPuppet.PostPayloadRequest();
|
|
2441
2506
|
request.setPostId(id);
|
|
2442
2507
|
const response = await util.promisify(this.grpcManager.client.postPayload
|
|
@@ -2480,12 +2545,12 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2480
2545
|
return payload;
|
|
2481
2546
|
}
|
|
2482
2547
|
async postRawPayloadParser(payload) {
|
|
2483
|
-
// log.silly('PuppetService', 'postRawPayloadParser({id:%s})', payload.id)
|
|
2548
|
+
// this.log.silly('PuppetService', 'postRawPayloadParser({id:%s})', payload.id)
|
|
2484
2549
|
// passthrough
|
|
2485
2550
|
return payload;
|
|
2486
2551
|
}
|
|
2487
2552
|
async tap(postId, type, tap = true) {
|
|
2488
|
-
log.verbose('PuppetService', 'tap(%s, %s, %s)', postId, type, tap);
|
|
2553
|
+
this.log.verbose('PuppetService', 'tap(%s, %s, %s)', postId, type, tap);
|
|
2489
2554
|
const request = new grpcPuppet.PostTapRequest();
|
|
2490
2555
|
request.setPostId(postId);
|
|
2491
2556
|
if (type) {
|
|
@@ -2498,14 +2563,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2498
2563
|
return result;
|
|
2499
2564
|
}
|
|
2500
2565
|
async momentVisibleList() {
|
|
2501
|
-
log.verbose('PuppetService', 'momentVisibleList()');
|
|
2566
|
+
this.log.verbose('PuppetService', 'momentVisibleList()');
|
|
2502
2567
|
const request = new grpcPuppet.MomentVisibleListRequest();
|
|
2503
2568
|
const response = await util.promisify(this.grpcManager.client.momentVisibleList.bind(this.grpcManager.client))(request);
|
|
2504
2569
|
const contactIdsList = response.getContactIdsList();
|
|
2505
2570
|
return contactIdsList;
|
|
2506
2571
|
}
|
|
2507
2572
|
async getContactExternalUserId(contactIds, serviceProviderId) {
|
|
2508
|
-
log.verbose('PuppetService', 'getContactExternalUserId(%s, %s)', JSON.stringify(contactIds), serviceProviderId);
|
|
2573
|
+
this.log.verbose('PuppetService', 'getContactExternalUserId(%s, %s)', JSON.stringify(contactIds), serviceProviderId);
|
|
2509
2574
|
const request = new grpcPuppet.GetContactExternalUserIdRequest();
|
|
2510
2575
|
request.setContactIdsList(contactIds);
|
|
2511
2576
|
if (serviceProviderId) {
|
|
@@ -2523,7 +2588,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2523
2588
|
return result;
|
|
2524
2589
|
}
|
|
2525
2590
|
async getRoomAntiSpamStrategyList() {
|
|
2526
|
-
log.verbose('PuppetService', 'getRoomAntiSpamStrategyList()');
|
|
2591
|
+
this.log.verbose('PuppetService', 'getRoomAntiSpamStrategyList()');
|
|
2527
2592
|
const request = new grpcPuppet.GetRoomAntiSpamStrategyListRequest();
|
|
2528
2593
|
const response = await util.promisify(this.grpcManager.client.getRoomAntiSpamStrategyList.bind(this.grpcManager.client))(request);
|
|
2529
2594
|
const result = [];
|
|
@@ -2537,7 +2602,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2537
2602
|
return result;
|
|
2538
2603
|
}
|
|
2539
2604
|
async getRoomAntiSpamStrategyEffectRoomList(strategyId) {
|
|
2540
|
-
log.verbose('PuppetService', 'getRoomAntiSpamStrategyEffectRoomList(%s)', strategyId);
|
|
2605
|
+
this.log.verbose('PuppetService', 'getRoomAntiSpamStrategyEffectRoomList(%s)', strategyId);
|
|
2541
2606
|
const request = new grpcPuppet.GetRoomAntiSpamStrategyEffectRoomListRequest();
|
|
2542
2607
|
request.setStrategyId(strategyId);
|
|
2543
2608
|
const response = await util.promisify(this.grpcManager.client.getRoomAntiSpamStrategyEffectRoomList.bind(this.grpcManager.client))(request);
|
|
@@ -2545,7 +2610,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2545
2610
|
return result;
|
|
2546
2611
|
}
|
|
2547
2612
|
async applyRoomAntiSpamStrategy(strategyId, roomIds, active) {
|
|
2548
|
-
log.verbose('PuppetService', 'applyRoomAntiSpamStrategy(%s, %s, %s)', strategyId, roomIds, active);
|
|
2613
|
+
this.log.verbose('PuppetService', 'applyRoomAntiSpamStrategy(%s, %s, %s)', strategyId, roomIds, active);
|
|
2549
2614
|
const request = new grpcPuppet.ApplyRoomAntiSpamStrategyRequest();
|
|
2550
2615
|
request.setStrategyId(strategyId);
|
|
2551
2616
|
request.setRoomIdsList(roomIds);
|
|
@@ -2553,7 +2618,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2553
2618
|
await util.promisify(this.grpcManager.client.applyRoomAntiSpamStrategy.bind(this.grpcManager.client))(request);
|
|
2554
2619
|
}
|
|
2555
2620
|
async getCorpMessageInterceptionStrategies() {
|
|
2556
|
-
log.verbose('PuppetService', 'getCorpMessageInterceptionStrategies()');
|
|
2621
|
+
this.log.verbose('PuppetService', 'getCorpMessageInterceptionStrategies()');
|
|
2557
2622
|
const request = new grpcPuppet.GetCorpMessageInterceptionStrategiesRequest();
|
|
2558
2623
|
const response = await util.promisify(this.grpcManager.client.getCorpMessageInterceptionStrategies.bind(this.grpcManager.client))(request);
|
|
2559
2624
|
const result = [];
|
|
@@ -2586,15 +2651,15 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2586
2651
|
reconnectIndicator;
|
|
2587
2652
|
async reset() {
|
|
2588
2653
|
if (!this._grpcManager) {
|
|
2589
|
-
log.warn('PuppetService', 'grpc manager not constructed, perform regular reset');
|
|
2654
|
+
this.log.warn('PuppetService', 'grpc manager not constructed, perform regular reset');
|
|
2590
2655
|
return super.reset();
|
|
2591
2656
|
}
|
|
2592
2657
|
if (!this.isLoggedIn) {
|
|
2593
|
-
log.warn('PuppetService', 'puppet not logged in, perform regular reset');
|
|
2658
|
+
this.log.warn('PuppetService', 'puppet not logged in, perform regular reset');
|
|
2594
2659
|
return super.reset();
|
|
2595
2660
|
}
|
|
2596
2661
|
if (this.reconnectIndicator.value()) {
|
|
2597
|
-
log.warn('PuppetService', 'already trying to reconnect, pass this one');
|
|
2662
|
+
this.log.warn('PuppetService', 'already trying to reconnect, pass this one');
|
|
2598
2663
|
return;
|
|
2599
2664
|
}
|
|
2600
2665
|
this.reconnectIndicator.value(true);
|
|
@@ -2644,13 +2709,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2644
2709
|
}
|
|
2645
2710
|
catch (e) {
|
|
2646
2711
|
if (Date.now() - startTime < timeoutMilliseconds) {
|
|
2647
|
-
log.warn('failed to start stream, will try again in 15 seconds');
|
|
2712
|
+
this.log.warn('failed to start stream, will try again in 15 seconds');
|
|
2648
2713
|
await new Promise(resolve => {
|
|
2649
2714
|
setTimeout(resolve, 5000);
|
|
2650
2715
|
});
|
|
2651
2716
|
}
|
|
2652
2717
|
else {
|
|
2653
|
-
log.warn('failed to start stream and reaches timeout, will perform regular reset');
|
|
2718
|
+
this.log.warn('failed to start stream and reaches timeout, will perform regular reset');
|
|
2654
2719
|
this.reconnectIndicator.value(false);
|
|
2655
2720
|
return super.reset();
|
|
2656
2721
|
}
|
|
@@ -2667,7 +2732,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2667
2732
|
});
|
|
2668
2733
|
}
|
|
2669
2734
|
catch (e) {
|
|
2670
|
-
log.warn('PuppetService', 'waiting for event reset login error, will perform regular reset');
|
|
2735
|
+
this.log.warn('PuppetService', 'waiting for event reset login error, will perform regular reset');
|
|
2671
2736
|
return super.reset();
|
|
2672
2737
|
}
|
|
2673
2738
|
try {
|
|
@@ -2678,7 +2743,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2678
2743
|
});
|
|
2679
2744
|
}
|
|
2680
2745
|
catch (e) {
|
|
2681
|
-
log.warn('PuppetService', 'waiting for event reset ready error, will do nothing');
|
|
2746
|
+
this.log.warn('PuppetService', 'waiting for event reset ready error, will do nothing');
|
|
2682
2747
|
}
|
|
2683
2748
|
}
|
|
2684
2749
|
async getMiscellaneousStoreData() {
|
|
@@ -2692,7 +2757,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2692
2757
|
const lastEventTimestamp = await this._payloadStore.miscellaneous?.get('lastEventTimestamp');
|
|
2693
2758
|
let lastEventSeq = await this._payloadStore.miscellaneous?.get('lastEventSeq');
|
|
2694
2759
|
if ((Date.now() - Number(lastEventTimestamp || 0)) > this.timeoutMilliseconds) {
|
|
2695
|
-
log.warn(`last event was ${(Date.now() - Number(lastEventTimestamp || 0)) / 1000} seconds ago, will not request event cache`);
|
|
2760
|
+
this.log.warn(`last event was ${(Date.now() - Number(lastEventTimestamp || 0)) / 1000} seconds ago, will not request event cache`);
|
|
2696
2761
|
lastEventSeq = undefined;
|
|
2697
2762
|
}
|
|
2698
2763
|
const accountId = await this._payloadStore.miscellaneous?.get('accountId');
|