@juzi/wechaty-puppet-service 1.0.123 → 1.0.125

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 (41) hide show
  1. package/dist/cjs/src/client/grpc-manager.d.ts +1 -0
  2. package/dist/cjs/src/client/grpc-manager.d.ts.map +1 -1
  3. package/dist/cjs/src/client/grpc-manager.js +49 -47
  4. package/dist/cjs/src/client/grpc-manager.js.map +1 -1
  5. package/dist/cjs/src/client/payload-store.d.ts +3 -0
  6. package/dist/cjs/src/client/payload-store.d.ts.map +1 -1
  7. package/dist/cjs/src/client/payload-store.js +8 -6
  8. package/dist/cjs/src/client/payload-store.js.map +1 -1
  9. package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
  10. package/dist/cjs/src/client/puppet-service.js +336 -227
  11. package/dist/cjs/src/client/puppet-service.js.map +1 -1
  12. package/dist/cjs/src/package-json.d.ts.map +1 -1
  13. package/dist/cjs/src/package-json.js +4 -3
  14. package/dist/cjs/src/package-json.js.map +1 -1
  15. package/dist/cjs/tests/dirty-gen-guard.spec.d.ts +3 -0
  16. package/dist/cjs/tests/dirty-gen-guard.spec.d.ts.map +1 -0
  17. package/dist/cjs/tests/dirty-gen-guard.spec.js +206 -0
  18. package/dist/cjs/tests/dirty-gen-guard.spec.js.map +1 -0
  19. package/dist/esm/src/client/grpc-manager.d.ts +1 -0
  20. package/dist/esm/src/client/grpc-manager.d.ts.map +1 -1
  21. package/dist/esm/src/client/grpc-manager.js +50 -48
  22. package/dist/esm/src/client/grpc-manager.js.map +1 -1
  23. package/dist/esm/src/client/payload-store.d.ts +3 -0
  24. package/dist/esm/src/client/payload-store.d.ts.map +1 -1
  25. package/dist/esm/src/client/payload-store.js +8 -6
  26. package/dist/esm/src/client/payload-store.js.map +1 -1
  27. package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
  28. package/dist/esm/src/client/puppet-service.js +336 -227
  29. package/dist/esm/src/client/puppet-service.js.map +1 -1
  30. package/dist/esm/src/package-json.d.ts.map +1 -1
  31. package/dist/esm/src/package-json.js +4 -3
  32. package/dist/esm/src/package-json.js.map +1 -1
  33. package/dist/esm/tests/dirty-gen-guard.spec.d.ts +3 -0
  34. package/dist/esm/tests/dirty-gen-guard.spec.d.ts.map +1 -0
  35. package/dist/esm/tests/dirty-gen-guard.spec.js +178 -0
  36. package/dist/esm/tests/dirty-gen-guard.spec.js.map +1 -0
  37. package/package.json +4 -3
  38. package/src/client/grpc-manager.ts +54 -48
  39. package/src/client/payload-store.ts +13 -7
  40. package/src/client/puppet-service.ts +337 -228
  41. package/src/package-json.ts +4 -3
