@juzi/wechaty 1.0.159 → 1.0.161
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/io.js +40 -40
- package/dist/cjs/src/io.js.map +1 -1
- package/dist/cjs/src/package-json.js +4 -4
- package/dist/cjs/src/schemas/logger.d.ts +2 -0
- package/dist/cjs/src/schemas/logger.d.ts.map +1 -0
- package/dist/cjs/src/schemas/logger.js +3 -0
- package/dist/cjs/src/schemas/logger.js.map +1 -0
- package/dist/cjs/src/schemas/mod.d.ts +2 -1
- package/dist/cjs/src/schemas/mod.d.ts.map +1 -1
- package/dist/cjs/src/schemas/mod.js.map +1 -1
- package/dist/cjs/src/schemas/wechaty-options.d.ts +19 -0
- package/dist/cjs/src/schemas/wechaty-options.d.ts.map +1 -1
- package/dist/cjs/src/user-mixins/wechatify.d.ts +23 -0
- package/dist/cjs/src/user-mixins/wechatify.d.ts.map +1 -1
- package/dist/cjs/src/user-mixins/wechatify.js +25 -0
- package/dist/cjs/src/user-mixins/wechatify.js.map +1 -1
- package/dist/cjs/src/user-modules/call.d.ts +4 -0
- package/dist/cjs/src/user-modules/call.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/call.js +6 -7
- package/dist/cjs/src/user-modules/call.js.map +1 -1
- package/dist/cjs/src/user-modules/channel-card.d.ts +2 -0
- package/dist/cjs/src/user-modules/channel-card.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/channel-card.js +2 -3
- package/dist/cjs/src/user-modules/channel-card.js.map +1 -1
- package/dist/cjs/src/user-modules/channel.d.ts +2 -0
- package/dist/cjs/src/user-modules/channel.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/channel.js +2 -3
- package/dist/cjs/src/user-modules/channel.js.map +1 -1
- package/dist/cjs/src/user-modules/chat-history.d.ts +2 -0
- package/dist/cjs/src/user-modules/chat-history.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/chat-history.js +2 -3
- package/dist/cjs/src/user-modules/chat-history.js.map +1 -1
- package/dist/cjs/src/user-modules/consult-card.d.ts +2 -0
- package/dist/cjs/src/user-modules/consult-card.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/consult-card.js +3 -4
- package/dist/cjs/src/user-modules/consult-card.js.map +1 -1
- package/dist/cjs/src/user-modules/contact-self.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/contact-self.js +8 -9
- package/dist/cjs/src/user-modules/contact-self.js.map +1 -1
- package/dist/cjs/src/user-modules/contact.d.ts +2 -0
- package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/contact.js +36 -37
- package/dist/cjs/src/user-modules/contact.js.map +1 -1
- package/dist/cjs/src/user-modules/delay.d.ts +2 -0
- package/dist/cjs/src/user-modules/delay.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.d.ts +2 -0
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.js +2 -3
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.js.map +1 -1
- package/dist/cjs/src/user-modules/favorite.d.ts +21 -0
- package/dist/cjs/src/user-modules/favorite.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/favorite.js +1 -21
- package/dist/cjs/src/user-modules/favorite.js.map +1 -1
- package/dist/cjs/src/user-modules/friendship.d.ts +2 -0
- package/dist/cjs/src/user-modules/friendship.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/friendship.js +11 -12
- package/dist/cjs/src/user-modules/friendship.js.map +1 -1
- package/dist/cjs/src/user-modules/im-specific.d.ts +2 -0
- package/dist/cjs/src/user-modules/im-specific.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/im-specific.js +1 -2
- package/dist/cjs/src/user-modules/im-specific.js.map +1 -1
- package/dist/cjs/src/user-modules/image.d.ts +22 -0
- package/dist/cjs/src/user-modules/image.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/image.js +5 -6
- package/dist/cjs/src/user-modules/image.js.map +1 -1
- package/dist/cjs/src/user-modules/location.d.ts +2 -0
- package/dist/cjs/src/user-modules/location.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/location.js +2 -3
- package/dist/cjs/src/user-modules/location.js.map +1 -1
- package/dist/cjs/src/user-modules/message.d.ts +2 -0
- package/dist/cjs/src/user-modules/message.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/message.js +55 -55
- package/dist/cjs/src/user-modules/message.js.map +1 -1
- package/dist/cjs/src/user-modules/mini-program.d.ts +2 -0
- package/dist/cjs/src/user-modules/mini-program.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/mini-program.js +2 -3
- package/dist/cjs/src/user-modules/mini-program.js.map +1 -1
- package/dist/cjs/src/user-modules/moment.d.ts +21 -0
- package/dist/cjs/src/user-modules/moment.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/moment.js +5 -25
- package/dist/cjs/src/user-modules/moment.js.map +1 -1
- package/dist/cjs/src/user-modules/money.d.ts +2 -0
- package/dist/cjs/src/user-modules/money.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/post.d.ts +2 -0
- package/dist/cjs/src/user-modules/post.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/post.js +25 -25
- package/dist/cjs/src/user-modules/post.js.map +1 -1
- package/dist/cjs/src/user-modules/premium-online-appointment-card.d.ts +2 -0
- package/dist/cjs/src/user-modules/premium-online-appointment-card.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/premium-online-appointment-card.js +2 -3
- package/dist/cjs/src/user-modules/premium-online-appointment-card.js.map +1 -1
- package/dist/cjs/src/user-modules/room-invitation.d.ts +2 -0
- package/dist/cjs/src/user-modules/room-invitation.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/room-invitation.js +10 -11
- package/dist/cjs/src/user-modules/room-invitation.js.map +1 -1
- package/dist/cjs/src/user-modules/room.d.ts +2 -0
- package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/room.js +43 -43
- package/dist/cjs/src/user-modules/room.js.map +1 -1
- package/dist/cjs/src/user-modules/tag-group.d.ts +2 -0
- package/dist/cjs/src/user-modules/tag-group.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/tag-group.js +13 -14
- package/dist/cjs/src/user-modules/tag-group.js.map +1 -1
- package/dist/cjs/src/user-modules/tag.d.ts +2 -0
- package/dist/cjs/src/user-modules/tag.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/tag.js +21 -22
- package/dist/cjs/src/user-modules/tag.js.map +1 -1
- package/dist/cjs/src/user-modules/url-link.d.ts +2 -0
- package/dist/cjs/src/user-modules/url-link.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/url-link.js +2 -3
- package/dist/cjs/src/user-modules/url-link.js.map +1 -1
- package/dist/cjs/src/user-modules/voice.d.ts +2 -0
- package/dist/cjs/src/user-modules/voice.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/voice.js +8 -9
- package/dist/cjs/src/user-modules/voice.js.map +1 -1
- package/dist/cjs/src/user-modules/wecom.d.ts +3 -1
- package/dist/cjs/src/user-modules/wecom.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/wecom.js +2 -3
- package/dist/cjs/src/user-modules/wecom.js.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-order.d.ts +2 -0
- package/dist/cjs/src/user-modules/wxxd-order.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-order.js +9 -10
- package/dist/cjs/src/user-modules/wxxd-order.js.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-product.d.ts +2 -0
- package/dist/cjs/src/user-modules/wxxd-product.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-product.js +6 -7
- package/dist/cjs/src/user-modules/wxxd-product.js.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-base.d.ts +21 -37
- package/dist/cjs/src/wechaty/wechaty-base.d.ts.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-base.js +17 -17
- package/dist/cjs/src/wechaty/wechaty-base.js.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts +15 -4
- package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-skeleton.js +17 -6
- package/dist/cjs/src/wechaty/wechaty-skeleton.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts +3 -2
- package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts +12 -6
- package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/io-mixin.js +8 -8
- package/dist/cjs/src/wechaty-mixins/io-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts +53 -19
- package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/login-mixin.js +5 -5
- package/dist/cjs/src/wechaty-mixins/login-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts +15 -10
- package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/misc-mixin.js +1 -1
- package/dist/cjs/src/wechaty-mixins/misc-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts +18 -12
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.js +5 -5
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts +16 -34
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +90 -90
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +3 -2
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js +4 -4
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
- package/dist/esm/src/io.js +40 -40
- package/dist/esm/src/io.js.map +1 -1
- package/dist/esm/src/package-json.js +4 -4
- package/dist/esm/src/schemas/logger.d.ts +2 -0
- package/dist/esm/src/schemas/logger.d.ts.map +1 -0
- package/dist/esm/src/schemas/logger.js +2 -0
- package/dist/esm/src/schemas/logger.js.map +1 -0
- package/dist/esm/src/schemas/mod.d.ts +2 -1
- package/dist/esm/src/schemas/mod.d.ts.map +1 -1
- package/dist/esm/src/schemas/mod.js.map +1 -1
- package/dist/esm/src/schemas/wechaty-options.d.ts +19 -0
- package/dist/esm/src/schemas/wechaty-options.d.ts.map +1 -1
- package/dist/esm/src/user-mixins/wechatify.d.ts +23 -0
- package/dist/esm/src/user-mixins/wechatify.d.ts.map +1 -1
- package/dist/esm/src/user-mixins/wechatify.js +25 -0
- package/dist/esm/src/user-mixins/wechatify.js.map +1 -1
- package/dist/esm/src/user-modules/call.d.ts +4 -0
- package/dist/esm/src/user-modules/call.d.ts.map +1 -1
- package/dist/esm/src/user-modules/call.js +6 -7
- package/dist/esm/src/user-modules/call.js.map +1 -1
- package/dist/esm/src/user-modules/channel-card.d.ts +2 -0
- package/dist/esm/src/user-modules/channel-card.d.ts.map +1 -1
- package/dist/esm/src/user-modules/channel-card.js +2 -3
- package/dist/esm/src/user-modules/channel-card.js.map +1 -1
- package/dist/esm/src/user-modules/channel.d.ts +2 -0
- package/dist/esm/src/user-modules/channel.d.ts.map +1 -1
- package/dist/esm/src/user-modules/channel.js +2 -3
- package/dist/esm/src/user-modules/channel.js.map +1 -1
- package/dist/esm/src/user-modules/chat-history.d.ts +2 -0
- package/dist/esm/src/user-modules/chat-history.d.ts.map +1 -1
- package/dist/esm/src/user-modules/chat-history.js +2 -3
- package/dist/esm/src/user-modules/chat-history.js.map +1 -1
- package/dist/esm/src/user-modules/consult-card.d.ts +2 -0
- package/dist/esm/src/user-modules/consult-card.d.ts.map +1 -1
- package/dist/esm/src/user-modules/consult-card.js +3 -4
- package/dist/esm/src/user-modules/consult-card.js.map +1 -1
- package/dist/esm/src/user-modules/contact-self.d.ts.map +1 -1
- package/dist/esm/src/user-modules/contact-self.js +8 -9
- package/dist/esm/src/user-modules/contact-self.js.map +1 -1
- package/dist/esm/src/user-modules/contact.d.ts +2 -0
- package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
- package/dist/esm/src/user-modules/contact.js +36 -37
- package/dist/esm/src/user-modules/contact.js.map +1 -1
- package/dist/esm/src/user-modules/delay.d.ts +2 -0
- package/dist/esm/src/user-modules/delay.d.ts.map +1 -1
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.d.ts +2 -0
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.d.ts.map +1 -1
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.js +2 -3
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.js.map +1 -1
- package/dist/esm/src/user-modules/favorite.d.ts +21 -0
- package/dist/esm/src/user-modules/favorite.d.ts.map +1 -1
- package/dist/esm/src/user-modules/favorite.js +1 -21
- package/dist/esm/src/user-modules/favorite.js.map +1 -1
- package/dist/esm/src/user-modules/friendship.d.ts +2 -0
- package/dist/esm/src/user-modules/friendship.d.ts.map +1 -1
- package/dist/esm/src/user-modules/friendship.js +11 -12
- package/dist/esm/src/user-modules/friendship.js.map +1 -1
- package/dist/esm/src/user-modules/im-specific.d.ts +2 -0
- package/dist/esm/src/user-modules/im-specific.d.ts.map +1 -1
- package/dist/esm/src/user-modules/im-specific.js +1 -2
- package/dist/esm/src/user-modules/im-specific.js.map +1 -1
- package/dist/esm/src/user-modules/image.d.ts +22 -0
- package/dist/esm/src/user-modules/image.d.ts.map +1 -1
- package/dist/esm/src/user-modules/image.js +5 -6
- package/dist/esm/src/user-modules/image.js.map +1 -1
- package/dist/esm/src/user-modules/location.d.ts +2 -0
- package/dist/esm/src/user-modules/location.d.ts.map +1 -1
- package/dist/esm/src/user-modules/location.js +2 -3
- package/dist/esm/src/user-modules/location.js.map +1 -1
- package/dist/esm/src/user-modules/message.d.ts +2 -0
- package/dist/esm/src/user-modules/message.d.ts.map +1 -1
- package/dist/esm/src/user-modules/message.js +56 -56
- package/dist/esm/src/user-modules/message.js.map +1 -1
- package/dist/esm/src/user-modules/mini-program.d.ts +2 -0
- package/dist/esm/src/user-modules/mini-program.d.ts.map +1 -1
- package/dist/esm/src/user-modules/mini-program.js +2 -3
- package/dist/esm/src/user-modules/mini-program.js.map +1 -1
- package/dist/esm/src/user-modules/moment.d.ts +21 -0
- package/dist/esm/src/user-modules/moment.d.ts.map +1 -1
- package/dist/esm/src/user-modules/moment.js +5 -25
- package/dist/esm/src/user-modules/moment.js.map +1 -1
- package/dist/esm/src/user-modules/money.d.ts +2 -0
- package/dist/esm/src/user-modules/money.d.ts.map +1 -1
- package/dist/esm/src/user-modules/post.d.ts +2 -0
- package/dist/esm/src/user-modules/post.d.ts.map +1 -1
- package/dist/esm/src/user-modules/post.js +25 -25
- package/dist/esm/src/user-modules/post.js.map +1 -1
- package/dist/esm/src/user-modules/premium-online-appointment-card.d.ts +2 -0
- package/dist/esm/src/user-modules/premium-online-appointment-card.d.ts.map +1 -1
- package/dist/esm/src/user-modules/premium-online-appointment-card.js +2 -3
- package/dist/esm/src/user-modules/premium-online-appointment-card.js.map +1 -1
- package/dist/esm/src/user-modules/room-invitation.d.ts +2 -0
- package/dist/esm/src/user-modules/room-invitation.d.ts.map +1 -1
- package/dist/esm/src/user-modules/room-invitation.js +10 -11
- package/dist/esm/src/user-modules/room-invitation.js.map +1 -1
- package/dist/esm/src/user-modules/room.d.ts +2 -0
- package/dist/esm/src/user-modules/room.d.ts.map +1 -1
- package/dist/esm/src/user-modules/room.js +44 -44
- package/dist/esm/src/user-modules/room.js.map +1 -1
- package/dist/esm/src/user-modules/tag-group.d.ts +2 -0
- package/dist/esm/src/user-modules/tag-group.d.ts.map +1 -1
- package/dist/esm/src/user-modules/tag-group.js +13 -14
- package/dist/esm/src/user-modules/tag-group.js.map +1 -1
- package/dist/esm/src/user-modules/tag.d.ts +2 -0
- package/dist/esm/src/user-modules/tag.d.ts.map +1 -1
- package/dist/esm/src/user-modules/tag.js +21 -22
- package/dist/esm/src/user-modules/tag.js.map +1 -1
- package/dist/esm/src/user-modules/url-link.d.ts +2 -0
- package/dist/esm/src/user-modules/url-link.d.ts.map +1 -1
- package/dist/esm/src/user-modules/url-link.js +2 -3
- package/dist/esm/src/user-modules/url-link.js.map +1 -1
- package/dist/esm/src/user-modules/voice.d.ts +2 -0
- package/dist/esm/src/user-modules/voice.d.ts.map +1 -1
- package/dist/esm/src/user-modules/voice.js +8 -9
- package/dist/esm/src/user-modules/voice.js.map +1 -1
- package/dist/esm/src/user-modules/wecom.d.ts +3 -1
- package/dist/esm/src/user-modules/wecom.d.ts.map +1 -1
- package/dist/esm/src/user-modules/wecom.js +2 -3
- package/dist/esm/src/user-modules/wecom.js.map +1 -1
- package/dist/esm/src/user-modules/wxxd-order.d.ts +2 -0
- package/dist/esm/src/user-modules/wxxd-order.d.ts.map +1 -1
- package/dist/esm/src/user-modules/wxxd-order.js +9 -10
- package/dist/esm/src/user-modules/wxxd-order.js.map +1 -1
- package/dist/esm/src/user-modules/wxxd-product.d.ts +2 -0
- package/dist/esm/src/user-modules/wxxd-product.d.ts.map +1 -1
- package/dist/esm/src/user-modules/wxxd-product.js +6 -7
- package/dist/esm/src/user-modules/wxxd-product.js.map +1 -1
- package/dist/esm/src/wechaty/wechaty-base.d.ts +21 -37
- package/dist/esm/src/wechaty/wechaty-base.d.ts.map +1 -1
- package/dist/esm/src/wechaty/wechaty-base.js +17 -17
- package/dist/esm/src/wechaty/wechaty-base.js.map +1 -1
- package/dist/esm/src/wechaty/wechaty-skeleton.d.ts +15 -4
- package/dist/esm/src/wechaty/wechaty-skeleton.d.ts.map +1 -1
- package/dist/esm/src/wechaty/wechaty-skeleton.js +17 -6
- package/dist/esm/src/wechaty/wechaty-skeleton.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts +3 -2
- package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/io-mixin.d.ts +12 -6
- package/dist/esm/src/wechaty-mixins/io-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/io-mixin.js +8 -8
- package/dist/esm/src/wechaty-mixins/io-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/login-mixin.d.ts +53 -19
- package/dist/esm/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/login-mixin.js +5 -5
- package/dist/esm/src/wechaty-mixins/login-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts +15 -10
- package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/misc-mixin.js +1 -1
- package/dist/esm/src/wechaty-mixins/misc-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts +18 -12
- package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/plugin-mixin.js +5 -5
- package/dist/esm/src/wechaty-mixins/plugin-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts +16 -34
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js +90 -90
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +3 -2
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js +4 -4
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
- package/package.json +3 -3
- package/src/io.ts +40 -40
- package/src/package-json.ts +4 -4
- package/src/schemas/logger.ts +1 -0
- package/src/schemas/mod.ts +4 -0
- package/src/schemas/wechaty-options.ts +21 -0
- package/src/user-mixins/wechatify.ts +26 -0
- package/src/user-modules/call.ts +6 -7
- package/src/user-modules/channel-card.ts +2 -3
- package/src/user-modules/channel.ts +2 -3
- package/src/user-modules/chat-history.ts +2 -3
- package/src/user-modules/consult-card.ts +3 -5
- package/src/user-modules/contact-self.ts +8 -11
- package/src/user-modules/contact.ts +36 -40
- package/src/user-modules/douyin-one-click-phone-collection.ts +2 -3
- package/src/user-modules/favorite.ts +1 -2
- package/src/user-modules/friendship.ts +11 -12
- package/src/user-modules/im-specific.ts +1 -2
- package/src/user-modules/image.ts +5 -6
- package/src/user-modules/location.ts +2 -3
- package/src/user-modules/message.ts +55 -56
- package/src/user-modules/mini-program.ts +2 -3
- package/src/user-modules/moment.ts +5 -6
- package/src/user-modules/post.ts +25 -25
- package/src/user-modules/premium-online-appointment-card.ts +2 -3
- package/src/user-modules/room-invitation.ts +10 -11
- package/src/user-modules/room.ts +43 -44
- package/src/user-modules/tag-group.ts +13 -14
- package/src/user-modules/tag.ts +21 -22
- package/src/user-modules/url-link.ts +2 -3
- package/src/user-modules/voice.ts +8 -9
- package/src/user-modules/wecom.ts +3 -3
- package/src/user-modules/wxxd-order.ts +9 -10
- package/src/user-modules/wxxd-product.ts +6 -7
- package/src/wechaty/wechaty-base.ts +17 -17
- package/src/wechaty/wechaty-skeleton.ts +21 -8
- package/src/wechaty-mixins/io-mixin.ts +8 -8
- package/src/wechaty-mixins/login-mixin.ts +5 -5
- package/src/wechaty-mixins/misc-mixin.ts +1 -1
- package/src/wechaty-mixins/plugin-mixin.ts +5 -5
- package/src/wechaty-mixins/puppet-mixin.ts +97 -86
- package/src/wechaty-mixins/wechatify-user-module-mixin.ts +4 -4
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts +0 -3
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts.map +0 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js +0 -121
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js.map +0 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts +0 -3
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts.map +0 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js +0 -96
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js.map +0 -1
- package/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.ts +0 -144
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as PUPPET from '@juzi/wechaty-puppet'
|
|
2
|
-
import { log }
|
|
2
|
+
import { log, type LoggerLike } from '@juzi/wechaty-puppet'
|
|
3
3
|
import {
|
|
4
4
|
GError,
|
|
5
5
|
timeoutPromise,
|
|
@@ -18,8 +18,12 @@ import type {
|
|
|
18
18
|
CallImpl,
|
|
19
19
|
ContactImpl,
|
|
20
20
|
ContactInterface,
|
|
21
|
+
MessageImpl,
|
|
22
|
+
RoomImpl,
|
|
21
23
|
TagGroupInterface,
|
|
22
24
|
TagInterface,
|
|
25
|
+
WxxdOrderImpl,
|
|
26
|
+
WxxdProductImpl,
|
|
23
27
|
} from '../user-modules/mod.js'
|
|
24
28
|
|
|
25
29
|
import type {
|
|
@@ -81,11 +85,11 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
81
85
|
}
|
|
82
86
|
|
|
83
87
|
override async start (): Promise<void> {
|
|
84
|
-
log.verbose('WechatyPuppetMixin', 'start()')
|
|
88
|
+
this.log.verbose('WechatyPuppetMixin', 'start()')
|
|
85
89
|
|
|
86
|
-
log.verbose('WechatyPuppetMixin', 'start() super.start() ...')
|
|
90
|
+
this.log.verbose('WechatyPuppetMixin', 'start() super.start() ...')
|
|
87
91
|
await super.start()
|
|
88
|
-
log.verbose('WechatyPuppetMixin', 'start() super.start() ... done')
|
|
92
|
+
this.log.verbose('WechatyPuppetMixin', 'start() super.start() ... done')
|
|
89
93
|
|
|
90
94
|
try {
|
|
91
95
|
/**
|
|
@@ -97,12 +101,12 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
97
101
|
}
|
|
98
102
|
|
|
99
103
|
try {
|
|
100
|
-
log.verbose('WechatyPuppetMixin', 'start() starting puppet ...')
|
|
104
|
+
this.log.verbose('WechatyPuppetMixin', 'start() starting puppet ...')
|
|
101
105
|
await timeoutPromise(
|
|
102
106
|
this.puppet.start(),
|
|
103
107
|
15 * 1000, // 15 seconds timeout
|
|
104
108
|
)
|
|
105
|
-
log.verbose('WechatyPuppetMixin', 'start() starting puppet ... done')
|
|
109
|
+
this.log.verbose('WechatyPuppetMixin', 'start() starting puppet ... done')
|
|
106
110
|
} catch (e) {
|
|
107
111
|
if (e instanceof TimeoutPromiseGError) {
|
|
108
112
|
/**
|
|
@@ -115,8 +119,8 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
115
119
|
*
|
|
116
120
|
* e.g. after resolve @issue https://github.com/padlocal/wechaty-puppet-padlocal/issues/116
|
|
117
121
|
*/
|
|
118
|
-
log.warn('WechatyPuppetMixin', 'start() starting puppet ... timeout')
|
|
119
|
-
log.warn('WechatyPuppetMixin', 'start() puppet info: %s', this.puppet)
|
|
122
|
+
this.log.warn('WechatyPuppetMixin', 'start() starting puppet ... timeout')
|
|
123
|
+
this.log.warn('WechatyPuppetMixin', 'start() puppet info: %s', this.puppet)
|
|
120
124
|
} else {
|
|
121
125
|
throw e
|
|
122
126
|
}
|
|
@@ -128,88 +132,116 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
128
132
|
}
|
|
129
133
|
|
|
130
134
|
override async stop (): Promise<void> {
|
|
131
|
-
log.verbose('WechatyPuppetMixin', 'stop()')
|
|
135
|
+
this.log.verbose('WechatyPuppetMixin', 'stop()')
|
|
132
136
|
|
|
133
137
|
try {
|
|
134
|
-
log.verbose('WechatyPuppetMixin', 'stop() stopping puppet ...')
|
|
138
|
+
this.log.verbose('WechatyPuppetMixin', 'stop() stopping puppet ...')
|
|
135
139
|
await timeoutPromise(
|
|
136
140
|
this.puppet.stop(),
|
|
137
141
|
15 * 1000, // 15 seconds timeout
|
|
138
142
|
)
|
|
139
|
-
log.verbose('WechatyPuppetMixin', 'stop() stopping puppet ... done')
|
|
143
|
+
this.log.verbose('WechatyPuppetMixin', 'stop() stopping puppet ... done')
|
|
140
144
|
} catch (e) {
|
|
141
145
|
if (e instanceof TimeoutPromiseGError) {
|
|
142
|
-
log.warn('WechatyPuppetMixin', 'stop() stopping puppet ... timeout')
|
|
143
|
-
log.warn('WechatyPuppetMixin', 'stop() puppet info: %s', this.puppet)
|
|
146
|
+
this.log.warn('WechatyPuppetMixin', 'stop() stopping puppet ... timeout')
|
|
147
|
+
this.log.warn('WechatyPuppetMixin', 'stop() puppet info: %s', this.puppet)
|
|
144
148
|
}
|
|
145
149
|
this.emitError(e)
|
|
146
150
|
}
|
|
147
151
|
|
|
148
|
-
log.verbose('WechatyPuppetMixin', 'stop() super.stop() ...')
|
|
152
|
+
this.log.verbose('WechatyPuppetMixin', 'stop() super.stop() ...')
|
|
149
153
|
await super.stop()
|
|
150
|
-
log.verbose('WechatyPuppetMixin', 'stop() super.stop() ... done')
|
|
154
|
+
this.log.verbose('WechatyPuppetMixin', 'stop() super.stop() ... done')
|
|
151
155
|
|
|
152
156
|
this.__callPool.clear()
|
|
153
157
|
}
|
|
154
158
|
|
|
155
159
|
async ready (): Promise<void> {
|
|
156
|
-
log.verbose('WechatyPuppetMixin', 'ready()')
|
|
160
|
+
this.log.verbose('WechatyPuppetMixin', 'ready()')
|
|
157
161
|
await this.__readyState.stable('active')
|
|
158
|
-
log.silly('WechatyPuppetMixin', 'ready() this.readyState.stable(on) resolved')
|
|
162
|
+
this.log.silly('WechatyPuppetMixin', 'ready() this.readyState.stable(on) resolved')
|
|
159
163
|
}
|
|
160
164
|
|
|
161
165
|
override async init (): Promise<void> {
|
|
162
|
-
log.verbose('WechatyPuppetMixin', 'init()')
|
|
166
|
+
this.log.verbose('WechatyPuppetMixin', 'init()')
|
|
163
167
|
await super.init()
|
|
164
168
|
|
|
165
169
|
if (this.__puppetMixinInited) {
|
|
166
|
-
log.verbose('WechatyPuppetMixin', 'init() skipped because this puppet has already been inited before.')
|
|
170
|
+
this.log.verbose('WechatyPuppetMixin', 'init() skipped because this puppet has already been inited before.')
|
|
167
171
|
return
|
|
168
172
|
}
|
|
169
173
|
this.__puppetMixinInited = true
|
|
170
174
|
|
|
171
|
-
log.verbose('WechatyPuppetMixin', 'init() instanciating puppet instance ...')
|
|
175
|
+
this.log.verbose('WechatyPuppetMixin', 'init() instanciating puppet instance ...')
|
|
176
|
+
/**
|
|
177
|
+
* Forward `WechatyOptions.logger` down into `PuppetOptions.logger` so
|
|
178
|
+
* that the puppet layer emits logs through the same logger the caller
|
|
179
|
+
* supplied to Wechaty.
|
|
180
|
+
*/
|
|
181
|
+
const basePuppetOptions = 'puppetOptions' in this.__options
|
|
182
|
+
? this.__options.puppetOptions
|
|
183
|
+
: undefined
|
|
184
|
+
const mergedPuppetOptions = this.__options.logger
|
|
185
|
+
? { ...(basePuppetOptions ?? {}), logger: this.__options.logger }
|
|
186
|
+
: basePuppetOptions
|
|
172
187
|
const puppetInstance = await PUPPET.helpers.resolvePuppet({
|
|
173
188
|
puppet: this.__options.puppet || config.systemPuppetName(),
|
|
174
|
-
puppetOptions:
|
|
175
|
-
? this.__options.puppetOptions
|
|
176
|
-
: undefined,
|
|
189
|
+
puppetOptions: mergedPuppetOptions,
|
|
177
190
|
})
|
|
178
|
-
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Adopt the puppet's effective logger onto the Wechaty side, so that
|
|
194
|
+
* `wechaty.log` and, via the accessory chain, every user module
|
|
195
|
+
* (`Contact.log`, `Message.log`, ...) route through it. `PuppetInterface`
|
|
196
|
+
* hides `log` (via `PuppetSkeletonProtectedProperty`), so a structural
|
|
197
|
+
* cast is required. The `??` guards third-party puppets that never
|
|
198
|
+
* adopted the pluggable logger — those fall back to the brolog `log`
|
|
199
|
+
* already assigned in WechatySkeleton.
|
|
200
|
+
*
|
|
201
|
+
* Adopted immediately after `resolvePuppet` so the rest of init() —
|
|
202
|
+
* setMemory / setupPuppetEvents / the sync `emit('puppet')` listeners —
|
|
203
|
+
* all route through the caller-supplied logger, not brolog.
|
|
204
|
+
*/
|
|
205
|
+
const puppetLog = (puppetInstance as unknown as { log?: LoggerLike }).log
|
|
206
|
+
if (puppetLog) {
|
|
207
|
+
this.__log = puppetLog
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
this.log.verbose('WechatyPuppetMixin', 'init() instanciating puppet instance ... done')
|
|
179
211
|
|
|
180
212
|
/**
|
|
181
213
|
* Plug the Memory Card to Puppet
|
|
182
214
|
*/
|
|
183
|
-
log.verbose('WechatyPuppetMixin', 'init() setting memory ...')
|
|
215
|
+
this.log.verbose('WechatyPuppetMixin', 'init() setting memory ...')
|
|
184
216
|
const puppetMemory = this.memory.multiplex(PUPPET_MEMORY_NAME)
|
|
185
217
|
puppetInstance.setMemory(puppetMemory)
|
|
186
|
-
log.verbose('WechatyPuppetMixin', 'init() setting memory ... done')
|
|
218
|
+
this.log.verbose('WechatyPuppetMixin', 'init() setting memory ... done')
|
|
187
219
|
|
|
188
220
|
/**
|
|
189
221
|
* Propagate Puppet Events to Wechaty
|
|
190
222
|
*/
|
|
191
|
-
log.verbose('WechatyPuppetMixin', 'init() setting up events ...')
|
|
223
|
+
this.log.verbose('WechatyPuppetMixin', 'init() setting up events ...')
|
|
192
224
|
this.__setupPuppetEvents(puppetInstance)
|
|
193
|
-
log.verbose('WechatyPuppetMixin', 'init() setting up events ... done')
|
|
225
|
+
this.log.verbose('WechatyPuppetMixin', 'init() setting up events ... done')
|
|
194
226
|
|
|
195
227
|
/**
|
|
196
228
|
* Private Event
|
|
197
229
|
* - Huan(202005): emit puppet when set
|
|
198
230
|
* - Huan(202110): @see https://github.com/wechaty/redux/blob/16af0ae01f72e37f0ee286b49fa5ccf69850323d/src/wechaty-redux.ts#L82-L98
|
|
199
231
|
*/
|
|
200
|
-
log.verbose('WechatyPuppetMixin', 'init() emitting "puppet" event ...')
|
|
232
|
+
this.log.verbose('WechatyPuppetMixin', 'init() emitting "puppet" event ...')
|
|
201
233
|
;(this.emit as any)('puppet', puppetInstance)
|
|
202
|
-
log.verbose('WechatyPuppetMixin', 'init() emitting "puppet" event ... done')
|
|
234
|
+
this.log.verbose('WechatyPuppetMixin', 'init() emitting "puppet" event ... done')
|
|
203
235
|
|
|
204
236
|
this.__puppet = puppetInstance
|
|
205
237
|
}
|
|
206
238
|
|
|
207
239
|
__setupPuppetEvents (puppet: PUPPET.impls.PuppetInterface): void {
|
|
208
|
-
log.verbose('WechatyPuppetMixin', '__setupPuppetEvents(%s)', puppet)
|
|
240
|
+
this.log.verbose('WechatyPuppetMixin', '__setupPuppetEvents(%s)', puppet)
|
|
209
241
|
|
|
210
242
|
const eventNameList: PUPPET.types.PuppetEventName[] = Object.keys(PUPPET.types.PUPPET_EVENT_DICT) as PUPPET.types.PuppetEventName[]
|
|
211
243
|
for (const eventName of eventNameList) {
|
|
212
|
-
log.verbose('PuppetMixin',
|
|
244
|
+
this.log.verbose('PuppetMixin',
|
|
213
245
|
'__setupPuppetEvents() puppet.on(%s) (listenerCount:%s) registering...',
|
|
214
246
|
eventName,
|
|
215
247
|
puppet.listenerCount(eventName),
|
|
@@ -289,7 +321,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
289
321
|
if (contact) {
|
|
290
322
|
this.emit('logout', contact, payload.data)
|
|
291
323
|
} else {
|
|
292
|
-
log.verbose('PuppetMixin',
|
|
324
|
+
this.log.verbose('PuppetMixin',
|
|
293
325
|
'__setupPuppetEvents() logout event contact self not found for id: %s',
|
|
294
326
|
payload.contactId,
|
|
295
327
|
)
|
|
@@ -386,7 +418,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
386
418
|
|
|
387
419
|
case 'ready':
|
|
388
420
|
puppet.on('ready', async () => {
|
|
389
|
-
log.silly('WechatyPuppetMixin', '__setupPuppetEvents() puppet.on(ready)')
|
|
421
|
+
this.log.silly('WechatyPuppetMixin', '__setupPuppetEvents() puppet.on(ready)')
|
|
390
422
|
|
|
391
423
|
// ready event should be emitted 15s after login
|
|
392
424
|
let onceLogout: () => void
|
|
@@ -415,7 +447,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
415
447
|
this.__readyState.active(true)
|
|
416
448
|
}
|
|
417
449
|
} catch (e) {
|
|
418
|
-
log.error(`ready error: ${(e as Error).message}, will emit event anyway if it's logged in now`)
|
|
450
|
+
this.log.error(`ready error: ${(e as Error).message}, will emit event anyway if it's logged in now`)
|
|
419
451
|
if (this.puppet.isLoggedIn) {
|
|
420
452
|
this.emit('ready')
|
|
421
453
|
this.__loginIndicator.value(true)
|
|
@@ -537,7 +569,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
537
569
|
changer = await this.Contact.find({ id: payload.changerId })
|
|
538
570
|
}
|
|
539
571
|
} catch (e) {
|
|
540
|
-
log.warn('room-announce', 'room-announce event error: %s', (e as Error).message)
|
|
572
|
+
this.log.warn('room-announce', 'room-announce event error: %s', (e as Error).message)
|
|
541
573
|
}
|
|
542
574
|
const date = timestampToDate(payload.timestamp)
|
|
543
575
|
this.emit('room-announce', room, payload.newAnnounce, changer, payload.oldAnnounce, date)
|
|
@@ -584,7 +616,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
584
616
|
return tag.name() === oldName
|
|
585
617
|
})
|
|
586
618
|
if (!result) {
|
|
587
|
-
log.warn('WechatyPuppetMixin', 'tagRenameEvent still get old name after %s retries for tag %s', PUPPET_PAYLOAD_SYNC_MAX_RETRY, tag.id)
|
|
619
|
+
this.log.warn('WechatyPuppetMixin', 'tagRenameEvent still get old name after %s retries for tag %s', PUPPET_PAYLOAD_SYNC_MAX_RETRY, tag.id)
|
|
588
620
|
}
|
|
589
621
|
}))
|
|
590
622
|
this.emit('tag', payload.type, renamedTags, date)
|
|
@@ -630,7 +662,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
630
662
|
return tagGroup.name() === oldName
|
|
631
663
|
})
|
|
632
664
|
if (!result) {
|
|
633
|
-
log.warn('WechatyPuppetMixin', 'tagGroupRenameEvent still get old name after %s retries for tagGroup %s', PUPPET_PAYLOAD_SYNC_MAX_RETRY, tagGroup.id)
|
|
665
|
+
this.log.warn('WechatyPuppetMixin', 'tagGroupRenameEvent still get old name after %s retries for tagGroup %s', PUPPET_PAYLOAD_SYNC_MAX_RETRY, tagGroup.id)
|
|
634
666
|
}
|
|
635
667
|
}))
|
|
636
668
|
this.emit('tag-group', payload.type, renamedTagGroups, date)
|
|
@@ -664,7 +696,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
664
696
|
this.emit('contact-enter-conversation', contact, date, payload.scene)
|
|
665
697
|
contact.emit('enter-conversation', date, payload.scene)
|
|
666
698
|
} else {
|
|
667
|
-
log.verbose('PuppetMixin',
|
|
699
|
+
this.log.verbose('PuppetMixin',
|
|
668
700
|
'__setupPuppetEvents() contact-enter-conversation event contact not found for id: %s',
|
|
669
701
|
payload.contactId,
|
|
670
702
|
)
|
|
@@ -681,7 +713,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
681
713
|
this.emit('contact-lead-filled', contact, leads, date)
|
|
682
714
|
contact.emit('lead-filled', leads, date)
|
|
683
715
|
} else {
|
|
684
|
-
log.verbose('PuppetMixin',
|
|
716
|
+
this.log.verbose('PuppetMixin',
|
|
685
717
|
'__setupPuppetEvents() contact-lead-filled event contact not found for id: %s',
|
|
686
718
|
payload.contactId,
|
|
687
719
|
)
|
|
@@ -696,46 +728,26 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
696
728
|
case 'dirty':
|
|
697
729
|
/**
|
|
698
730
|
* https://github.com/wechaty/wechaty-puppet-service/issues/43
|
|
699
|
-
*
|
|
700
|
-
* `dirty` semantics: the puppet-service told us the cached payload
|
|
701
|
-
* for this id is stale. It is NOT a request to load the payload.
|
|
702
|
-
*
|
|
703
|
-
* The old handler used `this.Xxx.find({ id })` which, on pool miss,
|
|
704
|
-
* constructs a fresh user-layer instance AND calls `.ready()` — a
|
|
705
|
-
* puppet-side gRPC round-trip. For a `dirty` event about an id
|
|
706
|
-
* that no business code has ever touched, this turned a passive
|
|
707
|
-
* "invalidate if cached" signal into an active fetch, amplifying
|
|
708
|
-
* dirty-event bursts (e.g. during message storms) into extra
|
|
709
|
-
* puppet-service QPS.
|
|
710
|
-
*
|
|
711
|
-
* Fix: for pooled user-modules, look the instance up in the pool
|
|
712
|
-
* directly and only call `.ready(true)` when it is already there.
|
|
713
|
-
* The Call branch (below) already follows this shape via
|
|
714
|
-
* `__callPool.get(...)`. Message has no pool, so its branch is a
|
|
715
|
-
* no-op break (any caller wanting a Message must load it itself).
|
|
716
731
|
*/
|
|
717
732
|
puppet.on('dirty', async ({ payloadType, payloadId }) => {
|
|
718
733
|
try {
|
|
719
734
|
switch (payloadType) {
|
|
720
735
|
case PUPPET.types.Payload.Contact: {
|
|
721
|
-
const
|
|
722
|
-
|
|
736
|
+
const contact = await this.Contact.find({ id: payloadId }) as unknown as undefined | ContactImpl
|
|
737
|
+
await contact?.ready(true)
|
|
723
738
|
break
|
|
724
739
|
}
|
|
725
740
|
case PUPPET.types.Payload.Room: {
|
|
726
|
-
const
|
|
727
|
-
|
|
741
|
+
const room = await this.Room.find({ id: payloadId }) as unknown as undefined | RoomImpl
|
|
742
|
+
await room?.ready(true)
|
|
728
743
|
break
|
|
729
744
|
}
|
|
730
745
|
case PUPPET.types.Payload.RoomMember: {
|
|
731
746
|
if (payloadId.includes(PUPPET.STRING_SPLITTER)) {
|
|
732
747
|
break
|
|
733
748
|
}
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
// a new Room here.
|
|
737
|
-
const cached = this.Room.pool.get(payloadId)
|
|
738
|
-
if (cached) await cached.ready()
|
|
749
|
+
const room = await this.Room.find({ id: payloadId }) as unknown as undefined | RoomImpl
|
|
750
|
+
await room?.ready()
|
|
739
751
|
break
|
|
740
752
|
}
|
|
741
753
|
|
|
@@ -745,13 +757,12 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
745
757
|
case PUPPET.types.Payload.Friendship:
|
|
746
758
|
// Friendship has no payload
|
|
747
759
|
break
|
|
748
|
-
case PUPPET.types.Payload.Message:
|
|
749
|
-
// Message
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
// cache-mixin listener still invalidates the puppet-side
|
|
753
|
-
// payload cache alongside this handler.
|
|
760
|
+
case PUPPET.types.Payload.Message: {
|
|
761
|
+
// Message does not need to dirty (?)
|
|
762
|
+
const message = await this.Message.find({ id: payloadId }) as unknown as undefined | MessageImpl
|
|
763
|
+
await message?.ready(true)
|
|
754
764
|
break
|
|
765
|
+
}
|
|
755
766
|
case PUPPET.types.Payload.Tag:
|
|
756
767
|
break
|
|
757
768
|
case PUPPET.types.Payload.TagGroup:
|
|
@@ -759,13 +770,13 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
759
770
|
case PUPPET.types.Payload.Post:
|
|
760
771
|
break
|
|
761
772
|
case PUPPET.types.Payload.WxxdProduct: {
|
|
762
|
-
const
|
|
763
|
-
|
|
773
|
+
const product = await this.WxxdProduct.find({ id: payloadId }) as unknown as undefined | WxxdProductImpl
|
|
774
|
+
await product?.ready(true)
|
|
764
775
|
break
|
|
765
776
|
}
|
|
766
777
|
case PUPPET.types.Payload.WxxdOrder: {
|
|
767
|
-
const
|
|
768
|
-
|
|
778
|
+
const order = await this.WxxdOrder.find({ id: payloadId }) as unknown as undefined | WxxdOrderImpl
|
|
779
|
+
await order?.ready(true)
|
|
769
780
|
break
|
|
770
781
|
}
|
|
771
782
|
case PUPPET.types.Payload.Call: {
|
|
@@ -790,7 +801,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
790
801
|
try {
|
|
791
802
|
await call.ready(true)
|
|
792
803
|
} catch (e) {
|
|
793
|
-
log.warn(
|
|
804
|
+
this.log.warn(
|
|
794
805
|
'WechatyPuppetMixin',
|
|
795
806
|
'dirty(Call) ready failed for callId=%s: %s',
|
|
796
807
|
payloadId,
|
|
@@ -803,7 +814,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
803
814
|
|
|
804
815
|
case PUPPET.types.Payload.Unspecified:
|
|
805
816
|
default:
|
|
806
|
-
log.warn('unknown payload type: ' + payloadType)
|
|
817
|
+
this.log.warn('unknown payload type: ' + payloadType)
|
|
807
818
|
}
|
|
808
819
|
this.emit('dirty', payloadId, payloadType)
|
|
809
820
|
} catch (e) {
|
|
@@ -851,7 +862,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
851
862
|
try {
|
|
852
863
|
if (payload.signal === PUPPET.types.CallSignal.Invite) {
|
|
853
864
|
if (this.__callPool.has(payload.callId)) {
|
|
854
|
-
log.warn('WechatyPuppetMixin', '__setupPuppetEvents() duplicate Invite for callId=%s, ignoring', payload.callId)
|
|
865
|
+
this.log.warn('WechatyPuppetMixin', '__setupPuppetEvents() duplicate Invite for callId=%s, ignoring', payload.callId)
|
|
855
866
|
return
|
|
856
867
|
}
|
|
857
868
|
const call = new (this.Call as any)({
|
|
@@ -870,13 +881,13 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
870
881
|
// are expected within race windows (e.g. a Ringing ack arriving
|
|
871
882
|
// before callInvite returns) or after the Call has been finalized
|
|
872
883
|
// and removed from the pool. Drop silently — log.warn, not error.
|
|
873
|
-
log.warn('WechatyPuppetMixin', '__setupPuppetEvents() call event for unknown callId=%s, dropping', payload.callId)
|
|
884
|
+
this.log.warn('WechatyPuppetMixin', '__setupPuppetEvents() call event for unknown callId=%s, dropping', payload.callId)
|
|
874
885
|
return
|
|
875
886
|
}
|
|
876
887
|
|
|
877
888
|
const actor = await (this.Contact as typeof ContactImpl).find({ id: payload.contactId })
|
|
878
889
|
if (!actor) {
|
|
879
|
-
log.warn('WechatyPuppetMixin', '__setupPuppetEvents() actor contact not found for callId=%s contactId=%s, dropping', payload.callId, payload.contactId)
|
|
890
|
+
this.log.warn('WechatyPuppetMixin', '__setupPuppetEvents() actor contact not found for callId=%s contactId=%s, dropping', payload.callId, payload.contactId)
|
|
880
891
|
return
|
|
881
892
|
}
|
|
882
893
|
|
|
@@ -921,7 +932,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
921
932
|
}
|
|
922
933
|
}
|
|
923
934
|
|
|
924
|
-
log.verbose('WechatyPuppetMixin', '__setupPuppetEvents() ... done')
|
|
935
|
+
this.log.verbose('WechatyPuppetMixin', '__setupPuppetEvents() ... done')
|
|
925
936
|
}
|
|
926
937
|
|
|
927
938
|
/**
|
|
@@ -959,7 +970,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
959
970
|
await call.sync()
|
|
960
971
|
ended = !!call.endTime()
|
|
961
972
|
} catch (e) {
|
|
962
|
-
log.warn(
|
|
973
|
+
this.log.warn(
|
|
963
974
|
'WechatyPuppetMixin',
|
|
964
975
|
'__finalizeIfEnded() sync attempt %d failed for callId=%s: %s',
|
|
965
976
|
attempt + 1,
|
|
@@ -977,7 +988,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
977
988
|
try {
|
|
978
989
|
const participants = await call.participants()
|
|
979
990
|
if (participants.length === 2) {
|
|
980
|
-
log.warn(
|
|
991
|
+
this.log.warn(
|
|
981
992
|
'WechatyPuppetMixin',
|
|
982
993
|
'__finalizeIfEnded() 1v1 fallback after sync failure for callId=%s (rosterLength=%d)',
|
|
983
994
|
call.id,
|
|
@@ -985,7 +996,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
985
996
|
)
|
|
986
997
|
ended = true
|
|
987
998
|
} else {
|
|
988
|
-
log.error(
|
|
999
|
+
this.log.error(
|
|
989
1000
|
'WechatyPuppetMixin',
|
|
990
1001
|
'__finalizeIfEnded() sync failed, leaving callId=%s in pool for next dirty signal (rosterLength=%d)',
|
|
991
1002
|
call.id,
|
|
@@ -993,7 +1004,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
993
1004
|
)
|
|
994
1005
|
}
|
|
995
1006
|
} catch (e) {
|
|
996
|
-
log.error(
|
|
1007
|
+
this.log.error(
|
|
997
1008
|
'WechatyPuppetMixin',
|
|
998
1009
|
'__finalizeIfEnded() participants lookup failed for callId=%s: %s',
|
|
999
1010
|
call.id,
|
|
@@ -134,18 +134,18 @@ const wechatifyUserModuleMixin = <MixinBase extends typeof WechatySkeleton> (mix
|
|
|
134
134
|
get WxxdOrder () : WxxdOrderConstructor { return guardWechatify(this.__wechatifiedWxxdOrder) }
|
|
135
135
|
|
|
136
136
|
override async init (): Promise<void> {
|
|
137
|
-
log.verbose('WechatifyUserModuleMixin', 'init()')
|
|
137
|
+
this.log.verbose('WechatifyUserModuleMixin', 'init()')
|
|
138
138
|
await super.init()
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
141
|
* Skip if already wechatified
|
|
142
142
|
*/
|
|
143
143
|
if (this.__wechatifiedMessage) {
|
|
144
|
-
log.verbose('WechatifyUserModuleMixin', 'init() Wechaty User Module (WUM)s have already wechatified: skip')
|
|
144
|
+
this.log.verbose('WechatifyUserModuleMixin', 'init() Wechaty User Module (WUM)s have already wechatified: skip')
|
|
145
145
|
return
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
log.verbose('WechatifyUserModuleMixin', 'init() initializing Wechaty User Module (WUM) ...')
|
|
148
|
+
this.log.verbose('WechatifyUserModuleMixin', 'init() initializing Wechaty User Module (WUM) ...')
|
|
149
149
|
|
|
150
150
|
/**
|
|
151
151
|
* Wechatify User Classes
|
|
@@ -182,7 +182,7 @@ const wechatifyUserModuleMixin = <MixinBase extends typeof WechatySkeleton> (mix
|
|
|
182
182
|
this.__wechatifiedWxxdProduct = wechatifyUserModule(WxxdProductImpl)(this as any)
|
|
183
183
|
this.__wechatifiedWxxdOrder = wechatifyUserModule(WxxdOrderImpl)(this as any)
|
|
184
184
|
|
|
185
|
-
log.verbose('WechatifyUserModuleMixin', 'init() initializing Wechaty User Module (WUM) ... done')
|
|
185
|
+
this.log.verbose('WechatifyUserModuleMixin', 'init() initializing Wechaty User Module (WUM) ... done')
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"puppet-mixin-dirty-pool.spec.d.ts","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin-dirty-pool.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,121 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
const tstest_1 = require("tstest");
|
|
28
|
-
const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
|
|
29
|
-
const wechaty_puppet_mock_1 = require("@juzi/wechaty-puppet-mock");
|
|
30
|
-
const wechaty_builder_js_1 = require("../wechaty-builder.js");
|
|
31
|
-
/**
|
|
32
|
-
* Regression: the `dirty` event handler for pooled user-modules
|
|
33
|
-
* (Contact / Room / WxxdProduct / WxxdOrder) used to call
|
|
34
|
-
* `this.Xxx.find({ id }).ready(true)`. `find({ id })` on a pool miss
|
|
35
|
-
* constructs a fresh instance and calls `ready()` — a puppet-side gRPC
|
|
36
|
-
* round-trip — turning a passive "invalidate if cached" signal into an
|
|
37
|
-
* active fetch for ids no business code has touched.
|
|
38
|
-
*
|
|
39
|
-
* The fix looks the id up in the pool directly and only calls
|
|
40
|
-
* `.ready(true)` when the instance is already pooled.
|
|
41
|
-
*/
|
|
42
|
-
async function delay(ms) {
|
|
43
|
-
await new Promise(resolve => setTimeout(resolve, ms));
|
|
44
|
-
}
|
|
45
|
-
(0, tstest_1.test)('dirty handler does not fetch payload for un-pooled ids, but still refreshes pooled ones', async (t) => {
|
|
46
|
-
const puppet = new wechaty_puppet_mock_1.PuppetMock();
|
|
47
|
-
const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
|
|
48
|
-
const botContact = puppet.mocker.createContact({ name: 'test-bot' });
|
|
49
|
-
await wechaty.start();
|
|
50
|
-
await puppet.mocker.login(botContact);
|
|
51
|
-
// --- Case 1: un-pooled Contact id must not trigger contactRawPayload ---
|
|
52
|
-
let contactRawPayloadCalls = 0;
|
|
53
|
-
const originalContactRawPayload = puppet.contactRawPayload.bind(puppet);
|
|
54
|
-
puppet.contactRawPayload = async (id) => {
|
|
55
|
-
contactRawPayloadCalls++;
|
|
56
|
-
return originalContactRawPayload(id);
|
|
57
|
-
};
|
|
58
|
-
puppet.emit('dirty', {
|
|
59
|
-
payloadType: PUPPET.types.Payload.Contact,
|
|
60
|
-
payloadId: 'never-loaded-contact-id',
|
|
61
|
-
});
|
|
62
|
-
await delay(50);
|
|
63
|
-
t.equal(contactRawPayloadCalls, 0, `dirty(Contact) for un-pooled id must not trigger contactRawPayload; got ${contactRawPayloadCalls} call(s)`);
|
|
64
|
-
// --- Case 2: un-pooled Room id must not trigger roomRawPayload ---
|
|
65
|
-
let roomRawPayloadCalls = 0;
|
|
66
|
-
const originalRoomRawPayload = puppet.roomRawPayload.bind(puppet);
|
|
67
|
-
puppet.roomRawPayload = async (id) => {
|
|
68
|
-
roomRawPayloadCalls++;
|
|
69
|
-
return originalRoomRawPayload(id);
|
|
70
|
-
};
|
|
71
|
-
puppet.emit('dirty', {
|
|
72
|
-
payloadType: PUPPET.types.Payload.Room,
|
|
73
|
-
payloadId: 'never-loaded-room-id',
|
|
74
|
-
});
|
|
75
|
-
await delay(50);
|
|
76
|
-
t.equal(roomRawPayloadCalls, 0, `dirty(Room) for un-pooled id must not trigger roomRawPayload; got ${roomRawPayloadCalls} call(s)`);
|
|
77
|
-
// --- Case 3: Message dirty must not trigger messageRawPayload (Message has no user-layer pool) ---
|
|
78
|
-
let messageRawPayloadCalls = 0;
|
|
79
|
-
const originalMessageRawPayload = puppet.messageRawPayload.bind(puppet);
|
|
80
|
-
puppet.messageRawPayload = async (id) => {
|
|
81
|
-
messageRawPayloadCalls++;
|
|
82
|
-
return originalMessageRawPayload(id);
|
|
83
|
-
};
|
|
84
|
-
puppet.emit('dirty', {
|
|
85
|
-
payloadType: PUPPET.types.Payload.Message,
|
|
86
|
-
payloadId: 'some-message-id',
|
|
87
|
-
});
|
|
88
|
-
await delay(50);
|
|
89
|
-
t.equal(messageRawPayloadCalls, 0, `dirty(Message) must not trigger messageRawPayload at the user layer; got ${messageRawPayloadCalls} call(s)`);
|
|
90
|
-
// --- Case 4: un-pooled Contact still emits the user-facing dirty event ---
|
|
91
|
-
let wechatyDirtyEmits = 0;
|
|
92
|
-
wechaty.on('dirty', () => {
|
|
93
|
-
wechatyDirtyEmits++;
|
|
94
|
-
});
|
|
95
|
-
puppet.emit('dirty', {
|
|
96
|
-
payloadType: PUPPET.types.Payload.Contact,
|
|
97
|
-
payloadId: 'yet-another-un-pooled-id',
|
|
98
|
-
});
|
|
99
|
-
await delay(50);
|
|
100
|
-
t.equal(wechatyDirtyEmits, 1, `wechaty.emit('dirty', ...) must fire once even when the id is not pooled; got ${wechatyDirtyEmits}`);
|
|
101
|
-
// --- Case 5: pooled Contact MUST re-fetch on dirty ---
|
|
102
|
-
const pooledContact = puppet.mocker.createContact({ name: 'pooled-contact' });
|
|
103
|
-
// Force the contact into the wechatified pool via find(). Payload gets
|
|
104
|
-
// loaded once as part of find()'s ready() call — subsequent counts we
|
|
105
|
-
// measure from AFTER this seed.
|
|
106
|
-
await wechaty.Contact.find({ id: pooledContact.id });
|
|
107
|
-
let contactPayloadCalls = 0;
|
|
108
|
-
const originalContactPayload = puppet.contactPayload.bind(puppet);
|
|
109
|
-
puppet.contactPayload = async (id) => {
|
|
110
|
-
contactPayloadCalls++;
|
|
111
|
-
return originalContactPayload(id);
|
|
112
|
-
};
|
|
113
|
-
puppet.emit('dirty', {
|
|
114
|
-
payloadType: PUPPET.types.Payload.Contact,
|
|
115
|
-
payloadId: pooledContact.id,
|
|
116
|
-
});
|
|
117
|
-
await delay(50);
|
|
118
|
-
t.ok(contactPayloadCalls >= 1, `dirty(Contact) for pooled id must trigger contactPayload via ready(true); got ${contactPayloadCalls} call(s)`);
|
|
119
|
-
await wechaty.stop();
|
|
120
|
-
});
|
|
121
|
-
//# sourceMappingURL=puppet-mixin-dirty-pool.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"puppet-mixin-dirty-pool.spec.js","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin-dirty-pool.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"puppet-mixin-dirty-pool.spec.d.ts","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin-dirty-pool.spec.ts"],"names":[],"mappings":""}
|