@juzi/wechaty 1.0.150 → 1.0.156

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 (59) hide show
  1. package/dist/cjs/src/package-json.js +4 -4
  2. package/dist/cjs/src/user-modules/call.spec.js +5 -1
  3. package/dist/cjs/src/user-modules/call.spec.js.map +1 -1
  4. package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
  5. package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
  6. package/dist/cjs/src/user-modules/contact-alias-polling.spec.js +58 -0
  7. package/dist/cjs/src/user-modules/contact-alias-polling.spec.js.map +1 -0
  8. package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
  9. package/dist/cjs/src/user-modules/contact.js +14 -5
  10. package/dist/cjs/src/user-modules/contact.js.map +1 -1
  11. package/dist/cjs/src/user-modules/voice.d.ts +12 -9
  12. package/dist/cjs/src/user-modules/voice.d.ts.map +1 -1
  13. package/dist/cjs/src/user-modules/voice.js +63 -11
  14. package/dist/cjs/src/user-modules/voice.js.map +1 -1
  15. package/dist/cjs/src/user-modules/voice.spec.d.ts +3 -0
  16. package/dist/cjs/src/user-modules/voice.spec.d.ts.map +1 -0
  17. package/dist/cjs/src/user-modules/voice.spec.js +155 -0
  18. package/dist/cjs/src/user-modules/voice.spec.js.map +1 -0
  19. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
  20. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
  21. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +68 -0
  22. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
  23. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  24. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +14 -9
  25. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  26. package/dist/esm/src/package-json.js +4 -4
  27. package/dist/esm/src/user-modules/call.spec.js +5 -1
  28. package/dist/esm/src/user-modules/call.spec.js.map +1 -1
  29. package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
  30. package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
  31. package/dist/esm/src/user-modules/contact-alias-polling.spec.js +56 -0
  32. package/dist/esm/src/user-modules/contact-alias-polling.spec.js.map +1 -0
  33. package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
  34. package/dist/esm/src/user-modules/contact.js +14 -5
  35. package/dist/esm/src/user-modules/contact.js.map +1 -1
  36. package/dist/esm/src/user-modules/voice.d.ts +12 -9
  37. package/dist/esm/src/user-modules/voice.d.ts.map +1 -1
  38. package/dist/esm/src/user-modules/voice.js +63 -11
  39. package/dist/esm/src/user-modules/voice.js.map +1 -1
  40. package/dist/esm/src/user-modules/voice.spec.d.ts +3 -0
  41. package/dist/esm/src/user-modules/voice.spec.d.ts.map +1 -0
  42. package/dist/esm/src/user-modules/voice.spec.js +153 -0
  43. package/dist/esm/src/user-modules/voice.spec.js.map +1 -0
  44. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
  45. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
  46. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +43 -0
  47. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
  48. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  49. package/dist/esm/src/wechaty-mixins/puppet-mixin.js +14 -9
  50. package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  51. package/package.json +3 -3
  52. package/src/package-json.ts +4 -4
  53. package/src/user-modules/call.spec.ts +5 -1
  54. package/src/user-modules/contact-alias-polling.spec.ts +70 -0
  55. package/src/user-modules/contact.ts +14 -5
  56. package/src/user-modules/voice.spec.ts +187 -0
  57. package/src/user-modules/voice.ts +67 -12
  58. package/src/wechaty-mixins/puppet-mixin-dirty-call.spec.ts +55 -0
  59. package/src/wechaty-mixins/puppet-mixin.ts +14 -9