@@ -0,0 +1,206 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ /**
31
+ * Regression tests for the FlashStore write-back generation guard.
32
+ *
33
+ * `_payloadStore` (FlashStore, on disk) is a cache layer independent of
34
+ * the puppet-side LRU. Before this fix it had no protection against the
35
+ * "dirty lands during a raw fetch" race:
36
+ *
37
+ * 1. A raw fetch (e.g. `contactRawPayload`) starts a gRPC round-trip.
38
+ * 2. An EVENT_TYPE_DIRTY arrives; `fastDirty` deletes the FlashStore row.
39
+ * 3. The in-flight fetch resolves and writes the *pre-dirty* payload
40
+ * back into the FlashStore -- re-poisoning the row that was just
41
+ * cleared. The value then only refreshes after a *second* dirty.
42
+ *
43
+ * The fix snapshots a per-(type, id) generation counter before the raw
44
+ * fetch and re-checks it with `isFreshWrite` before every FlashStore
45
+ * write-back; the EVENT_TYPE_DIRTY handler bumps that counter before it
46
+ * even awaits `fastDirty`, so the whole delete window is covered.
47
+ */
48
+ const tstest_1 = require("tstest");
49
+ const os_1 = __importDefault(require("os"));
50
+ const path_1 = __importDefault(require("path"));
51
+ const fs_1 = __importDefault(require("fs"));
52
+ const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
53
+ const wechaty_grpc_1 = require("@juzi/wechaty-grpc");
54
+ const mod_js_1 = require("../src/mod.js");
55
+ const makePuppet = async () => {
56
+ const token = `puppet_service_test_${Date.now()}_${Math.floor(Math.random() * 1e6)}`;
57
+ const puppet = new mod_js_1.PuppetService({ token });
58
+ const accountId = 'acct-test';
59
+ await puppet._payloadStore.start(accountId);
60
+ return { puppet, token };
61
+ };
62
+ const cleanup = async (puppet, token) => {
63
+ await puppet._payloadStore.stop();
64
+ try {
65
+ await fs_1.default.promises.rm(path_1.default.join(os_1.default.homedir(), '.wechaty', 'wechaty-puppet-service', token), { recursive: true, force: true });
66
+ }
67
+ catch (_) { /* ignore */ }
68
+ };
69
+ /**
70
+ * A one-shot gate for a fake gRPC method. The method resolves `entered`
71
+ * as soon as it is invoked (by which point the caller's gen snapshot has
72
+ * already been taken, since the snapshot precedes the fetch call), then
73
+ * holds its callback until `release()` is called. This lets the test slot
74
+ * a dirty deterministically between the fetch start (gen snapshot) and
75
+ * the fetch resolution (write-back) -- no timers, no flakiness.
76
+ */
77
+ const makeGate = () => {
78
+ let release = () => { };
79
+ let markEntered = () => { };
80
+ const gate = new Promise(resolve => { release = resolve; });
81
+ const entered = new Promise(resolve => { markEntered = resolve; });
82
+ return { gate, entered, enter: () => markEntered(), release: () => release() };
83
+ };
84
+ (0, tstest_1.test)('contactRawPayload: a dirty mid-fetch skips the stale FlashStore write-back', async (t) => {
85
+ const { puppet, token } = await makePuppet();
86
+ const contactId = 'contact-race';
87
+ const response = new wechaty_grpc_1.puppet.ContactPayloadResponse();
88
+ response.setId(contactId);
89
+ response.setName('stale-name-from-inflight-fetch');
90
+ const { gate, entered, enter, release } = makeGate();
91
+ puppet._grpcManager = {
92
+ client: {
93
+ contactPayload: (_req, cb) => {
94
+ enter();
95
+ void (async () => {
96
+ await gate;
97
+ cb(null, response);
98
+ })();
99
+ },
100
+ },
101
+ };
102
+ // Start the fetch: it snapshots the gen, then blocks on the gate.
103
+ const fetchPromise = puppet.contactRawPayload(contactId);
104
+ // Deterministic: once the fake method is entered, the snapshot is taken.
105
+ await entered;
106
+ // A dirty arrives while the fetch is in flight: bump gen + clear store,
107
+ // exactly as the EVENT_TYPE_DIRTY handler does.
108
+ puppet.cache.bumpGen(PUPPET.types.Dirty.Contact, contactId);
109
+ await puppet.fastDirty({ payloadType: PUPPET.types.Dirty.Contact, payloadId: contactId });
110
+ // Now let the stale fetch resolve into the write-back path.
111
+ release();
112
+ const returned = await fetchPromise;
113
+ t.equal(returned.id, contactId, 'raw fetch still returns its payload to the caller');
114
+ const stored = await puppet._payloadStore.contact.get(contactId);
115
+ t.notOk(stored, 'stale in-flight fetch must NOT re-poison the FlashStore after the dirty');
116
+ await cleanup(puppet, token);
117
+ });
118
+ (0, tstest_1.test)('contactRawPayload: no dirty means the write-back proceeds as usual', async (t) => {
119
+ const { puppet, token } = await makePuppet();
120
+ const contactId = 'contact-happy';
121
+ const response = new wechaty_grpc_1.puppet.ContactPayloadResponse();
122
+ response.setId(contactId);
123
+ response.setName('fresh-name');
124
+ puppet._grpcManager = {
125
+ client: {
126
+ contactPayload: (_req, cb) => cb(null, response),
127
+ },
128
+ };
129
+ const returned = await puppet.contactRawPayload(contactId);
130
+ t.equal(returned.id, contactId, 'raw fetch returns its payload');
131
+ const stored = await puppet._payloadStore.contact.get(contactId);
132
+ t.ok(stored, 'without a racing dirty the payload is written to the FlashStore');
133
+ t.equal(stored && stored.id, contactId, 'stored payload matches the fetched id');
134
+ await cleanup(puppet, token);
135
+ });
136
+ (0, tstest_1.test)('EVENT_TYPE_DIRTY bumps gen before awaiting fastDirty so pre-event snapshots are stale', async (t) => {
137
+ const { puppet, token } = await makePuppet();
138
+ const contactId = 'contact-bump';
139
+ // A getter that snapshotted just before the event arrived.
140
+ const snapshot = puppet.cache.snapshotGen(PUPPET.types.Dirty.Contact, contactId);
141
+ const dirtyJson = JSON.stringify({
142
+ payloadType: PUPPET.types.Dirty.Contact,
143
+ payloadId: contactId,
144
+ });
145
+ await puppet.onGrpcStreamEvent({
146
+ getType: () => wechaty_grpc_1.puppet.EventType.EVENT_TYPE_DIRTY,
147
+ getPayload: () => dirtyJson,
148
+ getSeq: () => 0,
149
+ });
150
+ t.notOk(puppet.cache.isFreshWrite(PUPPET.types.Dirty.Contact, contactId, snapshot), 'a snapshot taken before the dirty event must be judged stale afterwards');
151
+ await cleanup(puppet, token);
152
+ });
153
+ (0, tstest_1.test)('EVENT_TYPE_DIRTY compound RoomMember bumps both the compound and the room-level gen', async (t) => {
154
+ const { puppet, token } = await makePuppet();
155
+ const roomId = 'room-bump';
156
+ const memberId = 'member-bump';
157
+ const compoundId = `${roomId}${PUPPET.STRING_SPLITTER}${memberId}`;
158
+ const compoundSnap = puppet.cache.snapshotGen(PUPPET.types.Dirty.RoomMember, compoundId);
159
+ const roomSnap = puppet.cache.snapshotGen(PUPPET.types.Dirty.RoomMember, roomId);
160
+ const dirtyJson = JSON.stringify({
161
+ payloadType: PUPPET.types.Dirty.RoomMember,
162
+ payloadId: compoundId,
163
+ });
164
+ await puppet.onGrpcStreamEvent({
165
+ getType: () => wechaty_grpc_1.puppet.EventType.EVENT_TYPE_DIRTY,
166
+ getPayload: () => dirtyJson,
167
+ getSeq: () => 0,
168
+ });
169
+ t.notOk(puppet.cache.isFreshWrite(PUPPET.types.Dirty.RoomMember, compoundId, compoundSnap), 'the compound (roomId+SEP+memberId) key must be bumped');
170
+ t.notOk(puppet.cache.isFreshWrite(PUPPET.types.Dirty.RoomMember, roomId, roomSnap), 'the bare room-level key must also be bumped so row-level write-backs are guarded');
171
+ await cleanup(puppet, token);
172
+ });
173
+ (0, tstest_1.test)('roomMemberRawPayload: a room-level dirty mid-fetch skips the row write-back', async (t) => {
174
+ const { puppet, token } = await makePuppet();
175
+ const roomId = 'room-member-race';
176
+ const contactId = 'member-race';
177
+ const response = new wechaty_grpc_1.puppet.RoomMemberPayloadResponse();
178
+ response.setId(contactId);
179
+ response.setName('stale-member-from-inflight-fetch');
180
+ const { gate, entered, enter, release } = makeGate();
181
+ puppet._grpcManager = {
182
+ client: {
183
+ roomMemberPayload: (_req, cb) => {
184
+ enter();
185
+ void (async () => {
186
+ await gate;
187
+ cb(null, response);
188
+ })();
189
+ },
190
+ },
191
+ };
192
+ // Start the fetch: it snapshots the room-level gen before reading the
193
+ // row, then blocks on the gate.
194
+ const fetchPromise = puppet.roomMemberRawPayload(roomId, contactId);
195
+ await entered;
196
+ // A bare-roomId dirty lands mid-fetch: the whole member set is stale.
197
+ puppet.cache.bumpGen(PUPPET.types.Dirty.RoomMember, roomId);
198
+ await puppet.fastDirty({ payloadType: PUPPET.types.Dirty.RoomMember, payloadId: roomId });
199
+ release();
200
+ const returned = await fetchPromise;
201
+ t.equal(returned.id, contactId, 'raw fetch still returns its member payload to the caller');
202
+ const stored = await puppet._payloadStore.roomMember.get(roomId);
203
+ t.notOk(stored, 'stale in-flight member fetch must NOT re-create the row after the dirty');
204
+ await cleanup(puppet, token);
205
+ });
206
+ //# sourceMappingURL=dirty-gen-guard.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dirty-gen-guard.spec.js","sourceRoot":"","sources":["../../../tests/dirty-gen-guard.spec.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ declare class GrpcManager extends EventEmitter {
18
18
  endpoint: string;
