@juzi/wechaty 1.0.61 → 1.0.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/cjs/src/package-json.d.ts.map +1 -1
  2. package/dist/cjs/src/package-json.js +4 -3
  3. package/dist/cjs/src/package-json.js.map +1 -1
  4. package/dist/cjs/src/wechaty/wechaty-base.d.ts +31 -0
  5. package/dist/cjs/src/wechaty/wechaty-base.d.ts.map +1 -1
  6. package/dist/cjs/src/wechaty/wechaty-base.spec.js +75 -2
  7. package/dist/cjs/src/wechaty/wechaty-base.spec.js.map +1 -1
  8. package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts +4 -0
  9. package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
  10. package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts +4 -0
  11. package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
  12. package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts +6 -0
  13. package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
  14. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts +12 -12
  15. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  16. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +49 -3
  17. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  18. package/dist/esm/src/package-json.d.ts.map +1 -1
  19. package/dist/esm/src/package-json.js +4 -3
  20. package/dist/esm/src/package-json.js.map +1 -1
  21. package/dist/esm/src/wechaty/wechaty-base.d.ts +31 -0
  22. package/dist/esm/src/wechaty/wechaty-base.d.ts.map +1 -1
  23. package/dist/esm/src/wechaty/wechaty-base.spec.js +75 -2
  24. package/dist/esm/src/wechaty/wechaty-base.spec.js.map +1 -1
  25. package/dist/esm/src/wechaty-mixins/login-mixin.d.ts +4 -0
  26. package/dist/esm/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
  27. package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts +4 -0
  28. package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
  29. package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts +6 -0
  30. package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
  31. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts +12 -12
  32. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  33. package/dist/esm/src/wechaty-mixins/puppet-mixin.js +50 -4
  34. package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  35. package/package.json +3 -2
  36. package/src/package-json.ts +4 -3
  37. package/src/wechaty/wechaty-base.spec.ts +96 -3
  38. package/src/wechaty-mixins/puppet-mixin.ts +60 -6
@@ -1,7 +1,7 @@
1
1
  import * as PUPPET from '@juzi/wechaty-puppet';
2
2
  import { log } from '@juzi/wechaty-puppet';
3
3
  import { GError, timeoutPromise, TimeoutPromiseGError, } from 'gerror';
4
- import { StateSwitch } from 'state-switch';
4
+ import { StateSwitch, BooleanIndicator, } from 'state-switch';
5
5
  import { config, PUPPET_PAYLOAD_SYNC_GAP, PUPPET_PAYLOAD_SYNC_MAX_RETRY } from '../config.js';
6
6
  import { timestampToDate } from '../pure-functions/timestamp-to-date.js';
7
7
  import { ContactImportantFields, RoomImportantFields } from '../schemas/update.js';
@@ -26,11 +26,14 @@ const puppetMixin = (mixinBase) => {
26
26
  return this.__puppet;
27
27
  }
28
28
  __readyState;
29
+ __loginIndicator;
29
30
  __puppetMixinInited = false;
31
+ __offCallbackList = [];
30
32
  constructor(...args) {
31
33
  log.verbose('WechatyPuppetMixin', 'construct()');
32
34
  super(...args);
33
35
  this.__readyState = new StateSwitch('WechatyReady', { log });
36
+ this.__loginIndicator = new BooleanIndicator();
34
37
  }