@@ -0,0 +1,153 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ /**
3
+ * Wechaty Chatbot SDK - https://github.com/wechaty/wechaty
4
+ *
5
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
6
+ * Wechaty Contributors <https://github.com/wechaty>.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ *
20
+ */
21
+ import { test, sinon, } from 'tstest';
22
+ import { FileBox } from 'file-box';
23
+ import { PuppetMock } from '@juzi/wechaty-puppet-mock';
24
+ import { WechatyBuilder } from '../wechaty-builder.js';
25
+ const MESSAGE_ID = 'message-id-voice';
26
+ /**
27
+ * The fallback must trigger ONLY when the puppet does not implement the new
28
+ * RPC, never on transient failures: otherwise `text()` silently drops the
29
+ * `noSpeech` discriminator and makes the bot re-run its own paid ASR.
30
+ *
31
+ * The puppet is built & started once and reused across cases (`wechaty.Voice`
32
+ * is unavailable before `start()`). `messageVoice` / `messageVoiceText` are
33
+ * assigned directly (rather than via `sinon.stub(puppet, ...)`) because the
34
+ * installed wechaty-puppet-mock predates those methods, so stubbing a
35
+ * non-existent property would throw.
36
+ */
37
+ const puppet = new PuppetMock();
38
+ const wechaty = WechatyBuilder.build({ puppet });
39
+ let started = false;
40
+ async function ensureStarted() {
41
+ if (!started) {
42
+ await wechaty.start();
43
+ started = true;
44
+ }
45
+ }
46
+ const voice = () => wechaty.Voice.create(MESSAGE_ID);
47
+ const UNSUPPORTED = new Error('Wechaty Puppet Unsupported API Error.');
48
+ test('Voice.file() returns the dedicated messageVoice result when supported', async (t) => {
49
+ await ensureStarted();
50
+ puppet.messageVoice = sinon.stub().resolves(FileBox.fromBuffer(Buffer.from('voice'), 'voice.silk'));
51
+ puppet.messageFile = sinon.stub().resolves(FileBox.fromBuffer(Buffer.from('file'), 'file.bin'));
52
+ const fileBox = await voice().file();
53
+ t.equal(fileBox.name, 'voice.silk', 'should return the messageVoice FileBox');
54
+ t.ok(puppet.messageVoice.calledOnceWith(MESSAGE_ID), 'should call messageVoice');
55
+ t.notOk(puppet.messageFile.called, 'should NOT fall back to messageFile when supported');
56
+ });
57
+ test('Voice.file() falls back to messageFile on unsupported error', async (t) => {
58
+ await ensureStarted();
59
+ puppet.messageVoice = sinon.stub().rejects(UNSUPPORTED);
60
+ puppet.messageFile = sinon.stub().resolves(FileBox.fromBuffer(Buffer.from('file'), 'file.bin'));
61
+ const fileBox = await voice().file();
62
+ t.equal(fileBox.name, 'file.bin', 'should fall back to messageFile');
63
+ t.ok(puppet.messageFile.calledOnceWith(MESSAGE_ID), 'should call messageFile on fallback');
64
+ });
65
+ test('Voice.file() falls back to messageFile when messageVoice is absent (old puppet)', async (t) => {
66
+ await ensureStarted();
67
+ puppet.messageVoice = undefined; // old puppet built without the method at all
68
+ puppet.messageFile = sinon.stub().resolves(FileBox.fromBuffer(Buffer.from('file'), 'file.bin'));
69
+ const fileBox = await voice().file();
70
+ t.equal(fileBox.name, 'file.bin', 'should fall back to messageFile via the typeof guard');
71
+ t.ok(puppet.messageFile.calledOnceWith(MESSAGE_ID), 'should call messageFile on fallback');
72
+ });
73
+ test('Voice.file() rethrows a transient error instead of falling back', async (t) => {
74
+ await ensureStarted();
75
+ puppet.messageVoice = sinon.stub().rejects(new Error('socket hang up'));
76
+ puppet.messageFile = sinon.stub().resolves(FileBox.fromBuffer(Buffer.from('file'), 'file.bin'));
77
+ await t.rejects(() => voice().file(), /socket hang up/, 'should rethrow the transient error');
78
+ t.notOk(puppet.messageFile.called, 'should NOT fall back on a transient error');
79
+ });
80
+ test('Voice.file() rethrows a genuine "is not a function" TypeError from a working messageVoice', async (t) => {
81
+ await ensureStarted();
82
+ // method exists but its implementation throws internally — must NOT be
83
+ // misclassified as unsupported just because the message says "is not a function"
84
+ puppet.messageVoice = sinon.stub().rejects(new TypeError('innerHelper.process is not a function'));
85
+ puppet.messageFile = sinon.stub().resolves(FileBox.fromBuffer(Buffer.from('file'), 'file.bin'));
86
+ await t.rejects(() => voice().file(), /is not a function/, 'should rethrow the internal TypeError');
87
+ t.notOk(puppet.messageFile.called, 'should NOT mask a real implementation bug');
88
+ });
89
+ test('Voice.text() returns the dedicated messageVoiceText payload when supported', async (t) => {
90
+ await ensureStarted();
91
+ puppet.messageVoiceText = sinon.stub().resolves({ text: 'hello', noSpeech: false });
92
+ puppet.messagePayload = sinon.stub().resolves({ text: 'legacy' });
93
+ const result = await voice().text();
94
+ t.same(result, { text: 'hello', noSpeech: false }, 'should return the messageVoiceText payload');
95
+ t.ok(puppet.messageVoiceText.calledOnceWith(MESSAGE_ID), 'should call messageVoiceText');
96
+ t.notOk(puppet.messagePayload.called, 'should NOT fall back to messagePayload when supported');
97
+ });
98
+ test('Voice.text() preserves noSpeech=true from the puppet (skip paid ASR)', async (t) => {
99
+ await ensureStarted();
100
+ puppet.messageVoiceText = sinon.stub().resolves({ text: '', noSpeech: true });
101
+ puppet.messagePayload = sinon.stub().resolves({ text: '' });
102
+ const result = await voice().text();
103
+ t.same(result, { text: '', noSpeech: true }, 'should return the puppet payload verbatim');
104
+ t.equal(result.noSpeech, true, 'should preserve noSpeech=true so the bot can skip its own ASR');
105
+ t.ok(puppet.messageVoiceText.calledOnceWith(MESSAGE_ID), 'should call messageVoiceText');
106
+ t.notOk(puppet.messagePayload.called, 'should NOT fall back when supported');
107
+ });
108
+ test('Voice.text() falls back to messagePayload().text on unsupported error', async (t) => {
109
+ await ensureStarted();
110
+ puppet.messageVoiceText = sinon.stub().rejects(UNSUPPORTED);
111
+ puppet.messagePayload = sinon.stub().resolves({ text: 'legacy asr' });
112
+ const result = await voice().text();
113
+ t.same(result, { text: 'legacy asr', noSpeech: false }, 'should fall back to legacy payload.text with noSpeech=false');
114
+ t.ok(puppet.messagePayload.calledOnceWith(MESSAGE_ID), 'should call messagePayload on fallback');
115
+ });
116
+ test('Voice.text() falls back on gRPC UNIMPLEMENTED (code 12)', async (t) => {
117
+ await ensureStarted();
118
+ const unimplemented = Object.assign(new Error('12 UNIMPLEMENTED'), { code: 12 });
119
+ puppet.messageVoiceText = sinon.stub().rejects(unimplemented);
120
+ puppet.messagePayload = sinon.stub().resolves({ text: 'legacy asr' });
121
+ const result = await voice().text();
122
+ t.same(result, { text: 'legacy asr', noSpeech: false }, 'should fall back when the server returns UNIMPLEMENTED');
123
+ t.ok(puppet.messagePayload.calledOnceWith(MESSAGE_ID), 'should call messagePayload on fallback');
124
+ });
125
+ test('Voice.text() falls back to messagePayload when messageVoiceText is absent (old puppet)', async (t) => {
126
+ await ensureStarted();
127
+ puppet.messageVoiceText = undefined; // old puppet built without the method at all
128
+ puppet.messagePayload = sinon.stub().resolves({ text: 'legacy asr' });
129
+ const result = await voice().text();
130
+ t.same(result, { text: 'legacy asr', noSpeech: false }, 'should fall back via the typeof guard with noSpeech=false');
131
+ t.ok(puppet.messagePayload.calledOnceWith(MESSAGE_ID), 'should call messagePayload on fallback');
132
+ });
133
+ test('Voice.text() rethrows a transient error instead of falling back', async (t) => {
134
+ await ensureStarted();
135
+ puppet.messageVoiceText = sinon.stub().rejects(new Error('ETIMEDOUT'));
136
+ puppet.messagePayload = sinon.stub().resolves({ text: 'legacy asr' });
137
+ await t.rejects(() => voice().text(), /ETIMEDOUT/, 'should rethrow the transient error');
138
+ t.notOk(puppet.messagePayload.called, 'should NOT fall back on a transient error (would drop noSpeech)');
139
+ });
140
+ test('Voice.text() rethrows a genuine "is not a function" TypeError from a working messageVoiceText', async (t) => {
141
+ await ensureStarted();
142
+ // regression: a real internal TypeError must NOT be downgraded — that would
143
+ // drop noSpeech and make the bot re-run its own paid ASR
144
+ puppet.messageVoiceText = sinon.stub().rejects(new TypeError('innerHelper.process is not a function'));
145
+ puppet.messagePayload = sinon.stub().resolves({ text: 'legacy asr' });
146
+ await t.rejects(() => voice().text(), /is not a function/, 'should rethrow the internal TypeError');
147
+ t.notOk(puppet.messagePayload.called, 'should NOT mask a real implementation bug');
148
+ });
149
+ test('teardown: stop the shared wechaty', async (t) => {
150
+ await wechaty.stop();
151
+ t.pass('stopped');
152
+ });
153
+ //# sourceMappingURL=voice.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.spec.js","sourceRoot":"","sources":["../../../../src/user-modules/voice.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ export {};
3
+ //# sourceMappingURL=puppet-mixin-dirty-call.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppet-mixin-dirty-call.spec.d.ts","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin-dirty-call.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ import { test } from 'tstest';
3
+ import * as PUPPET from '@juzi/wechaty-puppet';
4
+ import { PuppetMock } from '@juzi/wechaty-puppet-mock';
5
+ import { WechatyBuilder } from '../wechaty-builder.js';
6
+ /**
7
+ * Regression: the dirty event listener for `Payload.Call` in `puppet-mixin`
8
+ * used to do `await this.puppet.callPayloadDirty(payloadId)` inside the
9
+ * handler itself.
10
+ *
11
+ * Under wechaty-puppet-service, `callPayloadDirty` fires a gRPC
12
+ * `DirtyPayload` to the server, which then re-emits `dirty` back to the
13
+ * client through the event stream. That re-emit triggers the handler
14
+ * again, forming an infinite client⇄server feedback loop.
15
+ *
16
+ * All other dirty branches (Contact / Room / Message / Wxxd*) only call
17
+ * `find(...).ready(true)`; the Call branch was the outlier.
18
+ *
19
+ * The fix removes the in-handler `callPayloadDirty` call so the branch
20
+ * matches the rest of the template. This test pins that contract:
21
+ * emitting a Call-typed dirty event must NOT cause the handler to call
22
+ * `puppet.callPayloadDirty` again.
23
+ */
24
+ test('dirty(Call) handler must NOT call callPayloadDirty (would form a gRPC loop)', async (t) => {
25
+ const puppet = new PuppetMock();
26
+ const wechaty = WechatyBuilder.build({ puppet });
27
+ await wechaty.start();
28
+ let dirtyCallCount = 0;
29
+ const originalCallPayloadDirty = puppet.callPayloadDirty.bind(puppet);
30
+ puppet.callPayloadDirty = async (id) => {
31
+ dirtyCallCount++;
32
+ return originalCallPayloadDirty(id);
33
+ };
34
+ puppet.emit('dirty', {
35
+ payloadType: PUPPET.types.Payload.Call,
36
+ payloadId: 'call-id-x',
37
+ });
38
+ // Allow the async handler to run.
39
+ await new Promise(resolve => setTimeout(resolve, 50));
40
+ t.equal(dirtyCallCount, 0, `dirty(Call) handler must not re-invoke callPayloadDirty; got ${dirtyCallCount} call(s)`);
41
+ await wechaty.stop();
42
+ });
43
+ //# sourceMappingURL=puppet-mixin-dirty-call.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppet-mixin-dirty-call.spec.js","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin-dirty-call.spec.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAa,QAAQ,CAAA;AACpC,OAAO,KAAK,MAAM,MAAU,sBAAsB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAO,2BAA2B,CAAA;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,IAAI,CAAC,6EAA6E,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5F,MAAM,MAAM,GAAG,IAAI,UAAU,EAAS,CAAA;IACtC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAEhD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IAErB,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,MAAM,wBAAwB,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrE,MAAM,CAAC,gBAAgB,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;QAC7C,cAAc,EAAE,CAAA;QAChB,OAAO,wBAAwB,CAAC,EAAE,CAAC,CAAA;IACrC,CAAC,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;QACtC,SAAS,EAAI,WAAW;KACzB,CAAC,CAAA;IAEF,kCAAkC;IAClC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IAErD,CAAC,CAAC,KAAK,CACL,cAAc,EACd,CAAC,EACD,gEAAgE,cAAc,UAAU,CACzF,CAAA;IAED,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;AACtB,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"puppet-mixin.d.ts","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAW,sBAAsB,CAAA;AAQnD,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,EACrB,MAAO,cAAc,CAAA;AAItB,OAAO,KAAK,EACV,QAAQ,EAST,MAAoC,wBAAwB,CAAA;AAa7D;;;;;;;GAOG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAwBS,GAAG,EAAE;;IAjB3B,yDAAyD;gBAC7C,IAAI,MAAM,EAAE,QAAQ,CAAC;;2BAUT,oBAAoB;sBAE1B,gBAAgB;;aAmBT,QAAQ,IAAI,CAAC;YA+Cd,QAAQ,IAAI,CAAC;aAyBrB,QAAQ,IAAI,CAAC;YAML,QAAQ,IAAI,CAAC;gCA8CR,OAAO,KAAK,CAAC,eAAe,GAAG,IAAI;IAsrBhE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;4BAC4B,QAAQ,oBAAkB,QAAQ,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4DzE,CAAA;AAED,aAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;AAEjD,aAAK,4BAA4B,GAC7B,UAAU,GACV,YAAY,GACZ,cAAc,GACd,qBAAqB,GACrB,mBAAmB,GACnB,kBAAkB,CAAA;AAEtB,YAAY,EACV,WAAW,EACX,4BAA4B,GAC7B,CAAA;AACD,OAAO,EACL,WAAW,GACZ,CAAA"}
1
+ {"version":3,"file":"puppet-mixin.d.ts","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAW,sBAAsB,CAAA;AAQnD,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,EACrB,MAAO,cAAc,CAAA;AAItB,OAAO,KAAK,EACV,QAAQ,EAST,MAAoC,wBAAwB,CAAA;AAa7D;;;;;;;GAOG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAwBS,GAAG,EAAE;;IAjB3B,yDAAyD;gBAC7C,IAAI,MAAM,EAAE,QAAQ,CAAC;;2BAUT,oBAAoB;sBAE1B,gBAAgB;;aAmBT,QAAQ,IAAI,CAAC;YA+Cd,QAAQ,IAAI,CAAC;aAyBrB,QAAQ,IAAI,CAAC;YAML,QAAQ,IAAI,CAAC;gCA8CR,OAAO,KAAK,CAAC,eAAe,GAAG,IAAI;IA2rBhE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;4BAC4B,QAAQ,oBAAkB,QAAQ,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4DzE,CAAA;AAED,aAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;AAEjD,aAAK,4BAA4B,GAC7B,UAAU,GACV,YAAY,GACZ,cAAc,GACd,qBAAqB,GACrB,mBAAmB,GACnB,kBAAkB,CAAA;AAEtB,YAAY,EACV,WAAW,EACX,4BAA4B,GAC7B,CAAA;AACD,OAAO,EACL,WAAW,GACZ,CAAA"}
@@ -641,16 +641,21 @@ const puppetMixin = (mixinBase) => {
641
641
  }