19
19
  serverName: string;
20
20
  token: WechatyToken;
21
+ private readonly _log;
21
22
  constructor(options: PuppetServiceOptions);
22
23
  start(lastEventSeq?: string, accountId?: string): Promise<void>;
23
24
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"grpc-manager.d.ts","sourceRoot":"","sources":["../../../../src/client/grpc-manager.ts"],"names":[],"mappings":";;;AAoBA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAIjC,OAAO,EACL,IAAI,EACJ,MAAM,EACP,MAA0B,oBAAoB,CAAA;AAI/C,OAAO,EACL,YAAY,EAEb,MAA0B,eAAe,CAAA;AAc1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAU/D,cAAM,WAAY,SAAQ,YAAY;IAsBvB,OAAO,CAAC,OAAO;IApB5B,SAAS,CAAC,OAAO,CAAC,EAAI,MAAM,CAAC,YAAY,CAAA;IACzC,IAAU,MAAM,IAAM,MAAM,CAAC,YAAY,CAMxC;IAED,WAAW,CAAC,EAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAE9D;;OAEG;IACH,MAAM,EAAO,MAAM,CAAA;IACnB,UAAU,EAAG,OAAO,CAAA;IACpB,QAAQ,EAAK,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,KAAK,EAAQ,YAAY,CAAA;gBAEJ,OAAO,EAAE,oBAAoB;IAkE5C,KAAK,CAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BhE,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;cAsCZ,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAqD5C,SAAS,CAAC,aAAa,IAAK,IAAI;IAsB1B,WAAW,CAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+H5E,UAAU,IAAK,IAAI;CA8BpB;AAED,OAAO,EACL,WAAW,GACZ,CAAA"}
1
+ {"version":3,"file":"grpc-manager.d.ts","sourceRoot":"","sources":["../../../../src/client/grpc-manager.ts"],"names":[],"mappings":";;;AAoBA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAOjC,OAAO,EACL,IAAI,EACJ,MAAM,EACP,MAA0B,oBAAoB,CAAA;AAI/C,OAAO,EACL,YAAY,EAEb,MAA0B,eAAe,CAAA;AAc1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAU/D,cAAM,WAAY,SAAQ,YAAY;IAwBvB,OAAO,CAAC,OAAO;IAtB5B,SAAS,CAAC,OAAO,CAAC,EAAI,MAAM,CAAC,YAAY,CAAA;IACzC,IAAU,MAAM,IAAM,MAAM,CAAC,YAAY,CAMxC;IAED,WAAW,CAAC,EAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAE9D;;OAEG;IACH,MAAM,EAAO,MAAM,CAAA;IACnB,UAAU,EAAG,OAAO,CAAA;IACpB,QAAQ,EAAK,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,KAAK,EAAQ,YAAY,CAAA;IAEzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;gBAEZ,OAAO,EAAE,oBAAoB;IAmE5C,KAAK,CAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BhE,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;cAsCZ,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAqD5C,SAAS,CAAC,aAAa,IAAK,IAAI;IAsB1B,WAAW,CAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+H5E,UAAU,IAAK,IAAI;CA8BpB;AAED,OAAO,EACL,WAAW,GACZ,CAAA"}
@@ -20,7 +20,7 @@
20
20
  import util from 'util';