35
38
  async start() {
36
39
  log.verbose('WechatyPuppetMixin', 'start()');
@@ -73,6 +76,18 @@ const puppetMixin = (mixinBase) => {
73
76
  catch (e) {
74
77
  this.emitError(e);
75
78
  }
79
+ const loginListener = () => {
80
+ this.__loginIndicator.value(true);
81
+ };
82
+ this.on('login', loginListener);
83
+ const offLoginListener = () => this.off('login', loginListener);
84
+ this.__offCallbackList.push(offLoginListener);
85
+ const logoutListener = () => {
86
+ this.__loginIndicator.value(false);
87
+ };
88
+ this.on('logout', logoutListener);
89
+ const offLogoutListener = () => this.off('logout', logoutListener);
90
+ this.__offCallbackList.push(offLogoutListener);
76
91
  }
77
92
  async stop() {
78
93
  log.verbose('WechatyPuppetMixin', 'stop()');
@@ -91,6 +106,10 @@ const puppetMixin = (mixinBase) => {
91
106
  log.verbose('WechatyPuppetMixin', 'stop() super.stop() ...');
92
107
  await super.stop();
93
108
  log.verbose('WechatyPuppetMixin', 'stop() super.stop() ... done');
109
+ while (this.__offCallbackList.length > 0) {
110
+ const func = this.__offCallbackList.pop();
111
+ func && func();
112
+ }
94
113
  }
95
114
  async ready() {
96
115
  log.verbose('WechatyPuppetMixin', 'ready()');
@@ -294,10 +313,37 @@ const puppetMixin = (mixinBase) => {
294
313
  });
295
314
  break;
296
315
  case 'ready':
297
- puppet.on('ready', () => {
316
+ puppet.on('ready', async () => {
298
317
  log.silly('WechatyPuppetMixin', '__setupPuppetEvents() puppet.on(ready)');
299
- this.emit('ready');
300
- this.__readyState.active(true);
318
+ // ready event should be emitted 15s after login
319
+ let onceLogout;
320
+ let timeout; // 'NodeJS' is not defined.
321
+ const future = new Promise((resolve, reject) => {
322
+ onceLogout = () => {
323
+ reject(new Error('puppet logout!'));
324
+ };
325
+ puppet.once('logout', onceLogout);
326
+ timeout = setTimeout(() => {
327
+ reject(new Error('waiting for login timeout'));
328
+ }, 60 * 1000);
329
+ void this.__loginIndicator.ready(true).then(resolve);
330
+ }).finally(() => {
331
+ puppet.off('logout', onceLogout);
332
+ clearTimeout(timeout);
333
+ });
334
+ try {
335
+ await future;
336
+ await new Promise(resolve => {
337
+ setTimeout(resolve, 15 * 1000);
338
+ });
339
+ if (this.__loginIndicator.value()) {
340
+ this.emit('ready');
341
+ this.__readyState.active(true);
342
+ }
343
+ }
344
+ catch (e) {
345
+ log.error(`ready ignored: ${e.message}`);
346
+ }
301
347
  });
302
348
  break;
303
349
  case 'room-invite':
@@ -1 +1 @@
1
- {"version":3,"file":"puppet-mixin.js","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppet-mixin.js","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juzi/wechaty",
3
- "version": "1.0.61",
3
+ "version": "1.0.63",
4
4
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -123,7 +123,7 @@
123
123
  "memory-card": "^1.1.2",
124
124
  "open-graph": "^0.2.6",
125
125
  "rx-queue": "^1.0.5",
126
- "state-switch": "^1.6.3",
126
+ "state-switch": "^1.7.1",
127
127
  "uuid": "^8.3.2",
128
128
  "wechaty-token": "^1.1.1",
129
129
  "ws": "^8.5.0"
@@ -139,6 +139,7 @@
139
139
  "@types/cross-spawn": "^6.0.2",
140
140
  "@types/dotenv": "^8.2.0",
141
141
  "@types/glob": "^7.2.0",
142
+ "@types/node": "^20.4.6",
142
143
  "@types/open-graph": "^0.2.2",
143
144
  "@types/qrcode-terminal": "^0.12.0",
144
145
  "@types/raven": "^2.5.4",
@@ -4,10 +4,10 @@
4
4
  */
5
5
  import type { PackageJsonWechaty } from './config'
6
6
 
7
- export const GIT_COMMIT_HASH: string = '51b8c1c157946e55d3eb3dbeeb1ca63f559983cf'
7
+ export const GIT_COMMIT_HASH: string = 'b85734323ff05674133bff65aa5c9e6794653725'
8
8
  export const packageJson: PackageJsonWechaty = {
9
9
  "name": "@juzi/wechaty",
10
- "version": "1.0.61",
10
+ "version": "1.0.63",
11
11
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
12
12
  "type": "module",
13
13
  "exports": {
@@ -130,7 +130,7 @@ export const packageJson: PackageJsonWechaty = {
130
130
  "memory-card": "^1.1.2",
131
131
  "open-graph": "^0.2.6",
132
132
  "rx-queue": "^1.0.5",
133
- "state-switch": "^1.6.3",
133
+ "state-switch": "^1.7.1",
134
134
  "uuid": "^8.3.2",
135
135
  "wechaty-token": "^1.1.1",
136
136
  "ws": "^8.5.0"
@@ -146,6 +146,7 @@ export const packageJson: PackageJsonWechaty = {
146
146
  "@types/cross-spawn": "^6.0.2",
147
147
  "@types/dotenv": "^8.2.0",
148
148
  "@types/glob": "^7.2.0",
149
+ "@types/node": "^20.4.6",
149
150
  "@types/open-graph": "^0.2.2",
150
151
  "@types/qrcode-terminal": "^0.12.0",
151
152
  "@types/raven": "^2.5.4",
@@ -50,6 +50,7 @@ import type {
50
50
  WechatyInterface,
51
51
  } from '../wechaty/wechaty-impl.js'
52
52
  import { WechatySkeleton } from './wechaty-skeleton.js'
53
+ import { WechatyBuilder } from '../mods/mod.js'
53
54
 
54
55
  class WechatyTest extends WechatyBase {
55
56
  }
@@ -246,21 +247,30 @@ test('@event ready', async t => {
246
247
  const sandbox = sinon.createSandbox()
247
248
  const spy = sandbox.spy()
248
249
 
250
+ const mockContact = puppet.mocker.createContact({ name: 'any' })
251
+
249
252
  wechaty.on('ready', spy)
250
253
  t.ok(spy.notCalled, 'should no ready event with new wechaty instance')
251
254
 
252
255
  await wechaty.start()
253
256
  t.ok(spy.notCalled, 'should no ready event right start wechaty started')
254
257
 
258
+ await puppet.mocker.login(mockContact)
255
259
  puppet.emit('ready', { data: 'test' })
260
+ await new Promise(resolve => {
261
+ setTimeout(resolve, 16 * 1000)
262
+ })
256
263
  t.equal(spy.callCount, 1, 'should fire ready event after puppet ready')
257
264
 
258
265
  await wechaty.stop()
259
266
  await wechaty.start()
260
267
  t.equal(spy.callCount, 1, 'should fire ready event second time after stop/start wechaty')
261
268
 
269
+ await puppet.mocker.login(mockContact)
262
270
  puppet.emit('ready', { data: 'test' })
263
-
271
+ await new Promise(resolve => {
272
+ setTimeout(resolve, 16 * 1000)
273
+ })
264
274
  t.equal(spy.callCount, 2, 'should fire ready event third time after stop/start wechaty')
265
275
 
266
276
  await wechaty.stop()
@@ -274,6 +284,8 @@ test('ready()', async t => {
274
284
 
275
285
  const spy = sandbox.spy()
276
286
 
287
+ const mockContact = puppet.mocker.createContact({ name: 'any' })
288
+
277
289
  wechaty.ready()
278
290
  .then(spy)
279
291
  .catch(e => t.fail('rejection: ' + e))
@@ -284,8 +296,11 @@ test('ready()', async t => {
284
296
 
285
297
  t.ok(spy.notCalled, 'should not ready after right start wechaty')
286
298
 
299
+ await puppet.mocker.login(mockContact)
287
300
  puppet.emit('ready', { data: 'test' })
288
- await new Promise(resolve => setImmediate(resolve))
301
+ await new Promise(resolve => {
302
+ setTimeout(resolve, 16 * 1000)
303
+ })
289
304
  t.ok(spy.calledOnce, 'should ready after puppet ready')
290
305
 
291
306
  await wechaty.stop()
@@ -294,8 +309,11 @@ test('ready()', async t => {
294
309
  .then(spy)
295
310
  .catch(e => t.fail('rejection: ' + e))
296
311
 
312
+ await puppet.mocker.login(mockContact)
297
313
  puppet.emit('ready', { data: 'test' })
298
- await new Promise(resolve => setImmediate(resolve))
314
+ await new Promise(resolve => {
315
+ setTimeout(resolve, 16 * 1000)
316
+ })
299
317
  t.ok(spy.calledTwice, 'should ready again after stop/start wechaty')
300
318
 
301
319
  await wechaty.stop()
@@ -390,3 +408,78 @@ test('WechatySkeleton: super.{start,stop}()', async t => {
390
408
  t.ok(startStub.calledOnce, 'should only call start once')
391
409
  t.ok(stopStub.calledOnce, 'should call the skeleton stop(), which means all mixin stops()s are chained correctly')
392
410
  })
411
+
412
+ test('ReadyDelay', async t => {
413
+
414
+ const puppet = new PuppetMock() as any
415
+ const wechaty = WechatyBuilder.build({ puppet })
416
+
417
+ const mockContact = puppet.mocker.createContact({ name: 'any' })
418
+
419
+ await wechaty.start()
420
+
421
+ let loginCalled = false
422
+ wechaty.on('login', () => {
423
+ loginCalled = true
424
+ })
425
+
426
+ const future = new Promise<void>(resolve => {
427
+ wechaty.on('ready', () => {
428
+ if (loginCalled) {
429
+ t.pass('ready emitted after login')
430
+ } else {
431
+ t.fail('ready emitted before login')
432
+ }
433
+ resolve()
434
+ })
435
+ })
436
+
437
+ puppet.emit('ready')
438
+ await puppet.mocker.login(mockContact)
439
+
440
+ await future
441
+ await wechaty.stop()
442
+ })
443
+
444
+ test('ReadyMeetsLogout', async t => {
445
+ const puppet = new PuppetMock() as any
446
+ const wechaty = WechatyBuilder.build({ puppet })
447
+
448
+ const mockContact = puppet.mocker.createContact({ name: 'any' })
449
+
450
+ await wechaty.start()
451
+ await puppet.mocker.login(mockContact)
452
+
453
+ let readyEmitted = false
454
+ wechaty.on('ready', () => {
455
+ readyEmitted = true
456
+ })
457
+
458
+ puppet.emit('ready')
459
+ await new Promise(resolve => {
460
+ setTimeout(resolve, 5 * 1000)
461
+ })
462
+
463
+ puppet.emit('logout', { contactId: mockContact.id })
464
+ await new Promise(resolve => {
465
+ setTimeout(resolve, 15 * 1000)
466
+ })
467
+
468
+ t.ok(!readyEmitted, 'ready should not be emitted because puppet logout')
469
+
470
+ puppet.emit('login', { contactId: mockContact.id })
471
+
472
+ await new Promise(resolve => {
473
+ setTimeout(resolve, 5 * 1000)
474
+ })
475
+
476
+ t.ok(!readyEmitted, 'ready should not be emitted because it should wait for a new ready')
477
+
478
+ puppet.emit('ready')
479
+ await new Promise(resolve => {
480
+ setTimeout(resolve, 16 * 1000)
481
+ })
482
+ t.ok(readyEmitted, 'ready should be emitted')
483
+
484
+ await wechaty.stop()
485
+ })
@@ -6,10 +6,11 @@ import {
6
6
  TimeoutPromiseGError,
7
7
  } from 'gerror'
8
8
 
9
- import { StateSwitch } from 'state-switch'
10
- import type {
9
+ import {
10
+ StateSwitch,
11
+ BooleanIndicator,
11
12
  StateSwitchInterface,
12
- } from 'state-switch'
13
+ } from 'state-switch'
13
14
 
14
15
  import { config, PUPPET_PAYLOAD_SYNC_GAP, PUPPET_PAYLOAD_SYNC_MAX_RETRY } from '../config.js'
15
16
  import { timestampToDate } from '../pure-functions/timestamp-to-date.js'
@@ -57,13 +58,18 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
57
58
 
58
59
  readonly __readyState : StateSwitchInterface
59
60
 
61
+ __loginIndicator: BooleanIndicator
62
+
60
63
  __puppetMixinInited = false
61
64
 
65
+ __offCallbackList: (() => void)[] = []
66
+
62
67
  constructor (...args: any[]) {
63
68
  log.verbose('WechatyPuppetMixin', 'construct()')
64
69
  super(...args)
65
70
 
66
71
  this.__readyState = new StateSwitch('WechatyReady', { log })
72
+ this.__loginIndicator = new BooleanIndicator()
67
73
  }
68
74
 
69
75
  override async start (): Promise<void> {
@@ -111,6 +117,20 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
111
117
  } catch (e) {
112
118
  this.emitError(e)
113
119
  }
120
+
121
+ const loginListener = () => {
122
+ this.__loginIndicator.value(true)
123
+ }
124
+ this.on('login', loginListener)
125
+ const offLoginListener = () => this.off('login', loginListener)
126
+ this.__offCallbackList.push(offLoginListener)
127
+
128
+ const logoutListener = () => {
129
+ this.__loginIndicator.value(false)
130
+ }
131
+ this.on('logout', logoutListener)
132
+ const offLogoutListener = () => this.off('logout', logoutListener)
133
+ this.__offCallbackList.push(offLogoutListener)
114
134
  }
115
135
 
116
136
  override async stop (): Promise<void> {
@@ -134,6 +154,11 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
134
154
  log.verbose('WechatyPuppetMixin', 'stop() super.stop() ...')
135
155
  await super.stop()
136
156
  log.verbose('WechatyPuppetMixin', 'stop() super.stop() ... done')
157
+
158
+ while (this.__offCallbackList.length > 0) {
159
+ const func = this.__offCallbackList.pop()
160
+ func && func()
161
+ }
137
162
  }
138
163
 
139
164
  async ready (): Promise<void> {
@@ -359,11 +384,38 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
359
384
  break
360
385
 
361
386
  case 'ready':
362
- puppet.on('ready', () => {
387
+ puppet.on('ready', async () => {
363
388
  log.silly('WechatyPuppetMixin', '__setupPuppetEvents() puppet.on(ready)')
364
389
 
365
- this.emit('ready')
366
- this.__readyState.active(true)
390
+ // ready event should be emitted 15s after login
391
+ let onceLogout: () => void
392
+ let timeout: ReturnType<typeof setTimeout> // 'NodeJS' is not defined.
393
+ const future = new Promise((resolve, reject) => {
394
+ onceLogout = () => {
395
+ reject(new Error('puppet logout!'))
396
+ }
397
+ puppet.once('logout', onceLogout)
398
+ timeout = setTimeout(() => {
399
+ reject(new Error('waiting for login timeout'))
400
+ }, 60 * 1000)
401
+ void this.__loginIndicator.ready(true).then(resolve)
402
+ }).finally(() => {
403
+ puppet.off('logout', onceLogout)
404
+ clearTimeout(timeout)
405
+ })
406
+
407
+ try {
408
+ await future
409
+ await new Promise(resolve => {
410
+ setTimeout(resolve, 15 * 1000)
411
+ })
412
+ if (this.__loginIndicator.value()) {
413
+ this.emit('ready')
414
+ this.__readyState.active(true)
415
+ }
416
+ } catch (e) {
417
+ log.error(`ready ignored: ${(e as Error).message}`)
418
+ }
367
419
  })
368
420
  break
369
421
 
@@ -747,6 +799,8 @@ type ProtectedPropertyPuppetMixin =
747
799
  | '__puppet'
748
800
  | '__readyState'
749
801
  | '__setupPuppetEvents'
802
+ | '__loginIndicator'
803
+ | '__offCallbackList'
750
804
 
751
805
  export type {
752
806
  PuppetMixin,