642
642
  case PUPPET.types.Payload.Call: {
643
643
  /**
644
- * Invalidate the puppet-side cache so the next callPayload()
645
- * pull reflects the latest server state, then refresh the
646
- * user-layer Call payload so getters (media / participants /
647
- * endTime) reflect the new view immediately. Whether the
648
- * call is still alive is still decided by the call-event
649
- * handler via __finalizeIfEnded; we do not touch the pool
650
- * here, and we do not emit a synthetic user event — the
651
- * UI is expected to read getters when it needs the value.
644
+ * Refresh the user-layer Call payload so getters (media /
645
+ * participants / endTime) reflect the new view. Whether
646
+ * the call is still alive is still decided by the
647
+ * call-event handler via __finalizeIfEnded; we do not
648
+ * touch the pool here, and we do not emit a synthetic
649
+ * user event the UI is expected to read getters when
650
+ * it needs the value.
651
+ *
652
+ * IMPORTANT: do NOT call puppet.callPayloadDirty here.
653
+ * Under puppet-service that fires a gRPC DirtyPayload
654
+ * which the server bounces back as another `dirty`
655
+ * event, forming an infinite client⇄server feedback
656
+ * loop. Cache invalidation is already handled by the
657
+ * cache-mixin onDirty listener registered alongside.
652
658
  */
653
- await this.puppet.callPayloadDirty(payloadId);
654
659
  const call = this.__callPool.get(payloadId);
655
660
  if (call) {
656
661
  try {
@@ -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.150",
3
+ "version": "1.0.156",
4
4
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -109,7 +109,7 @@
109
109
  },
110
110
  "homepage": "https://github.com/wechaty/",
111
111
  "dependencies": {
112
- "@juzi/wechaty-puppet-service": "1.0.118",
112
+ "@juzi/wechaty-puppet-service": "1.0.119",
113
113
  "clone-class": "^1.1.1",
114
114
  "cmd-ts": "^0.10.0",
115
115
  "cockatiel": "^2.0.2",
@@ -132,7 +132,7 @@
132
132
  "@chatie/eslint-config": "^1.0.4",
133
133
  "@chatie/semver": "^0.4.7",
134
134
  "@chatie/tsconfig": "^4.6.3",
135
- "@juzi/wechaty-puppet": "^1.0.142",
135
+ "@juzi/wechaty-puppet": "^1.0.143",
136
136
  "@juzi/wechaty-puppet-mock": "^1.0.1",
137
137
  "@swc/core": "1.3.44",
138
138
  "@swc/helpers": "^0.3.6",
@@ -4,10 +4,10 @@
4
4
  */
5
5
  import type { PackageJsonWechaty } from './config'
6
6
 
7
- export const GIT_COMMIT_HASH: string = 'e4d722bd21b4291abeec2865fb70f4b9b6406561'
7
+ export const GIT_COMMIT_HASH: string = 'fc009a425c4ec3b7dee53eee50896b4ffc383f70'
8
8
  export const packageJson: PackageJsonWechaty = {
9
9
  "name": "@juzi/wechaty",
10
- "version": "1.0.150",
10
+ "version": "1.0.156",
11
11
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
12
12
  "type": "module",
13
13
  "exports": {
@@ -116,7 +116,7 @@ export const packageJson: PackageJsonWechaty = {
116
116
  },
117
117
  "homepage": "https://github.com/wechaty/",
118
118
  "dependencies": {
119
- "@juzi/wechaty-puppet-service": "1.0.118",
119
+ "@juzi/wechaty-puppet-service": "1.0.119",
120
120
  "clone-class": "^1.1.1",
121
121
  "cmd-ts": "^0.10.0",
122
122
  "cockatiel": "^2.0.2",
@@ -139,7 +139,7 @@ export const packageJson: PackageJsonWechaty = {
139
139
  "@chatie/eslint-config": "^1.0.4",
140
140
  "@chatie/semver": "^0.4.7",
141
141
  "@chatie/tsconfig": "^4.6.3",
142
- "@juzi/wechaty-puppet": "^1.0.142",
142
+ "@juzi/wechaty-puppet": "^1.0.143",
143
143
  "@juzi/wechaty-puppet-mock": "^1.0.1",
144
144
  "@swc/core": "1.3.44",
145
145
  "@swc/helpers": "^0.3.6",
@@ -922,7 +922,11 @@ test('dirty(Call) refreshes user-layer payload so getters see new value', async
922
922
  await flush()
923
923
 
924
924
  t.equal(incoming!.media(), PUPPET.types.CallMediaType.Video, 'media should reflect refreshed payload after dirty')
925
- t.ok((puppet.callPayloadDirty as any).called, 'puppet.callPayloadDirty should be invoked')
925
+ // Note: the handler intentionally does NOT call puppet.callPayloadDirty;
926
+ // doing so would form a gRPC loop under puppet-service (server bounces the
927
+ // dirty back through the event stream). Cache invalidation is handled by
928
+ // the cache-mixin onDirty listener; the user-visible contract is that
929
+ // .media() above reflects the fresh server value.
926
930
 
927
931
  await wechaty.stop()
928
932
  sandbox.restore()
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+
3
+ import { test } from 'tstest'
4
+ import { PuppetMock } from '@juzi/wechaty-puppet-mock'
5
+
6
+ import { WechatyBuilder } from '../wechaty-builder.js'
7
+
8
+ /**
9
+ * Regression: `Contact.alias(newAlias)` invokes
10
+ * 1. puppet.contactAlias(id, newAlias) // gRPC write
11
+ * 2. puppet.contactPayloadDirty(id) // ONCE, outside the loop ← BUG
12
+ * 3. loop 10× { sleep 300ms; puppet.contactPayload(id); check }
13
+ *
14
+ * Under puppet-service the first contactPayload() call after a dirty
15
+ * clears both the LRU and the FlashStore, then refills both with the
16
+ * fresh fetch. LRU TTL is 15 minutes, so iterations 2..10 hit the LRU
17
+ * and return iteration-1's payload forever. If the underlying protocol
18
+ * (puppet-phoenix etc.) was still propagating the alias change at the
19
+ * moment of iteration 1, the 9 follow-up retries become no-ops and
20
+ * `alias()` throws "still got old alias after 10 tries".
21
+ *
22
+ * The fix moves contactPayloadDirty INTO the loop so every retry
23
+ * forces a fresh fetch. This test pins that contract: under a forced
24
+ * stale-read scenario, contactPayloadDirty must be called more than
25
+ * once.
26
+ */
27
+ test('alias() must call contactPayloadDirty on every poll iteration', async t => {
28
+ const puppet = new PuppetMock() as any
29
+ const wechaty = WechatyBuilder.build({ puppet })
30
+
31
+ // Swallow the wechaty-level error the alias() impl re-emits after
32
+ // its 10 poll iterations all fail to confirm the new alias; without
33
+ // this, the unhandled 'error' event tears down the test.
34
+ wechaty.on('error', () => {})
35
+
36
+ const mockMe = puppet.mocker.createContact({ name: 'me' })
37
+ const mockUser = puppet.mocker.createContact({ name: 'Alice' })
38
+
39
+ await wechaty.start()
40
+ await puppet.mocker.login(mockMe)
41
+
42
+ let dirtyCount = 0
43
+ puppet.contactPayloadDirty = async (_: string) => {
44
+ dirtyCount++
45
+ }
46
+
47
+ // Simulate the protocol-layer "alias write accepted" but
48
+ // payload reads keep returning the OLD alias — the exact stuck
49
+ // scenario the polling loop is supposed to wait out.
50
+ puppet.contactAlias = async (_id: string, _newAlias: string) => {}
51
+ puppet.contactPayload = async (id: string) => ({
52
+ id,
53
+ alias: 'OLD',
54
+ name: 'Alice',
55
+ })
56
+
57
+ const contact = await wechaty.Contact.find({ id: mockUser.id })
58
+ t.ok(contact, 'sanity: find returned a contact')
59
+
60
+ // alias() traps internally and emits through wechaty error channel.
61
+ // We do NOT assert on the throw — only on dirty-call cadence.
62
+ await contact!.alias('NEW')
63
+
64
+ t.ok(
65
+ dirtyCount > 1,
66
+ `contactPayloadDirty must be called inside the retry loop, not just once before it; got ${dirtyCount}`,
67
+ )
68
+
69
+ await wechaty.stop()
70
+ })
@@ -496,22 +496,31 @@ class ContactMixin extends MixinBase implements SayableSayer {
496
496
 
497
497
  try {
498
498
  await this.wechaty.puppet.contactAlias(this.id, newAlias)
499
- await this.wechaty.puppet.contactPayloadDirty(this.id)
500
499
 
501
500
  /**
502
501
  * In normal puppet, the dirty event handler, onDirty, is a sync function, so the contactPayload will get the new payload
503
502
  * However for wechaty-puppet-service, it uses flashstore to cache payloads, and deleting a cache is an async function
504
- * So there is a chance contactPayload will still get old contact
503
+ * So there is a chance contactPayload will still get old contact.
504
+ *
505
+ * The puppet LRU TTL (15min) is far longer than the 300ms retry
506
+ * tick, so a dirty fired ONCE before the loop only invalidates
507
+ * the cache for iteration 1 — the iteration-1 fetch immediately
508
+ * refills both LRU and FlashStore, and iterations 2..10 hit the
509
+ * LRU and return iteration-1's payload forever. Dirty must fire
510
+ * on every retry so every read goes to source.
505
511
  */
506
512
  let maxCheck = 10
507
513
  let changed = false
508
514
  while (maxCheck-- > 0 && !changed) {
509
- await new Promise(resolve => {
510
- setTimeout(resolve, 300)
511
- })
515
+ await this.wechaty.puppet.contactPayloadDirty(this.id)
512
516
  this.payload = await this.wechaty.puppet.contactPayload(this.id)
513
517
  const payloadAlias = this.payload.alias || ''
514
518
  changed = newAlias === payloadAlias
519
+ if (!changed) {
520
+ await new Promise(resolve => {
521
+ setTimeout(resolve, 300)
522
+ })
523
+ }
515
524
  }
516
525
  if (!changed) {
517
526
  throw new Error('failed to modify clias, still got old alias after 10 tries')