21
21
  import EventEmitter from 'events';
22
22
  import crypto from 'crypto';
23
- import { log } from '@juzi/wechaty-puppet';
23
+ import { log, } from '@juzi/wechaty-puppet';
24
24
  import { grpc, puppet, } from '@juzi/wechaty-grpc';
25
25
  import { timeoutPromise, } from 'gerror';
26
26
  import { WechatyToken, WechatyResolver, } from 'wechaty-token';
@@ -54,19 +54,21 @@ class GrpcManager extends EventEmitter {
54
54
  endpoint;
55
55
  serverName;
56
56
  token;
57
+ _log;
57
58
  constructor(options) {
58
59
  super();
59
60
  this.options = options;
60
- log.verbose('GrpcManager', 'constructor(%s)', JSON.stringify(options));
61
+ this._log = options.logger ?? log;
62
+ this._log.verbose('GrpcManager', 'constructor(%s)', JSON.stringify(options));
61
63
  this.caCert = Buffer.from(envVars.WECHATY_PUPPET_SERVICE_TLS_CA_CERT(this.options.tls?.caCert) || TLS_CA_CERT);
62
- log.verbose('GrpcManager', 'constructor() tlsRootCert(hash): "%s"', crypto.createHash('sha256')
64
+ this._log.verbose('GrpcManager', 'constructor() tlsRootCert(hash): "%s"', crypto.createHash('sha256')
63
65
  .update(this.caCert)
64
66
  .digest('hex'));
65
67
  /**
66
68
  * Token will be used in the gRPC resolver (in endpoint)
67
69
  */
68
70
  this.token = new WechatyToken(envVars.WECHATY_PUPPET_SERVICE_TOKEN(this.options.token));
69
- log.verbose('GrpcManager', 'constructor() token: "%s"', this.token);
71
+ this._log.verbose('GrpcManager', 'constructor() token: "%s"', this.token);
70
72
  this.endpoint = envVars.WECHATY_PUPPET_SERVICE_ENDPOINT(this.options.endpoint)
71
73
  /**
72
74
  * Wechaty Token Discovery-able URL
@@ -78,12 +80,12 @@ class GrpcManager extends EventEmitter {
78
80
  '/',
79
81
  this.token,
80
82
  ].join('');
81
- log.verbose('GrpcManager', 'constructor() endpoint: "%s"', this.endpoint);
83
+ this._log.verbose('GrpcManager', 'constructor() endpoint: "%s"', this.endpoint);
82
84
  /**
83
85
  * Disable TLS
84
86
  */
85
87
  this.disableTls = envVars.WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT(this.options.tls?.disable);
86
- log.verbose('GrpcManager', 'constructor() disableTls: "%s"', this.disableTls);
88
+ this._log.verbose('GrpcManager', 'constructor() disableTls: "%s"', this.disableTls);
87
89
  /**
88
90
  * for Node.js TLS SNI
89
91
  * https://en.wikipedia.org/wiki/Server_Name_Indication
@@ -105,47 +107,47 @@ class GrpcManager extends EventEmitter {
105
107
  ].join('\n'));
106
108
  }
107
109
  this.serverName = serverNameIndication;
108
- log.verbose('GrpcManager', 'constructor() serverName(SNI): "%s"', this.serverName);
110
+ this._log.verbose('GrpcManager', 'constructor() serverName(SNI): "%s"', this.serverName);
109
111
  }
110
112
  async start(lastEventSeq, accountId) {
111
- log.verbose('GrpcManager', 'start()');
113
+ this._log.verbose('GrpcManager', 'start()');
112
114
  /**
113
115
  * 1. Init grpc client
114
116
  */
115
- log.verbose('GrpcManager', 'start() initializing client ...');
117
+ this._log.verbose('GrpcManager', 'start() initializing client ...');
116
118
  await this.initClient();
117
- log.verbose('GrpcManager', 'start() initializing client ... done');
119
+ this._log.verbose('GrpcManager', 'start() initializing client ... done');
118
120
  /**
119
121
  * 2. Connect to stream
120
122
  */
121
- log.verbose('GrpcManager', 'start() starting stream ...');
123
+ this._log.verbose('GrpcManager', 'start() starting stream ...');
122
124
  await this.startStream(lastEventSeq, accountId);
123
- log.verbose('GrpcManager', 'start() starting stream ... done');
125
+ this._log.verbose('GrpcManager', 'start() starting stream ... done');
124
126
  /**
125
127
  * 3. Start the puppet
126
128
  */
127
- log.verbose('GrpcManager', 'start() calling grpc server: start() ...');
129
+ this._log.verbose('GrpcManager', 'start() calling grpc server: start() ...');
128
130
  await util.promisify(this.client.start
129
131
  .bind(this.client))(new puppet.StartRequest());
130
- log.verbose('GrpcManager', 'start() calling grpc server: start() ... done');
131
- log.verbose('GrpcManager', 'start() ... done');
132
+ this._log.verbose('GrpcManager', 'start() calling grpc server: start() ... done');
133
+ this._log.verbose('GrpcManager', 'start() ... done');
132
134
  }
133
135
  async stop() {
134
- log.verbose('GrpcManager', 'stop()');
136
+ this._log.verbose('GrpcManager', 'stop()');
135
137
  /**
136
138
  * 1. Disconnect from stream
137
139
  */
138
- log.verbose('GrpcManager', 'stop() stop stream ...');
140
+ this._log.verbose('GrpcManager', 'stop() stop stream ...');
139
141
  this.stopStream();
140
- log.verbose('GrpcManager', 'stop() stop stream ... done');
142
+ this._log.verbose('GrpcManager', 'stop() stop stream ... done');
141
143
  /**
142
144
  * 2. Stop the puppet
143
145
  */
144
146
  try {
145
- log.verbose('GrpcManager', 'stop() stop client ...');
147
+ this._log.verbose('GrpcManager', 'stop() stop client ...');
146
148
  await util.promisify(this.client.stop
147
149
  .bind(this.client))(new puppet.StopRequest());
148
- log.verbose('GrpcManager', 'stop() stop client ... done');
150
+ this._log.verbose('GrpcManager', 'stop() stop client ... done');
149
151
  }
150
152
  catch (e) {
151
153
  this.emit('error', e);
@@ -154,17 +156,17 @@ class GrpcManager extends EventEmitter {
154
156
  * 3. Destroy grpc client
155
157
  */
156
158
  try {
157
- log.verbose('GrpcManager', 'stop() destroy client ...');
159
+ this._log.verbose('GrpcManager', 'stop() destroy client ...');
158
160
  this.destroyClient();
159
- log.verbose('GrpcManager', 'stop() destroy client ... done');
161
+ this._log.verbose('GrpcManager', 'stop() destroy client ... done');
160
162
  }
161
163
  catch (e) {
162
164
  this.emit('error', e);
163
165
  }
164
- log.verbose('GrpcManager', 'stop() ... done');
166
+ this._log.verbose('GrpcManager', 'stop() ... done');
165
167
  }
166
168
  async initClient() {
167
- log.verbose('GrpcManager', 'initClient()');
169
+ this._log.verbose('GrpcManager', 'initClient()');
168
170
  /**
169
171
  * Huan(202108): for maximum compatible with the non-tls community servers/clients,
170
172
  * we introduced the WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_{SERVER,CLIENT} environment variables.
@@ -172,11 +174,11 @@ class GrpcManager extends EventEmitter {
172
174
  */
173
175
  let credential;
174
176
  if (this.disableTls) {
175
- log.warn('GrpcManager', 'initClient() TLS: disabled (INSECURE)');
177
+ this._log.warn('GrpcManager', 'initClient() TLS: disabled (INSECURE)');
176
178
  credential = grpc.credentials.createInsecure();
177
179
  }
178
180
  else {
179
- log.verbose('GrpcManager', 'initClient() TLS: enabled');
181
+ this._log.verbose('GrpcManager', 'initClient() TLS: enabled');
180
182
  const callCred = callCredToken(this.token.token);
181
183
  const channelCred = grpc.credentials.createSsl(this.caCert);
182
184
  const combCreds = grpc.credentials.combineChannelCredentials(channelCred, callCred);
@@ -198,16 +200,16 @@ class GrpcManager extends EventEmitter {
198
200
  clientOptions['grpc.default_authority'] = grpcDefaultAuthority;
199
201
  }
200
202
  if (this._client) {
201
- log.warn('GrpcManager', 'initClient() this.#client exists? Old client has been dropped.');
203
+ this._log.warn('GrpcManager', 'initClient() this.#client exists? Old client has been dropped.');
202
204
  this._client = undefined;
203
205
  }
204
206
  this._client = new puppet.PuppetClient(this.endpoint, credential, clientOptions);
205
- log.verbose('GrpcManager', 'initClient() ... done');
207
+ this._log.verbose('GrpcManager', 'initClient() ... done');
206
208
  }
207
209
  destroyClient() {
208
- log.verbose('GrpcManager', 'destroyClient()');
210
+ this._log.verbose('GrpcManager', 'destroyClient()');
209
211
  if (!this._client) {
210
- log.warn('GrpcManager', 'destroyClient() this.#client not exist');
212
+ this._log.warn('GrpcManager', 'destroyClient() this.#client not exist');
211
213
  return;
212
214
  }
213
215
  const client = this._client;
@@ -220,16 +222,16 @@ class GrpcManager extends EventEmitter {
220
222
  client.close();
221
223
  }
222
224
  catch (e) {
223
- log.error('GrpcManager', 'destroyClient() client.close() rejection: %s\n%s', e && e.message, e.stack);
225
+ this._log.error('GrpcManager', 'destroyClient() client.close() rejection: %s\n%s', e && e.message, e.stack);
224
226
  }
225
227
  }
226
228
  async startStream(lastEventSeq, accountId) {
227
- log.verbose('GrpcManager', 'startStream()');
229
+ this._log.verbose('GrpcManager', 'startStream()');
228
230
  if (this.eventStream) {
229
- log.verbose('GrpcManager', 'startStream() this.eventStream exists, dropped.');
231
+ this._log.verbose('GrpcManager', 'startStream() this.eventStream exists, dropped.');
230
232
  this.eventStream = undefined;
231
233
  }
232
- log.verbose('GrpcManager', 'startStream() grpc -> event() ...');
234
+ this._log.verbose('GrpcManager', 'startStream() grpc -> event() ...');
233
235
  const eventRequest = new puppet.EventRequest();
234
236
  if (lastEventSeq) {
235
237
  eventRequest.setSeq(Number(lastEventSeq));
@@ -237,9 +239,9 @@ class GrpcManager extends EventEmitter {
237
239
  if (accountId) {
238
240
  eventRequest.setAccountId(accountId);
239
241
  }
240
- log.info('GrpcManager', `startStream() connecting event stream with account ${accountId} and seq ${lastEventSeq}`);
242
+ this._log.info('GrpcManager', `startStream() connecting event stream with account ${accountId} and seq ${lastEventSeq}`);
241
243
  const eventStream = this.client.event(eventRequest);
242
- log.verbose('GrpcManager', 'startStream() grpc -> event() ... done');
244
+ this._log.verbose('GrpcManager', 'startStream() grpc -> event() ... done');
243
245
  /**
244
246
  * Store the event data from the stream when we test connection,
245
247
  * and re-emit the event data when we have finished testing the connection
@@ -294,14 +296,14 @@ class GrpcManager extends EventEmitter {
294
296
  * if a puppet service provider is coming from the community, it might not follow the protocol specification.
295
297
  * So we need a timeout for compatible with those providers
296
298
  */
297
- log.verbose('GrpcManager', 'startStream() grpc -> event peeking data or timeout ...');
299
+ this._log.verbose('GrpcManager', 'startStream() grpc -> event peeking data or timeout ...');
298
300
  try {
299
301
  await timeoutPromise(future, 5 * 1000); // 5 seconds
300
302
  }
301
303
  catch (_) {
302
- log.verbose('GrpcManager', 'startStream() grpc -> event peeking data or timeout ... timeout');
304
+ this._log.verbose('GrpcManager', 'startStream() grpc -> event peeking data or timeout ... timeout');
303
305
  }
304
- log.verbose('GrpcManager', 'startStream() grpc -> event peeking data or timeout ... data peeked');
306
+ this._log.verbose('GrpcManager', 'startStream() grpc -> event peeking data or timeout ... data peeked');
305
307
  /**
306
308
  * Bridge the events
307
309
  * Huan(202108): adding the below event listeners
@@ -309,7 +311,7 @@ class GrpcManager extends EventEmitter {
309
311
  * so that if there's any `error` event,
310
312
  * it will be triggered already.
311
313
  */
312
- log.verbose('GrpcManager', 'startStream() initializing event stream ...');
314
+ this._log.verbose('GrpcManager', 'startStream() initializing event stream ...');
313
315
  eventStream
314
316
  .on('cancel', (...args) => this.emit('cancel', ...args))
315
317
  .on('data', (...args) => this.emit('data', ...args))
@@ -318,22 +320,22 @@ class GrpcManager extends EventEmitter {
318
320
  .on('metadata', (...args) => this.emit('metadata', ...args))
319
321
  .on('status', (...args) => this.emit('status', ...args));
320
322
  this.eventStream = eventStream;
321
- log.verbose('GrpcManager', 'startStream() initializing event stream ... done');
323
+ this._log.verbose('GrpcManager', 'startStream() initializing event stream ... done');
322
324
  /**
323
325
  * Re-emit the peeked data if there' s any
324
326
  */
325
327
  if (peekedData) {
326
- log.verbose('GrpcManager', 'startStream() sending back the peeked data ...');
328
+ this._log.verbose('GrpcManager', 'startStream() sending back the peeked data ...');
327
329
  this.emit('data', peekedData);
328
330
  peekedData = undefined;
329
- log.verbose('GrpcManager', 'startStream() sending back the peeked data ... done');
331
+ this._log.verbose('GrpcManager', 'startStream() sending back the peeked data ... done');
330
332
  }
331
- log.verbose('GrpcManager', 'startStream() ... done');
333
+ this._log.verbose('GrpcManager', 'startStream() ... done');
332
334
  }
333
335
  stopStream() {
334
- log.verbose('GrpcManager', 'stopStream()');
336
+ this._log.verbose('GrpcManager', 'stopStream()');
335
337
  if (!this.eventStream) {
336
- log.verbose('GrpcManager', 'stopStream() no eventStream when stop, skip destroy.');
338
+ this._log.verbose('GrpcManager', 'stopStream() no eventStream when stop, skip destroy.');
337
339
  return;
338
340
  }
339
341
  /**
@@ -349,9 +351,9 @@ class GrpcManager extends EventEmitter {
349
351
  */
350
352
  // this.eventStream.cancel()
351
353
  try {
352
- log.verbose('GrpcManager', 'stopStream() destroying event stream ...');
354
+ this._log.verbose('GrpcManager', 'stopStream() destroying event stream ...');
353
355
  eventStream.destroy();
354
- log.verbose('GrpcManager', 'stopStream() destroying event stream ... done');
356
+ this._log.verbose('GrpcManager', 'stopStream() destroying event stream ... done');
355
357
  }
356
358
  catch (e) {
357
359
  this.emit('error', e);
@@ -1 +1 @@
1
- {"version":3,"file":"grpc-manager.js","sourceRoot":"","sources":["../../../../src/client/grpc-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc-manager.js","sourceRoot":"","sources":["../../../../src/client/grpc-manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import type * as PUPPET from '@juzi/wechaty-puppet';
2
2
  import { FlashStore } from 'flash-store';
3
+ declare type LoggerLike = PUPPET.LoggerLike;
3
4
  interface PayloadStoreOptions {
4
5
  token: string;
6
+ logger?: LoggerLike;
5
7
  }
6
8
  interface StoreRoomMemberPayload {
7
9
  [roomMemberContactId: string]: PUPPET.payloads.RoomMember;
@@ -16,6 +18,7 @@ declare class PayloadStore {
16
18
  miscellaneous?: FlashStore<string, string>;
17
19
  protected storeDir: string;
18
20
  protected accountId?: string;
21
+ private readonly _log;
19
22
  constructor(options: PayloadStoreOptions);
20
23
  /**
21
24
  * When starting the store, we need to know the accountId
@@ -1 +1 @@
1
- {"version":3,"file":"payload-store.d.ts","sourceRoot":"","sources":["../../../../src/client/payload-store.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAUxC,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,sBAAsB;IAC9B,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAA;CAC1D;AAED,cAAM,YAAY;IAcH,OAAO,CAAC,OAAO;IAVrB,OAAO,CAAC,EAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC3D,UAAU,CAAC,EAAK,UAAU,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;IAC1D,IAAI,CAAC,EAAW,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACxD,GAAG,CAAC,EAAY,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACvD,QAAQ,CAAC,EAAO,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC5D,aAAa,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEjD,SAAS,CAAC,QAAQ,EAAI,MAAM,CAAA;IAC5B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEP,OAAO,EAAE,mBAAmB;IAqBjD;;;OAGG;IACG,KAAK,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCxC,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAgCtB,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;CAkBhC;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"payload-store.d.ts","sourceRoot":"","sources":["../../../../src/client/payload-store.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAQxC,aAAK,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;AAInC,UAAU,mBAAmB;IAC3B,KAAK,EAAK,MAAM,CAAA;IAChB,MAAM,CAAC,EAAG,UAAU,CAAA;CACrB;AAED,UAAU,sBAAsB;IAC9B,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAA;CAC1D;AAED,cAAM,YAAY;IAgBH,OAAO,CAAC,OAAO;IAZrB,OAAO,CAAC,EAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC3D,UAAU,CAAC,EAAK,UAAU,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;IAC1D,IAAI,CAAC,EAAW,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACxD,GAAG,CAAC,EAAY,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACvD,QAAQ,CAAC,EAAO,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC5D,aAAa,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEjD,SAAS,CAAC,QAAQ,EAAI,MAAM,CAAA;IAC5B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAE5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;gBAEZ,OAAO,EAAE,mBAAmB;IAsBjD;;;OAGG;IACG,KAAK,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCxC,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAgCtB,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;CAkBhC;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -36,11 +36,13 @@ class PayloadStore {
36
36
  miscellaneous;
37
37
  storeDir;
38
38
  accountId;
39
+ _log;
39
40
  constructor(options) {
40
41
  this.options = options;
41
- log.verbose('PayloadStore', 'constructor(%s)', JSON.stringify(options));
42
+ this._log = options.logger ?? log;
43
+ this._log.verbose('PayloadStore', 'constructor(%s)', JSON.stringify(options));
42
44
  this.storeDir = path.join(os.homedir(), '.wechaty', 'wechaty-puppet-service', this.options.token, `v${major(VERSION)}.${minor(VERSION)}`);
43
- log.silly('PayloadStore', 'constructor() storeDir: "%s"', this.storeDir);
45
+ this._log.silly('PayloadStore', 'constructor() storeDir: "%s"', this.storeDir);
44
46
  if (!fs.existsSync(this.storeDir)) {
45
47
  fs.mkdirSync(this.storeDir, { recursive: true });
46
48
  }
@@ -53,7 +55,7 @@ class PayloadStore {
53
55
  * so that we can save the payloads under a specific account folder.
54
56
  */
55
57
  async start(accountId) {
56
- log.verbose('PayloadStore', 'start(%s)', accountId);
58
+ this._log.verbose('PayloadStore', 'start(%s)', accountId);
57
59
  if (this.accountId) {
58
60
  throw new Error('PayloadStore should be stop() before start() again.');
59
61
  }
@@ -77,7 +79,7 @@ class PayloadStore {
77
79
  */
78
80
  // const lruOptions: LRU.Options<string, MessagePayload> = {
79
81
  // dispose (key, val) {
80
- // log.silly('PayloadStore', `constructor() lruOptions.dispose(${key}, ${JSON.stringify(val)})`)
82
+ // this._log.silly('PayloadStore', `constructor() lruOptions.dispose(${key}, ${JSON.stringify(val)})`)
81
83
  // },
82
84
  // max : 1000, // 1000 messages
83
85
  // maxAge : 60 * 60 * 1000, // 1 hour
@@ -85,7 +87,7 @@ class PayloadStore {
85
87
  // this.message = new LRU(lruOptions)
86
88
  }
87
89
  async stop() {
88
- log.verbose('PayloadStore', 'stop()');
90
+ this._log.verbose('PayloadStore', 'stop()');
89
91
  const contactStore = this.contact;
90
92
  const roomMemberStore = this.roomMember;
91
93
  const roomStore = this.room;
@@ -112,7 +114,7 @@ class PayloadStore {
112
114
  await tagGroupStore?.close();
113
115
  }
114
116
  async destroy() {
115
- log.verbose('PayloadStore', 'destroy()');
117
+ this._log.verbose('PayloadStore', 'destroy()');
116
118
  if (this.accountId) {
117
119
  throw new Error('Can not destroy() a start()-ed store. Call stop() to stop it first');
118
120
  }