New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PuppetPadchat Server logout and login cycle average 3-5mins #1446

Closed
kis87988 opened this Issue Jul 5, 2018 · 3 comments

Comments

Projects
None yet
2 participants
@kis87988
Copy link
Contributor

kis87988 commented Jul 5, 2018

Provide Your Network Information

  1. Where is the location of your server? (i.e. City, or In/Out China)U.S.
  2. Which cloud platform(AliYun/Qcloud/DigitalOcean/etc) are you using?Self

Run npm run doctor or wechaty run doctor(for docker user), paste output here

Docker run

Starting Wechaty v0.17.112 with Node.js v10.6.0 ...

Expected behavior

1)No Login and logout event cycle in 3-5 mins
2) restart docker should not ask for QR code if not logout on the phone.

Actual behavior

  1. keep Login, logout event cycle in 3-5 mins
  2. restart docker need to scan QR code again(phone not log out yet)

Steps to reproduce the behavior (and fixes, if any)

It looks like the server end issue.
I use back to Wechaty v0.17.98 with Node.js v10.5.0 still have same issue which not come out previously.

Full Output Logs

the output logs has been ignore some no need detail

Show Logs

Paste the full output logs here with WECHATY_LOG=silly set

# PASTE FULL LOG OUTPUT AT HERE:

 __        __        _           _          
 \ \      / /__  ___| |__   __ _| |_ _   _  
  \ \ /\ / / _ \/ __| '_ \ / _` | __| | | | 
   \ V  V /  __/ (__| | | | (_| | |_| |_| | 
    \_/\_/ \___|\___|_| |_|\__,_|\__|\__, | 
                                     |___/  
____________________________________________________
            https://www.chatie.io
  ____                            _   _             
 / ___|___  _ __  _ __   ___  ___| |_(_)_ __   __ _ 
| |   / _ \| '_ \| '_ \ / _ \/ __| __| | '_ \ / _` |
| |__| (_) | | | | | | |  __/ (__| |_| | | | | (_| |
 \____\___/|_| |_|_| |_|\___|\___|\__|_|_| |_|\__, |
                                              |___/ 
  ____ _           _   ____        _       
 / ___| |__   __ _| |_| __ )  ___ | |_ ___ 
| |   | '_ \ / _` | __|  _ \ / _ \| __/ __|
| |___| | | | (_| | |_| |_) | (_) | |_\__ \
 \____|_| |_|\__,_|\__|____/ \___/ \__|___/
                                           

Starting Wechaty v0.17.112 with Node.js v10.6.0 ...
Working directory: /bot
Please make sure you had installed all the NPM modules which is depended on your bot script.
Executing ts-node bot.ts
13:21:26 SILL Config WECHATY_LOG set level to silly
13:21:26 INFO Config registering process.on("unhandledRejection") for development/debug
13:21:26 VERB Config constructor()
13:21:27 SILL Accessory #0<Wechaty> constructor()
13:21:27 VERB Wechaty contructor()
13:21:27 VERB MemoryCard constructor(bot)
13:21:27 VERB StateSwitch constructor(name=Wechaty)
13:21:27 VERB Wechaty on(logout, function) registered
13:21:27 VERB Wechaty onFunction(logout)
13:21:27 VERB Wechaty on(login, function) registered
13:21:27 VERB Wechaty onFunction(login)
13:21:27 VERB Wechaty on(scan, function) registered
13:21:27 VERB Wechaty onFunction(scan)
13:21:27 VERB Wechaty on(room-join, function) registered
13:21:27 VERB Wechaty onFunction(room-join)
13:21:27 VERB Wechaty on(friendship, function) registered
13:21:27 VERB Wechaty onFunction(friendship)
13:21:27 VERB Wechaty on(message, function) registered
13:21:27 VERB Wechaty onFunction(message)
13:21:27 VERB Wechaty on(error, function) registered
13:21:27 VERB Wechaty onFunction(error)
13:21:27 SILL Wechaty version() form development environment is not availble: ENOENT: no such file or directory, stat '/wechaty/dist/.git'
13:21:27 INFO Wechaty start() v0.17.112 is starting...
13:21:27 VERB Wechaty puppet: undefined
13:21:27 VERB Wechaty profile: bot
13:21:27 VERB Wechaty id: cjj8zy2jw00000kpeg52br8so
13:21:27 SILL StateSwitch <Wechaty> on() is false
13:21:27 SILL StateSwitch <Wechaty> on() is false
13:21:27 VERB StateSwitch <Wechaty> on(pending) <- (false)
13:21:27 VERB MemoryCard load() file: /bot/bot.memory-card.json
13:21:27 VERB Wechaty initPuppet() 
13:21:27 VERB Wechaty initPuppetResolver(undefined)
13:21:27 INFO Wechaty initPuppet() using puppet: padchat
13:21:27 VERB MemoryCard sub(padchat)
13:21:27 VERB MemoryCard static sub(MemoryCard<bot>, padchat)
13:21:27 VERB MemoryCard constructor(bot)
13:21:27 VERB PuppetConfig puppetResolver(padchat)
13:21:27 SILL PuppetConfig puppetResolver(padchat) exception: Cannot find module 'wechaty-puppet-padchat'
13:21:27 INFO PuppetConfig installPuppet(wechaty-puppet-padchat, ^0.3.6) installing ...
npm: 
> node-expat@2.3.16 install /wechaty/node_modules/node-expat
> node-gyp rebuild


npm: make: Entering directory '/wechaty/node_modules/node-expat/build'

npm:   CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlparse.o

npm: ../deps/libexpat/lib/xmlparse.c: In function ‘gather_time_entropy’:

npm: ../deps/libexpat/lib/xmlparse.c:780:7: warning: variable ‘gettimeofday_res’ set but not used [-Wunused-but-set-variable]
   int gettimeofday_res;
       ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmlparse.c: In function ‘doProlog’:

npm: ../deps/libexpat/lib/xmlparse.c:4550:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (!declEntity) {
          ^

npm: ../deps/libexpat/lib/xmlparse.c:4561:5: note: here
     case XML_ROLE_ENTITY_SYSTEM_ID:
     ^~~~

npm: In file included from ../deps/libexpat/lib/xmlparse.c:34:0:
../deps/libexpat/lib/siphash.h: In function ‘sip24_final’:

npm: ../deps/libexpat/lib/siphash.h:205:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  case 7: b |= (uint64_t)H->buf[6] << 48;
          ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/siphash.h:206:2: note: here
  case 6: b |= (uint64_t)H->buf[5] << 40;
  ^~~~
../deps/libexpat/lib/siphash.h:206:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  case 6: b |= (uint64_t)H->buf[5] << 40;
          ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/siphash.h:207:2: note: here
  case 5: b |= (uint64_t)H->buf[4] << 32;
  ^~~~
../deps/libexpat/lib/siphash.h:207:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  case 5: b |= (uint64_t)H->buf[4] << 32;
          ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/siphash.h:208:2: note: here
  case 4: b |= (uint64_t)H->buf[3] << 24;
  ^~~~
../deps/libexpat/lib/siphash.h:208:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  case 4: b |= (uint64_t)H->buf[3] << 24;
          ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/siphash.h:209:2: note: here
  case 3: b |= (uint64_t)H->buf[2] << 16;
  ^~~~
../deps/libexpat/lib/siphash.h:209:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  case 3: b |= (uint64_t)H->buf[2] << 16;
          ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/siphash.h:210:2: note: here
  case 2: b |= (uint64_t)H->buf[1] << 8;
  ^~~~
../deps/libexpat/lib/siphash.h:210:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  case 2: b |= (uint64_t)H->buf[1] << 8;
          ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/siphash.h:211:2: note: here
  case 1: b |= (uint64_t)H->buf[0] << 0;
  ^~~~

npm: ../deps/libexpat/lib/xmlparse.c: In function ‘XML_Parse’:

npm: ../deps/libexpat/lib/xmlparse.c:1762:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (parentParser == NULL && !startParsing(parser)) {
        ^
../deps/libexpat/lib/xmlparse.c:1766:3: note: here
   default:
   ^~~~~~~

npm: ../deps/libexpat/lib/xmlparse.c: In function ‘XML_ParseBuffer’:

npm: ../deps/libexpat/lib/xmlparse.c:1900:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (parentParser == NULL && !startParsing(parser)) {
        ^
../deps/libexpat/lib/xmlparse.c:1904:3: note: here
   default:
   ^~~~~~~

npm:   CC(target) Release/obj.target/expat/deps/libexpat/lib/xmltok.o

npm: In file included from ../deps/libexpat/lib/xmltok.c:306:0:
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_isPublicId’:

npm: ../deps/libexpat/lib/xmltok_impl.c:1404:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f))
          ^

npm: ../deps/libexpat/lib/xmltok_impl.c:1406:5: note: here
     default:
     ^~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_sameName’:

npm: ../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:5: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
     ^~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:31: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                               ^~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanRef’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanPercent’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanLt’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanPi’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanEndTag’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanAtts’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_prologTok’:

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanPoundName’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: In file included from ../deps/libexpat/lib/xmltok.c:791:0:
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_isPublicId’:

npm: ../deps/libexpat/lib/xmltok_impl.c:1404:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f))
          ^
../deps/libexpat/lib/xmltok_impl.c:1406:5: note: here
     default:
     ^~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_sameName’:

npm: ../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:5: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
     ^~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:31: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                               ^~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanRef’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanPercent’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanLt’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanPi’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanEndTag’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanAtts’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_prologTok’:

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanPoundName’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: In file included from ../deps/libexpat/lib/xmltok.c:932:0:
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_isPublicId’:

npm: ../deps/libexpat/lib/xmltok_impl.c:1404:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f))
          ^
../deps/libexpat/lib/xmltok_impl.c:1406:5: note: here
     default:
     ^~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_sameName’:

npm: ../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:5: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
     ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:31: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                               ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanRef’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanPercent’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanLt’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanPi’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanEndTag’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanAtts’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_prologTok’:

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanPoundName’:

npm: ../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~

npm: ../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~

npm:   CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlrole.o

npm:   AR(target) Release/obj.target/deps/libexpat/libexpat.a

npm:   COPY Release/libexpat.a

npm:   CXX(target) Release/obj.target/node_expat/node-expat.o

npm:   SOLINK_MODULE(target) Release/obj.target/node_expat.node

npm:   COPY Release/node_expat.node

npm: make: Leaving directory '/wechaty/node_modules/node-expat/build'

npm: 
> nosql-leveldb@3.0.1 install /wechaty/node_modules/nosql-leveldb
> prebuild-install || node-gyp rebuild


npm: prebuild-install
npm:  WARN install No prebuilt binaries found (target=10.6.0 runtime=node arch=x64 platform=linux)

npm: make: Entering directory '/wechaty/node_modules/nosql-leveldb/build'

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/builder.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/db_impl.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/db_iter.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/filename.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/dbformat.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/log_reader.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/log_writer.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/memtable.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/repair.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/table_cache.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/version_edit.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/version_set.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/write_batch.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/helpers/memenv/memenv.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/port/port_posix_sse.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/block.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/block_builder.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/filter_block.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/format.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/iterator.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/merger.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/table.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/table_builder.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/table/two_level_iterator.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/arena.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/bloom.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/cache.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/coding.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/comparator.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/crc32c.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/env.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/filter_policy.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/hash.o

npm: ../deps/leveldb/leveldb-1.20/util/hash.cc: In function ‘uint32_t leveldb::Hash(const char*, size_t, uint32_t)’:
../deps/leveldb/leveldb-1.20/util/hash.cc:37:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
       h += static_cast<unsigned char>(data[2]) << 16;
       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

npm: ../deps/leveldb/leveldb-1.20/util/hash.cc:39:5: note: here
     case 2:
     ^~~~
../deps/leveldb/leveldb-1.20/util/hash.cc:40:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
       h += static_cast<unsigned char>(data[1]) << 8;
       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/leveldb/leveldb-1.20/util/hash.cc:42:5: note: here
     case 1:
     ^~~~

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/logging.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/options.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/status.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/port/port_posix.o

npm:   CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/util/env_posix.o

npm:   AR(target) Release/obj.target/deps/leveldb/leveldb.a

npm:   COPY Release/leveldb.a

npm:   CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.4/snappy-sinksource.o

npm:   CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.4/snappy-stubs-internal.o

npm:   CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.4/snappy.o

npm:   AR(target) Release/obj.target/deps/snappy/snappy.a

npm:   COPY Release/snappy.a

npm:   CXX(target) Release/obj.target/leveldown/src/batch.o

npm:   CXX(target) Release/obj.target/leveldown/src/database.o

npm:   CXX(target) Release/obj.target/leveldown/src/iterator.o

npm:   CXX(target) Release/obj.target/leveldown/src/leveldown.o

npm:   SOLINK_MODULE(target) Release/obj.target/leveldown.node

npm:   COPY Release/leveldown.node

npm: make: Leaving directory '/wechaty/node_modules/nosql-leveldb/build'

npm: npm
npm:  
npm: WARN
npm:  wechaty-puppet-mock@0.2.10 requires a peer of wechaty-puppet@^0.4 but none is installed. You must install peer dependencies yourself.

npm: 

npm: + wechaty-puppet-padchat@0.3.14
added 131 packages from 133 contributors and audited 6329 packages in 243.925s

npm: found 1 moderate severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

13:25:34 INFO PuppetConfig installPuppet(wechaty-puppet-padchat) done
13:25:38 SILL PuppetConfig puppetResolver(padchat) import success.
13:25:38 VERB Puppet constructor({"timeout":240}) #0
13:25:38 VERB StateSwitch constructor(name=PuppetPadchat)
13:25:38 VERB MemoryCard constructor()
13:25:38 VERB Puppet constructor() watchdog timeout set to 240 seconds
13:25:38 VERB HotImport callerResolve(., /wechaty/node_modules/wechaty-puppet/dist/src/puppet.js)
13:25:38 SILL HotImport callerResolve() callsites() file=/wechaty/node_modules/hot-import/dist/src/hot-import.js, type=Object
13:25:38 SILL HotImport callerResolve() callsites() file=/wechaty/node_modules/wechaty-puppet/dist/src/puppet.js, type=null
13:25:38 SILL HotImport callerResolve() callsites() file=/wechaty/node_modules/wechaty-puppet-padchat/dist/src/puppet-padchat.js, type=null
13:25:38 SILL HotImport callerResolve() callerFile=/wechaty/node_modules/wechaty-puppet-padchat/dist/src/puppet-padchat.js
13:25:38 VERB Puppet constructor() childClassPath=/wechaty/node_modules/wechaty-puppet-padchat/dist/src
13:25:38 VERB Wechaty initPuppetVersionSatisfy(Puppet#0<PuppetPadchat>()/PuppetPadchat#0)
13:25:38 VERB Wechaty initPuppetSemverSatisfy(*)
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(friendship) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(login) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(logout) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(message) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(room-join) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(room-leave) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(room-topic) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(scan) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(dong) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(error) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(reset) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(start) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(stop) registered
13:25:38 VERB Wechaty initPuppetEventBridge() puppet.on(watchdog) registered
13:25:38 VERB Wechaty initAccessory(Puppet#0<PuppetPadchat>()/PuppetPadchat#0)
13:25:38 SILL Accessory <Contact> static set wechaty = "Wechaty#cjj8zy2jw00000kpeg52br8so<>(bot)"
13:25:38 SILL Accessory <ContactSelf> static set wechaty = "Wechaty#cjj8zy2jw00000kpeg52br8so<>(bot)"
13:25:38 SILL Accessory <Friendship> static set wechaty = "Wechaty#cjj8zy2jw00000kpeg52br8so<>(bot)"
13:25:38 SILL Accessory <Message> static set wechaty = "Wechaty#cjj8zy2jw00000kpeg52br8so<>(bot)"
13:25:38 SILL Accessory <Room> static set wechaty = "Wechaty#cjj8zy2jw00000kpeg52br8so<>(bot)"
13:25:38 SILL Accessory <Contact> static set puppet = "Puppet#0<PuppetPadchat>()/PuppetPadchat#0"
13:25:38 SILL Accessory <ContactSelf> static set puppet = "Puppet#0<PuppetPadchat>()/PuppetPadchat#0"
13:25:38 SILL Accessory <Friendship> static set puppet = "Puppet#0<PuppetPadchat>()/PuppetPadchat#0"
13:25:38 SILL Accessory <Message> static set puppet = "Puppet#0<PuppetPadchat>()/PuppetPadchat#0"
13:25:38 SILL Accessory <Room> static set puppet = "Puppet#0<PuppetPadchat>()/PuppetPadchat#0"
13:25:38 SILL Accessory <Wechaty> set puppet = "Puppet#0<PuppetPadchat>()/PuppetPadchat#0"
13:25:38 VERB PuppetPadchat start() with null
13:25:38 SILL StateSwitch <PuppetPadchat> on() is false
13:25:38 SILL StateSwitch <PuppetPadchat> on() is false
13:25:38 VERB StateSwitch <PuppetPadchat> on(pending) <- (false)
13:25:38 VERB PadchatRpc constructor(ws://54.223.73.175:8788/wx, padchat-token)
13:25:38 VERB PuppetPadchatManager constructor()
13:25:38 VERB PuppetPadchat startManager()
13:25:38 SILL StateSwitch <PuppetPadchat> off() is false
13:25:38 VERB PuppetPadchatManager start()
13:25:38 VERB PadchatRpc start()
13:25:38 VERB PadchatRpc initWebSocket()
13:25:39 SILL PadchatRpc initWebSocket() Promise() ws.on(open)
13:25:39 VERB PadchatRpc initJsonRpc()
13:25:39 VERB PadchatRpc startQueues()
13:25:39 VERB PadchatRpc initHeartbeat()
13:25:39 SILL PadchatRpc rpcCall(init, [])
13:25:39 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:25:39 SILL PadchatRpc init result: {"message":"初始化连接成功","status":0}
13:25:39 VERB PadchatRpc WXInitialize()
13:25:39 SILL PadchatRpc rpcCall(WXInitialize, [])
13:25:39 SILL PadchatRpc WXInitialize result: {"message":"初始化微信信息成功","status":0}
13:25:39 VERB MemoryCard get(WECHATY_PUPPET_PADCHAT)
13:25:39 VERB PuppetPadchatManager tryLoad62Data()
13:25:39 SILL PuppetPadchatManager tryLoad62Data() 62 data not found
13:25:39 VERB PuppetPadchatManager tryAutoLogin(undefined)
13:25:39 SILL PuppetPadchatManager tryAutoLogin() currentUserId not found in memorySlot
13:25:39 VERB PuppetPadchatManager startCheckScan()
13:25:39 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop()
13:25:39 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:39 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop() set
13:25:39 VERB PuppetPadchat startWatchdog()
13:25:39 SILL StateSwitch <PuppetPadchat> on() is pending
13:25:39 VERB StateSwitch <PuppetPadchat> on(true) <- (pending)
13:25:39 VERB Wechaty on(heartbeat, function) registered
13:25:39 VERB Wechaty onFunction(heartbeat)
13:25:39 SILL StateSwitch <Wechaty> on() is pending
13:25:39 VERB StateSwitch <Wechaty> on(true) <- (pending)
13:25:39 SILL PadchatRpc WXCheckQRCode result: {"expired_time":0,"status":-2}
13:25:39 WARN PuppetPadchatManager startCheckScan() unknown WXCheckQRCodeStatus: -2
13:25:40 VERB PuppetPadchatManager emitLoginQrCode()
13:25:40 SILL PadchatRpc rpcCall(WXGetQRCode, [])
----QR CODE----
^^^ Online QR Code Image URL ^^^ 
[0]  Scan QR Code above url to log in: 
13:25:42 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop() resolved
13:25:43 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop()
13:25:43 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:43 SILL PadchatRpc WXCheckQRCode result: {"expired_time":237,"status":0}
13:25:43 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:44 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:45 SILL PadchatRpc WXCheckQRCode result: {"expired_time":236,"status":0}
13:25:45 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:46 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:46 SILL PadchatRpc WXCheckQRCode result: {"expired_time":234,"status":0}
13:25:46 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:47 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:47 SILL PadchatRpc WXCheckQRCode result: {"expired_time":233,"status":0}
13:25:47 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:48 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:48 SILL PadchatRpc WXCheckQRCode result: {"expired_time":232,"status":0}
13:25:48 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:49 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:50 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:25:50 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:25:50 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:25:50 SILL PadchatRpc WXCheckQRCode result: {"expired_time":230,"status":0}
13:25:50 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:51 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:51 SILL PadchatRpc WXCheckQRCode result: {"expired_time":229,"status":0}
13:25:51 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:52 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:52 SILL PadchatRpc WXCheckQRCode result: {"expired_time":228,"status":0}
13:25:52 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:53 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:53 SILL PadchatRpc WXCheckQRCode result: {"expired_time":227,"status":0}
13:25:53 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:54 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:55 SILL PadchatRpc WXCheckQRCode result: {"expired_time":225,"status":0}
13:25:55 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:56 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:56 SILL PadchatRpc WXCheckQRCode result: {"expired_time":224,"status":0}
13:25:56 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:57 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:57 SILL PadchatRpc WXCheckQRCode result: {"expired_time":223,"status":0}
13:25:57 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:58 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:25:58 SILL PadchatRpc WXCheckQRCode result: {"expired_time":222,"status":0}
13:25:58 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:25:59 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:00 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:26:00 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:26:00 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:26:00 SILL PadchatRpc WXCheckQRCode result: {"expired_time":220,"status":0}
13:26:00 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:01 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:01 SILL PadchatRpc WXCheckQRCode result: {"expired_time":219,"status":0}
13:26:01 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:02 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:02 SILL PadchatRpc WXCheckQRCode result: {"expired_time":218,"status":0}
13:26:02 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:03 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:03 SILL PadchatRpc WXCheckQRCode result: {"expired_time":217,"status":0}
13:26:03 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:04 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:05 SILL PadchatRpc WXCheckQRCode result: {"expired_time":215,"status":0}
13:26:05 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:06 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:06 SILL PadchatRpc WXCheckQRCode result: {"expired_time":214,"status":0}
13:26:06 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:07 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:07 SILL PadchatRpc WXCheckQRCode result: {"expired_time":213,"status":0}
13:26:07 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:08 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:08 SILL PadchatRpc WXCheckQRCode result: {"expired_time":212,"status":0}
13:26:08 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:09 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:10 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:26:10 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:26:10 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:26:10 SILL PadchatRpc WXCheckQRCode result: {"expired_time":210,"status":0}
13:26:10 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:11 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:11 SILL PadchatRpc WXCheckQRCode result: {"expired_time":209,"status":0}
13:26:11 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:12 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:12 SILL PadchatRpc WXCheckQRCode result: {"expired_time":208,"status":0}
13:26:12 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:13 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:13 SILL PadchatRpc WXCheckQRCode result: {"expired_time":207,"status":0}
13:26:13 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:14 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:15 SILL PadchatRpc WXCheckQRCode result: {"expired_time":205,"status":0}
13:26:15 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:16 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:16 SILL PadchatRpc WXCheckQRCode result: {"expired_time":204,"status":0}
13:26:16 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:17 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:17 SILL PadchatRpc WXCheckQRCode result: {"expired_time":203,"status":0}
13:26:17 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:18 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:18 SILL PadchatRpc WXCheckQRCode result: {"expired_time":202,"status":0}
13:26:18 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:19 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:20 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:26:20 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:26:20 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:26:20 SILL PadchatRpc WXCheckQRCode result: {"expired_time":200,"status":0}
13:26:20 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:21 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:21 SILL PadchatRpc WXCheckQRCode result: {"expired_time":199,"status":0}
13:26:21 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:22 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:22 SILL PadchatRpc WXCheckQRCode result: {"expired_time":198,"status":0}
13:26:22 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:23 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:23 SILL PadchatRpc WXCheckQRCode result: {"expired_time":197,"status":0}
13:26:23 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:24 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:25 SILL PadchatRpc WXCheckQRCode result: {"expired_time":195,"status":0}
13:26:25 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:26 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:26 SILL PadchatRpc WXCheckQRCode result: {"expired_time":194,"status":0}
13:26:26 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:27 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:27 SILL PadchatRpc WXCheckQRCode result: {"expired_time":193,"status":0}
13:26:27 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:28 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:29 SILL PadchatRpc WXCheckQRCode result: {"expired_time":192,"status":0}
13:26:29 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:30 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:30 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:26:30 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:26:30 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:26:30 SILL PadchatRpc WXCheckQRCode result: {"expired_time":190,"status":0}
13:26:30 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:31 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:31 SILL PadchatRpc WXCheckQRCode result: {"expired_time":189,"status":0}
13:26:31 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:32 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:32 SILL PadchatRpc WXCheckQRCode result: {"expired_time":188,"status":0}
13:26:32 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:33 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:34 SILL PadchatRpc WXCheckQRCode result: {"expired_time":187,"status":0}
13:26:34 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:35 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:35 SILL PadchatRpc WXCheckQRCode result: {"expired_time":185,"status":0}
13:26:35 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:36 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:36 SILL PadchatRpc WXCheckQRCode result: {"expired_time":184,"status":0}
13:26:36 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:37 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:37 SILL PadchatRpc WXCheckQRCode result: {"expired_time":183,"status":0}
13:26:37 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:38 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:39 SILL PadchatRpc WXCheckQRCode result: {"expired_time":182,"status":0}
13:26:39 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:40 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:40 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:26:40 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:26:40 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:26:40 SILL PadchatRpc WXCheckQRCode result: {"expired_time":180,"status":0}
13:26:40 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:41 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:41 SILL PadchatRpc WXCheckQRCode result: {"expired_time":179,"status":0}
13:26:41 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:42 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:42 SILL PadchatRpc WXCheckQRCode result: {"expired_time":178,"status":0}
13:26:42 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:43 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:44 SILL PadchatRpc WXCheckQRCode result: {"expired_time":177,"status":0}
13:26:44 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:45 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:45 SILL PadchatRpc WXCheckQRCode result: {"expired_time":175,"status":0}
13:26:45 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:46 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:46 SILL PadchatRpc WXCheckQRCode result: {"expired_time":174,"status":0}
13:26:46 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:47 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:47 SILL PadchatRpc WXCheckQRCode result: {"expired_time":173,"status":0}
13:26:47 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:48 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:49 SILL PadchatRpc WXCheckQRCode result: {"expired_time":172,"status":0}
13:26:49 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:50 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:50 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:26:50 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:26:50 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:26:50 SILL PadchatRpc WXCheckQRCode result: {"expired_time":170,"status":0}
13:26:50 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:51 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:51 SILL PadchatRpc WXCheckQRCode result: {"expired_time":169,"status":0}
13:26:51 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:52 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:52 SILL PadchatRpc WXCheckQRCode result: {"expired_time":168,"status":0}
13:26:52 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:53 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:54 SILL PadchatRpc WXCheckQRCode result: {"expired_time":166,"status":0}
13:26:54 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:55 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:55 SILL PadchatRpc WXCheckQRCode result: {"expired_time":165,"status":0}
13:26:55 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:56 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:56 SILL PadchatRpc WXCheckQRCode result: {"expired_time":164,"status":0}
13:26:56 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:57 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:57 SILL PadchatRpc WXCheckQRCode result: {"expired_time":163,"status":0}
13:26:57 SILL PuppetPadchatManager checkQrcode: Please scan the Qrcode!
13:26:58 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:26:59 SILL PadchatRpc WXCheckQRCode result: {"expired_time":239,"head_url":"","nick_name":"bot","status":1}
----QR CODE----
[1] http Scan QR Code above url to log in: 
13:26:59 SILL PuppetPadchatManager checkQrcode: Had scan the Qrcode, but not Login!
13:27:00 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:27:00 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:27:00 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:27:00 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:27:00 SILL PadchatRpc WXCheckQRCode result: {"expired_time":238,"head_url":"http_link","nick_name":"bot","status":1}
13:27:00 SILL PuppetPadchatManager checkQrcode: Had scan the Qrcode, but not Login!
13:27:01 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:27:01 SILL PadchatRpc WXCheckQRCode result: {"device_type":"iphone","expired_time":237,"head_url":"http_link","nick_name":"bot","password":"","status":2,"user_name":wxid_}
----QR CODE----
^^^ Online QR Code Image URL ^^^ 
[2] http Scan QR Code above url to log in: 
13:27:01 SILL PuppetPadchatManager checkQrcode: Trying to login... please wait
13:27:01 SILL PadchatRpc rpcCall(WXQRCodeLogin, [wxid_,""])
13:27:02 WARN PadchatRpc WXQRCodeLogin, redirect 301
13:27:02 SILL PadchatRpc rpcCall(WXQRCodeLogin, [wxid_,""])
13:27:02 SILL PadchatRpc WXQRCodeLogin, login successfully!
13:27:02 VERB PuppetPadchatManager login(wxid_)
13:27:02 VERB PuppetPadchatManager stopCheckScan()
13:27:02 VERB PuppetPadchatManager refresh62Data(wxid_, undefined)
13:27:02 SILL PadchatRpc rpcCall(WXHeartBeat, [])
13:27:02 SILL PadchatRpc WXHeartBeat result: {"status":0,"message":"ok"}
13:27:02 SILL PuppetPadchatManager refresh62Data() memorySlot is empty, init & return it
13:27:02 SILL PadchatRpc rpcCall(WXGenerateWxDat, [])
13:27:03 SILL PadchatRpc WXGenerateWxDat result: {"data":"","message":"","status":0}
13:27:03 SILL PadchatRpc rpcCall(WXGetLoginToken, [])
13:27:03 SILL PadchatRpc WXGetLoginToken result: {"message":"","status":0,"token":"","uin":}
13:27:03 VERB MemoryCard set(WECHATY_PUPPET_PADCHAT, [object Object])
13:27:03 VERB MemoryCard save() file: undefined
13:27:03 VERB MemoryCard save() no file, NOOP
13:27:03 VERB PuppetPadchatManager initCache(padchat-token, wxid_)
13:27:04 VERB PuppetPadchatManager initCache() inited 1228 Contacts, 1735 RoomMembers, 9 Rooms, cachedir="/bot/.wechaty/puppet-padchat-cache/padchat-token/wxid_"
13:27:04 SILL PuppetPadchatManager contactRawPayload(wxid_)
13:27:04 SILL PuppetPadchatManager contactRawPayload(wxid_) retry() attempt=1
13:27:04 SILL PadchatRpc rpcCall(WXGetContact, [wxid_])
13:27:04 SILL PadchatRpc WXGetContact(wxid_) result: {"big_head":"","city":"","country":"","intro":"","label":"","message":"","nick_name":"bot","provincia":"","py_initial":"","quan_pin":"","remark":"","remark_py_initial":"","remark_quan_pin":"","sex":0,"signature":"","small_head":"","status":0,"stranger":"","ticket":"","user_name":wxid_}
13:27:04 VERB Puppet login(wxid_)
13:27:04 VERB Contact load(wxid_) init pool
13:27:04 SILL Accessory #1<ContactSelf> constructor()
13:27:04 SILL Contact constructor(wxid_)
13:27:04 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:27:04 SILL Puppet contactPayload(wxid_) cache MISS
13:27:04 SILL Puppet contactPayload(wxid_) cache MISS
13:27:04 SILL PuppetPadchat contactRawPayload(wxid_)
13:27:04 SILL PuppetPadchatManager contactRawPayload(wxid_)
13:27:04 SILL PuppetPadchatManager contactRawPayload(wxid_) retry() attempt=1
13:27:04 VERB PuppetPadchatManager syncContactsAndRooms()
13:27:04 SILL PuppetPadchatManager syncContactsAndRooms() while() syncing WXSyncContact ...
13:27:04 SILL PuppetPadchat contactRawPayloadParser({user_name=wxid_})
13:27:04 SILL Puppet contactPayload(wxid_) cache SET
13:27:04 INFO Bot bot login
13:27:04 VERB Wechaty say(Wechaty login)
13:27:04 VERB Puppet selfId()
13:27:04 VERB Contact say(Wechaty login)
13:27:04 VERB PuppetPadchat messageSend({"contactId":wxid_}, Wechaty login)
13:27:04 SILL PadchatRpc rpcCall(WXSendMsg, [wxid_,"Wechaty login",""])
13:27:14 SILL PadchatRpc rpcCall(WXSyncContact, [])
13:27:16 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:27:16 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:27:16 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() syncing 79 out of Contact(1228) & Room(9) ...
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:16 SILL PuppetPadchatManager syncContactsAndRooms() while() syncing WXSyncContact ...
13:27:16 SILL PadchatRpc onSocketTencent() discard empty message msg_id payoad: {"continue":1,"msg_type":2048,"status":1,"uin":488036821}
13:27:16 VERB PuppetPadchat onPadchatMessage({id=, type=StatusNotify(5)})
13:27:16 VERB Message static create(id)
13:27:16 SILL Accessory #2<Message> constructor()
13:27:16 VERB Message constructor(id) for class Message
13:27:16 VERB Message ready()
13:27:16 SILL Puppet messagePayloadCache(id) cache MISS
13:27:16 VERB Puppet messagePayload(id)
13:27:16 SILL Puppet messagePayloadCache(id) cache MISS
13:27:16 VERB PuppetPadchat onPadchatMessage({id=id, type=Recalled(5)})
13:27:16 VERB PuppetPadchat onPadchatMessageRoomEventJoin({id=id})
13:27:16 VERB PuppetPadChat messageRawPayloadParser({msg_id="id"})
13:27:16 SILL PuppetPadchat messagePayload({"id":"id","timestamp":1530822410,"type":0,"fromId":wxid_,"text":"<msg>\n<op id='5'>\n<username>wxid_</username>\n</op>\n</msg>","toId":"wxid_"})
13:27:16 SILL Puppet messagePayload(id) cache SET
13:27:16 VERB Contact load(wxid_) init pool
13:27:16 SILL Accessory #3<Contact> constructor()
13:27:16 SILL Contact constructor(wxid_)
13:27:16 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:27:16 SILL Contact ready() isReady() true
13:27:16 SILL Accessory #4<Contact> constructor()
13:27:16 SILL Contact constructor(wxid_)
13:27:16 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:27:16 SILL Puppet contactPayload(wxid_) cache MISS
13:27:16 SILL Puppet contactPayload(wxid_) cache MISS
13:27:16 SILL PuppetPadchat contactRawPayload(wxid_)
13:27:16 SILL PuppetPadchatManager contactRawPayload(wxid_)
13:27:16 SILL PuppetPadchatManager contactRawPayload(wxid_) retry() attempt=1
13:27:16 SILL PuppetPadchat contactRawPayloadParser({user_name="wxid_"})
13:27:16 SILL Puppet contactPayload(wxid_) cache SET
13:27:16 VERB Puppet selfId()
13:27:21 VERB PuppetPadchat onPadchatMessage({id=4158150211948377836, type=Text(5)})
13:27:21 VERB Message static create(4158150211948377836)
13:27:21 SILL Accessory #5<Message> constructor()
13:27:21 VERB Message constructor(4158150211948377836) for class Message
13:27:21 VERB Message ready()
13:27:21 SILL Puppet messagePayloadCache(4158150211948377836) cache MISS
13:27:21 VERB Puppet messagePayload(4158150211948377836)
13:27:21 SILL Puppet messagePayloadCache(4158150211948377836) cache MISS
13:27:21 VERB PuppetPadChat messageRawPayloadParser({msg_id="4158150211948377836"})
13:27:21 SILL PuppetPadchat messagePayload({"id":"4158150211948377836","timestamp":1530822438,"type":6,"fromId":wxid_,"roomId":"roomid@chatroom","text":"@jeff 加你好了","toId":wxid_})
13:27:21 SILL Puppet messagePayload(4158150211948377836) cache SET
13:27:21 SILL Accessory #6<Contact> constructor()
13:27:21 SILL Contact constructor(wxid_)
13:27:21 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:27:21 SILL Puppet contactPayload(wxid_) cache MISS
13:27:21 SILL Puppet contactPayload(wxid_) cache MISS
13:27:21 SILL PuppetPadchat contactRawPayload(wxid_)
13:27:21 SILL PuppetPadchatManager contactRawPayload(wxid_)
13:27:21 SILL PuppetPadchatManager contactRawPayload(wxid_) retry() attempt=1
13:27:21 SILL PuppetPadchat contactRawPayloadParser({user_name="undefined"})
13:27:21 SILL PuppetPadchat contactPayload(wxid_) exception: cannot get user_name from raw payload: {}
13:27:21 SILL PuppetPadchat contactPayload(wxid_) get failed for undefined, try load from room member data source
13:27:21 SILL PuppetPadchat contactRawPayload(wxid_)
13:27:21 SILL PuppetPadchatManager contactRawPayload(wxid_)
13:27:21 SILL PuppetPadchatManager contactRawPayload(wxid_) retry() attempt=1
13:27:21 SILL PuppetPadchat contactPayload(wxid_) rawPayload not exist
13:27:21 VERB Puppet contactRoomList(wxid_)
13:27:21 VERB PuppetPadchat roomList()
13:27:21 VERB PuppetPadchatManager getRoomIdList()
13:27:21 VERB PuppetPadchatManager getRoomIdList()=9
13:27:21 SILL PuppetPadchat roomList()=9
13:27:21 VERB Puppet roomPayload(roomid@chatroom)
13:27:21 SILL Puppet roomPayloadCache(roomid@chatroom) cache MISS
13:27:21 VERB PuppetPadchat roomRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomRawPayload(roomid@chatroom)
13:27:21 VERB Puppet roomPayload(roomid@chatroom)
13:27:21 SILL Puppet roomPayloadCache(roomid@chatroom) cache MISS
13:27:21 VERB PuppetPadchat roomRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomRawPayload(roomid@chatroom)
13:27:21 VERB Puppet roomPayload(roomid@chatroom)
13:27:21 SILL Puppet roomPayloadCache(roomid@chatroom) cache MISS
13:27:21 VERB PuppetPadchat roomRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomRawPayload(roomid@chatroom)
13:27:21 VERB Puppet roomPayload(roomid@chatroom)
13:27:21 SILL Puppet roomPayloadCache(roomid@chatroom) cache MISS
13:27:21 VERB PuppetPadchat roomRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomRawPayload(roomid@chatroom)
13:27:21 VERB Puppet roomPayload(roomid@chatroom)
13:27:21 SILL Puppet roomPayloadCache(roomid@chatroom) cache MISS
13:27:21 VERB PuppetPadchat roomRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomRawPayload(roomid@chatroom)
13:27:21 VERB Puppet roomPayload(roomid@chatroom)
13:27:21 SILL Puppet roomPayloadCache(roomid@chatroom) cache MISS
13:27:21 VERB PuppetPadchat roomRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomRawPayload(roomid@chatroom)
13:27:21 VERB Puppet roomPayload(roomid@chatroom)
13:27:21 SILL Puppet roomPayloadCache(roomid@chatroom) cache MISS
13:27:21 VERB PuppetPadchat roomRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomRawPayload(roomid@chatroom)
13:27:21 VERB Puppet roomPayload(roomid@chatroom)
13:27:21 SILL Puppet roomPayloadCache(roomid@chatroom) cache MISS
13:27:21 VERB PuppetPadchat roomRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomRawPayload(roomid@chatroom)
13:27:21 VERB Puppet roomPayload(roomid@chatroom)
13:27:21 SILL Puppet roomPayloadCache(roomid@chatroom) cache MISS
13:27:21 VERB PuppetPadchat roomRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomRawPayload(roomid@chatroom)
13:27:21 SILL PuppetPadchatManager roomRawPayload(roomid@chatroom) retry() attempt=1
13:27:21 SILL PuppetPadchatManager roomRawPayload(roomid@chatroom) retry() attempt=1
13:27:21 SILL PuppetPadchatManager roomRawPayload(roomid@chatroom) retry() attempt=1
13:27:21 SILL PuppetPadchatManager roomRawPayload(roomid@chatroom) retry() attempt=1
13:27:21 SILL PuppetPadchatManager roomRawPayload(roomid@chatroom) retry() attempt=1
13:27:21 SILL PuppetPadchatManager roomRawPayload(roomid@chatroom) retry() attempt=1
13:27:21 SILL PuppetPadchatManager roomRawPayload(roomid@chatroom) retry() attempt=1
13:27:21 SILL PuppetPadchatManager roomRawPayload(roomid@chatroom) retry() attempt=1
13:27:21 SILL PuppetPadchatManager roomRawPayload(roomid@chatroom) retry() attempt=1
13:27:21 VERB PuppetPadchat roomRawPayloadParser(rawPayload.user_name="roomid@chatroom")
13:27:21 VERB PuppetPadchat roomRawPayloadParser(rawPayload.user_name="roomid@chatroom")
13:27:21 VERB PuppetPadchat roomRawPayloadParser(rawPayload.user_name="roomid@chatroom")
13:27:21 VERB PuppetPadchat roomRawPayloadParser(rawPayload.user_name="roomid@chatroom")
13:27:21 VERB PuppetPadchat roomRawPayloadParser(rawPayload.user_name="roomid@chatroom")
13:27:21 VERB PuppetPadchat roomRawPayloadParser(rawPayload.user_name="roomid@chatroom")
13:27:21 VERB PuppetPadchat roomRawPayloadParser(rawPayload.user_name="roomid@chatroom")
13:27:21 VERB PuppetPadchat roomRawPayloadParser(rawPayload.user_name="roomid@chatroom")
13:27:21 VERB PuppetPadchat roomRawPayloadParser(rawPayload.user_name="roomid@chatroom")
13:27:21 SILL Puppet roomPayload(roomid@chatroom) cache SET
13:27:21 SILL Puppet roomPayload(roomid@chatroom) cache SET
13:27:21 SILL Puppet roomPayload(roomid@chatroom) cache SET
13:27:21 SILL Puppet roomPayload(roomid@chatroom) cache SET
13:27:21 SILL Puppet roomPayload(roomid@chatroom) cache SET
13:27:21 SILL Puppet roomPayload(roomid@chatroom) cache SET
13:27:21 SILL Puppet roomPayload(roomid@chatroom) cache SET
13:27:21 SILL Puppet roomPayload(roomid@chatroom) cache SET
13:27:21 SILL Puppet roomPayload(roomid@chatroom) cache SET
13:27:21 SILL PuppetPadchat contactPayload(wxid_) found 3 rooms
13:27:21 VERB Puppet roomMemberPayload(roomId=roomid@chatroom, contactId=wxid_)
13:27:21 SILL PuppetPadchat roomMemberRawPayload(roomid@chatroom)
13:27:21 VERB PuppetPadchatManager roomMemberRawPayload(roomid@chatroom)
13:27:21 SILL PuppetPadchat roomMemberRawPayloadParser([object Object])
13:27:21 SILL Puppet roomMemberPayload(roomid@chatroom) cache SET
13:27:21 SILL PuppetPadchat contactPayload(wxid_) cache SET
13:27:21 SILL Accessory #7<Room<>> constructor()
13:27:21 SILL Room constructor(roomid@chatroom)
13:27:21 VERB Room ready()
13:27:21 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:27:21 SILL Contact ready() isReady() true
13:27:21 VERB Puppet selfId()
13:27:21 SILL Contact alias()
13:27:21 VERB Room topic()
13:27:26 SILL PadchatRpc rpcCall(WXSyncContact, [])
13:27:27 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:27:27 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:27:27 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:27:27 SILL PuppetPadchatManager syncContactsAndRooms() syncing 85 out of Contact(1228) & Room(9) ...
13:27:27 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:27 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:27 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:27 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:27 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:27 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:27 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:27 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:28 SILL PuppetPadchatManager syncContactsAndRooms() while() syncing WXSyncContact ...
13:27:38 SILL PadchatRpc rpcCall(WXSyncContact, [])
13:27:39 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:27:39 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:27:39 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() syncing 43 out of Contact(1228) & Room(9) ...
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
13:27:39 SILL PuppetPadchatManager syncContactsAndRooms() updating Room (roomid@chatroom)
13:27:39 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom)
13:27:39 SILL PadchatRpc rpcCall(WXGetChatRoomMember, ["roomid@chatroom"])
13:27:39 VERB PuppetPadchatManager startQueues() delayQueueExecutor.subscribe(syncRoomMember(roomid@chatroom)) executed
13:27:40 SILL PadchatRpc WXGetChatRoomMember() result: {"chatroom_id":room_id,"count":500,"member":"[{\"big_head\":\"\",\"chatroom_nick_name\":\"bot\",\"invited_by\":\"id\",\"nick_name\":\"bot\",\"small_head\":\"",\"user_name\":\wxid_},{\"big_head\":\"\"
13:27:40 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom) total 6 members
13:27:40 SILL PuppetPadchatManager syncContactsAndRooms() added sync room(roomid@chatroom) task to delayQueueExecutor
13:27:40 SILL PuppetPadchatManager syncContactsAndRooms() updating Room (roomid@chatroom)
13:27:54 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom)
13:27:54 SILL PadchatRpc rpcCall(WXGetChatRoomMember, ["roomid@chatroom"])
13:27:54 VERB PuppetPadchatManager startQueues() delayQueueExecutor.subscribe(syncRoomMember(roomid@chatroom)) executed
13:27:54 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:27:54 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:27:54 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:27:54 SILL PadchatRpc WXGetChatRoomMember() result: {"chatroom_id":,"count":,"member":"[{\"big_head\":\"",\"chatroom_nick_name\":\"\",\"invited_by\":\wxid_,\"nick_name\":\"HoLLy\",\"small_head\":\"",\"user_name\":\"\"},{\"big_head\":\"
13:27:54 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom) total 6 members
13:27:54 SILL PuppetPadchatManager syncContactsAndRooms() added sync room(roomid@chatroom) task to delayQueueExecutor
13:27:54 SILL PuppetPadchatManager syncContactsAndRooms() updating Room (roomid@chatroom)
13:28:09 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom)
13:28:09 SILL PadchatRpc rpcCall(WXGetChatRoomMember, ["roomid@chatroom"])
13:28:09 VERB PuppetPadchatManager startQueues() delayQueueExecutor.subscribe(syncRoomMember(roomid@chatroom)) executed
13:28:10 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:28:10 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:28:10 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:28:10 SILL PadchatRpc WXGetChatRoomMember() result: {"chatroom_id":,"count":,"member":"[{\"big_head\":\"\",\"chatroom_nick_name\":\"name\",\"invited_by\":\"\",\"nick_name\":\"name\",\"small_head\":\"\",\"user_name\":\wxid_},
13:28:10 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom) total 6 members
13:28:10 SILL PuppetPadchatManager syncContactsAndRooms() added sync room(roomid@chatroom) task to delayQueueExecutor
13:28:10 SILL PuppetPadchatManager syncContactsAndRooms() updating Room (roomid@chatroom)
13:28:12 VERB PuppetPadchat onPadchatMessage({id=1351488501750652382, type=StatusNotify(5)})
13:28:12 VERB Message static create(1351488501750652382)
13:28:12 SILL Accessory #8<Message> constructor()
13:28:12 VERB Message constructor(1351488501750652382) for class Message
13:28:12 VERB Message ready()
13:28:12 SILL Puppet messagePayloadCache(1351488501750652382) cache MISS
13:28:12 VERB Puppet messagePayload(1351488501750652382)
13:28:12 SILL Puppet messagePayloadCache(1351488501750652382) cache MISS
13:28:12 VERB PuppetPadChat messageRawPayloadParser({msg_id="1351488501750652382"})
13:28:12 SILL PuppetPadchat messagePayload({"id":"1351488501750652382","timestamp":1530822492,"type":0,"fromId":wxid_,"roomId":"roomid@chatroom","text":"<msg>\n<op id='2'>\n<username>roomid@chatroom</username>\n</op>\n</msg>"})
13:28:12 SILL Puppet messagePayload(1351488501750652382) cache SET
13:28:12 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:28:12 SILL Contact ready() isReady() true
13:28:12 VERB Room ready()
13:28:12 VERB Puppet selfId()
13:28:12 VERB PuppetPadchat onPadchatMessage({id=9071031892330656027, type=StatusNotify(5)})
13:28:12 VERB Message static create(9071031892330656027)
13:28:12 SILL Accessory #9<Message> constructor()
13:28:12 VERB Message constructor(9071031892330656027) for class Message
13:28:12 VERB Message ready()
13:28:12 SILL Puppet messagePayloadCache(9071031892330656027) cache MISS
13:28:12 VERB Puppet messagePayload(9071031892330656027)
13:28:12 SILL Puppet messagePayloadCache(9071031892330656027) cache MISS
13:28:12 VERB PuppetPadChat messageRawPayloadParser({msg_id="9071031892330656027"})
13:28:12 SILL PuppetPadchat messagePayload({"id":"9071031892330656027","timestamp":1530822492,"type":0,"fromId":wxid_,"roomId":"roomid@chatroom","text":"<msg>\n<op id='5'>\n<username>roomid@chatroom</username>\n</op>\n</msg>"})
13:28:12 SILL Puppet messagePayload(9071031892330656027) cache SET
13:28:12 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:28:12 SILL Contact ready() isReady() true
13:28:12 VERB Room ready()
13:28:12 VERB Puppet selfId()
13:28:24 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom)
13:28:24 SILL PadchatRpc rpcCall(WXGetChatRoomMember, ["roomid@chatroom"])
13:28:24 VERB PuppetPadchatManager startQueues() delayQueueExecutor.subscribe(syncRoomMember(roomid@chatroom)) executed
13:28:25 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:28:25 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:28:25 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:28:25 SILL PadchatRpc WXGetChatRoomMember() result: {"chatroom_id":room_id,"count":216,"member":"[{\"big_head\":\"http://wx.qlogo.cn/mmhead/PiajxSqBRaEISFY2KibX1ba966blh5O4rzwicJtTrPLQe8KN44HKNDkeA/0\",\"chatroom_nick_name\":\"bot\",\"invited_by\":\"wxid_\",\"nick_name\":\"bot\",\"small_head\":\"\",\"user_name\":\wxid_},{\"big_head\":\"\",
13:28:25 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom) total 6 members
13:28:25 SILL PuppetPadchatManager syncContactsAndRooms() added sync room(roomid@chatroom) task to delayQueueExecutor
13:28:25 SILL PuppetPadchatManager syncContactsAndRooms() while() syncing WXSyncContact ...
13:28:35 SILL PadchatRpc rpcCall(WXSyncContact, [])
13:28:36 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:28:36 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:28:36 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:28:36 SILL PuppetPadchatManager syncContactsAndRooms() syncing 4 out of Contact(1228) & Room(9) ...
13:28:36 SILL PuppetPadchatManager syncContactsAndRooms() updating Room (roomid@chatroom)
13:28:39 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom)
13:28:39 SILL PadchatRpc rpcCall(WXGetChatRoomMember, ["roomid@chatroom"])
13:28:39 VERB PuppetPadchatManager startQueues() delayQueueExecutor.subscribe(syncRoomMember(roomid@chatroom)) executed
13:28:40 SILL PadchatRpc WXGetChatRoomMember() result: {"chatroom_id":roomid,"count":155,"member":"[{\"big_head\":\"\",\"chatroom_nick_name\":\"\",\"invited_by\":\wxid_,\"nick_name\":\"name\",\"small_head\":\"\",\"user_name\":\"wxid_1nlum8
13:28:40 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom) total 6 members
13:28:40 SILL PuppetPadchatManager syncContactsAndRooms() added sync room(roomid@chatroom) task to delayQueueExecutor
13:28:40 SILL PuppetPadchatManager syncContactsAndRooms() updating Room (roomid@chatroom)
13:28:54 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom)
13:28:54 SILL PadchatRpc rpcCall(WXGetChatRoomMember, ["roomid@chatroom"])
13:28:54 VERB PuppetPadchatManager startQueues() delayQueueExecutor.subscribe(syncRoomMember(roomid@chatroom)) executed
13:28:55 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:28:55 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:28:55 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:28:55 SILL PadchatRpc WXGetChatRoomMember() result: {"chatroom_id":,"count":,"member":"[{\"big_head\":\"\",\"chatroom_nick_name\":\"\",\"invited_by\":\wxid_,\"nick_name\":\"\",\"small_head\":\"\",\"user_name\":\wxid_},{\"big_head\":\"
13:28:55 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom) total 6 members
13:28:55 SILL PuppetPadchatManager syncContactsAndRooms() added sync room(roomid@chatroom) task to delayQueueExecutor
13:28:55 SILL PuppetPadchatManager syncContactsAndRooms() updating Room (roomid@chatroom)
13:29:09 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom)
13:29:09 SILL PadchatRpc rpcCall(WXGetChatRoomMember, ["roomid@chatroom"])
13:29:09 VERB PuppetPadchatManager startQueues() delayQueueExecutor.subscribe(syncRoomMember(roomid@chatroom)) executed
13:29:10 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:29:10 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:29:10 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:29:10 SILL PadchatRpc WXGetChatRoomMember() result: {"chatroom_id":room_id,"count":237,"member":"[{\"big_head\":\"\",\"chatroom_nick_name\":\"\",\"invited_by\":\"wxid_\",\"nick_name\":\"Kingsley\",\"small_head\":\"\",\"user_name\":\wxid_},{
13:29:10 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom) total 6 members
13:29:10 SILL PuppetPadchatManager syncContactsAndRooms() added sync room(roomid@chatroom) task to delayQueueExecutor
13:29:10 SILL PuppetPadchatManager syncContactsAndRooms() updating Room (roomid@chatroom)
13:29:24 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom)
13:29:24 SILL PadchatRpc rpcCall(WXGetChatRoomMember, ["roomid@chatroom"])
13:29:24 VERB PuppetPadchatManager startQueues() delayQueueExecutor.subscribe(syncRoomMember(roomid@chatroom)) executed
13:29:30 SILL PadchatRpc initHeartbeat() debounceQueue.subscribe(ws.on(message))
13:29:30 SILL PadchatRpc initWebSocket() ws.on(pong)
13:29:30 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(pong: #0 from debounceQueue)
13:29:30 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:29:30 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=pong: #0 from debounceQueue})
13:29:46 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:29:46 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:29:46 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:29:46 SILL PadchatRpc WXGetChatRoomMember() result: {"chatroom_id":room_id,"count":25,"member":"[{\"big_head\":\"\",\"chatroom_nick_name\":\"\",\"invited_by\":\"wxid_\",\"nick_name\":\"bot\",\"small_head\":\"\",\"user_name\":\wxid_},{\"big_head\":\"
13:29:46 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom) total 6 members
13:29:46 SILL PuppetPadchatManager syncContactsAndRooms() added sync room(roomid@chatroom) task to delayQueueExecutor
13:29:46 SILL PuppetPadchatManager syncContactsAndRooms() while() syncing WXSyncContact ...
13:29:56 SILL PadchatRpc rpcCall(WXSyncContact, [])
13:29:56 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:29:56 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:29:56 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:29:56 SILL PuppetPadchatManager syncContactsAndRooms() syncing 1 out of Contact(1228) & Room(9) ...
13:29:56 VERB PuppetPadchatManager syncContactsAndRooms() sync contact done!
13:30:16 SILL PadchatRpc initHeartbeat() debounceQueue.subscribe(ws.on(message))
13:30:16 SILL PadchatRpc initWebSocket() ws.on(pong)
13:30:16 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(pong: #1 from debounceQueue)
13:30:16 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:30:16 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=pong: #1 from debounceQueue})
13:30:36 SILL PadchatRpc initHeartbeat() debounceQueue.subscribe(pong: #1 from debounceQueue)
13:30:36 SILL PadchatRpc initWebSocket() ws.on(pong)
**13:30:36 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(pong: #2 from debounceQueue)
13:30:36 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:30:36 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=pong: #2 from debounceQueue})
13:30:56 WARN PadchatRpc initWebSocket() ws.on(close) 1005
13:30:56 VERB PadchatRpc reset(ws.on(close, 1005)
13:30:56 WARN PuppetPadchat startManager() manager.on(reset) for ws.on(close, 1005. Restarting PuppetPadchat ... 
13:30:56 SILL Puppet constructor() this.on(reset) reason: ws.on(close, 1005
13:30:56 SILL Puppet constructor() resetThrottleQueue.subscribe() reason: ws.on(close, 1005
13:30:56 VERB Puppet reset(ws.on(close, 1005)
13:30:56 SILL PadchatRpc initWebSocket() Promise() ws.on(close)
13:30:56 VERB PuppetPadchat stop()
13:30:56 SILL StateSwitch <PuppetPadchat> off() is false
13:30:56 SILL StateSwitch <PuppetPadchat> off() is false
13:30:56 VERB StateSwitch <PuppetPadchat> off(pending) <- (false)
13:30:56 VERB PuppetPadchat logout()
13:30:56 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:30:56 SILL Contact ready() isReady() true
13:30:56 VERB PuppetPadchatManager logout()
13:30:56 VERB PuppetPadchatManager releaseCache()
13:30:56 SILL PuppetPadchatManager releaseCache() closing caches ...
13:30:56 INFO Bot bot logouted
13:30:56 SILL PuppetPadchatManager releaseCache() cache closed.
13:30:56 VERB PuppetPadchatManager startCheckScan()
13:30:56 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop()
13:30:56 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:30:56 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop() set
13:30:56 VERB PuppetPadchatManager stop()
13:30:56 VERB PuppetPadchatManager stopCheckScan()
13:30:56 WARN PuppetPadchatManager startCheckScan() checkScanLoop() exception: Error: WebSocket is not open: readyState 3 (CLOSED)
13:30:56 VERB PadchatRpc reset(startCheckScan() checkScanLoop() exception)
13:30:56 WARN PuppetPadchat startManager() manager.on(reset) for startCheckScan() checkScanLoop() exception. Restarting PuppetPadchat ... 
13:30:56 SILL Puppet constructor() this.on(reset) reason: startCheckScan() checkScanLoop() exception
13:30:56 VERB PadchatRpc stop()
13:30:56 VERB PadchatRpc stopQueues()
13:30:56 VERB PuppetPadchatManager releaseCache()
13:30:56 VERB PuppetPadchatManager releaseCache() cache not exist.
13:30:56 SILL StateSwitch <PuppetPadchat> off() is pending
13:30:56 VERB StateSwitch <PuppetPadchat> off(true) <- (pending)
13:30:56 VERB PuppetPadchat start() with null
13:30:56 SILL StateSwitch <PuppetPadchat> on() is false
13:30:56 SILL StateSwitch <PuppetPadchat> on() is false
13:30:56 VERB StateSwitch <PuppetPadchat> on(pending) <- (false)
13:30:56 VERB PadchatRpc constructor(ws://54.223.73.175:8788/wx, padchat-token)
13:30:56 VERB PuppetPadchatManager constructor()
13:30:56 VERB PuppetPadchat startManager()
13:30:56 SILL StateSwitch <PuppetPadchat> off() is false
13:30:56 VERB PuppetPadchatManager start()
13:30:56 VERB PadchatRpc start()
13:30:56 VERB PadchatRpc initWebSocket()
13:30:57 SILL PadchatRpc initWebSocket() Promise() ws.on(open)
13:30:57 VERB PadchatRpc initJsonRpc()
13:30:57 VERB PadchatRpc startQueues()
13:30:57 VERB PadchatRpc initHeartbeat()
13:30:57 SILL PadchatRpc rpcCall(init, [])
13:30:57 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:30:57 SILL PadchatRpc init result: {"message":"初始化连接成功","status":0}
13:30:57 VERB PadchatRpc WXInitialize()
13:30:57 SILL PadchatRpc rpcCall(WXInitialize, [])
13:30:57 SILL PadchatRpc WXInitialize result: {"message":"初始化微信信息成功","status":0}
13:30:57 VERB MemoryCard get(WECHATY_PUPPET_PADCHAT)
13:30:57 VERB PuppetPadchatManager tryLoad62Data()
13:30:57 SILL PuppetPadchatManager tryLoad62Data() 62 data found: ""
13:30:57 SILL PadchatRpc rpcCall(WXLoadWxDat, [""])
13:30:57 VERB PuppetPadchatManager tryAutoLogin(wxid_)
13:30:57 SILL PadchatRpc rpcCall(WXAutoLogin, [])
13:30:58 SILL PadchatRpc WXAutoLogin result: {"email":"","external":"0","long_link_server":"hklong.weixin.qq.com","message":"\n\u0010Everything is ok","nick_name":"","phone_number":"","qq":0,"short_link_server":"hkshort.weixin.qq.com:80","status":0,"uin":,"user_name":wxid_}, type: object
13:30:58 VERB PuppetPadchatManager login(wxid_)
13:30:58 VERB PuppetPadchatManager stopCheckScan()
13:30:58 VERB PuppetPadchatManager refresh62Data(wxid_, undefined)
13:30:58 SILL PadchatRpc rpcCall(WXHeartBeat, [])
13:30:58 SILL PadchatRpc WXHeartBeat result: {"status":0,"message":"ok"}
13:30:58 SILL PuppetPadchatManager refresh62Data() userId did not change since last login, keep the data as the same
13:30:58 SILL PadchatRpc rpcCall(WXGetLoginToken, [])
13:30:58 SILL PadchatRpc WXGetLoginToken result: {"message":"","status":0,"token":"","uin":488036821}
13:30:58 VERB MemoryCard set(WECHATY_PUPPET_PADCHAT, [object Object])
13:30:58 VERB MemoryCard save() file: undefined
13:30:58 VERB MemoryCard save() no file, NOOP
13:30:58 VERB PuppetPadchatManager initCache(padchat-token, wxid_)
13:30:59 VERB PuppetPadchatManager initCache() inited 1228 Contacts, 1735 RoomMembers, 9 Rooms, cachedir="/bot/.wechaty/puppet-padchat-cache/padchat-token/wxid_"
13:30:59 SILL PuppetPadchatManager contactRawPayload(wxid_)
13:30:59 SILL PuppetPadchatManager contactRawPayload(wxid_) retry() attempt=1
13:30:59 SILL PadchatRpc rpcCall(WXGetContact, [wxid_])
13:31:00 SILL PadchatRpc WXGetContact(wxid_) result: {"big_head":"","city":"","country":"","intro":"","label":"","message":"","nick_name":"bot","provincia":"","py_initial":"","quan_pin":"","remark":"","remark_py_initial":"","remark_quan_pin":"","sex":0,"signature":"","small_head":"","status":0,"stranger":"","ticket":"","user_name":wxid_}
13:31:00 VERB Puppet login(wxid_)**
13:31:00 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:31:00 SILL Contact ready() isReady() true
13:31:00 INFO Bot bot login
13:31:00 VERB Wechaty say(Wechaty login)
13:31:00 VERB Puppet selfId()
13:31:00 VERB Contact say(Wechaty login)
13:31:00 VERB PuppetPadchat messageSend({"contactId":wxid_}, Wechaty login)
13:31:00 SILL PadchatRpc rpcCall(WXSendMsg, [wxid_,"Wechaty login",""])
13:31:00 VERB PuppetPadchatManager syncContactsAndRooms()
13:31:00 SILL PuppetPadchatManager syncContactsAndRooms() while() syncing WXSyncContact ...
13:31:00 VERB PuppetPadchat startWatchdog()
13:31:00 SILL Wechaty memoryCheck() free: 91 MB, require: 4 MB
13:31:00 SILL StateSwitch <PuppetPadchat> on() is pending
13:31:00 VERB StateSwitch <PuppetPadchat> on(true) <- (pending)
13:31:10 SILL PadchatRpc rpcCall(WXSyncContact, [])
13:31:11 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:31:11 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:31:11 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:31:11 SILL PuppetPadchatManager syncContactsAndRooms() syncing 79 out of Contact(1228) & Room(9) ...
13:31:11 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
----CUT----
----END of CUT----
13:33:19 SILL PuppetPadchatManager syncContactsAndRooms() syncing 1 out of Contact(1228) & Room(9) ...
13:33:19 VERB PuppetPadchatManager syncContactsAndRooms() sync contact done!
13:33:39 SILL PadchatRpc initHeartbeat() debounceQueue.subscribe(ws.on(message))
13:33:39 SILL PadchatRpc initWebSocket() ws.on(pong)
13:33:39 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(pong: #3 from debounceQueue)
13:33:39 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:33:39 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=pong: #3 from debounceQueue})
13:33:59 SILL PadchatRpc initHeartbeat() debounceQueue.subscribe(pong: #3 from debounceQueue)
13:33:59 SILL PadchatRpc initWebSocket() ws.on(pong)
13:33:59 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(pong: #4 from debounceQueue)
13:33:59 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:33:59 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=pong: #4 from debounceQueue})
13:34:19 WARN PadchatRpc initWebSocket() ws.on(close) 1005
13:34:19 VERB PadchatRpc reset(ws.on(close, 1005)
13:34:19 WARN PuppetPadchat startManager() manager.on(reset) for ws.on(close, 1005. Restarting PuppetPadchat ... 
13:34:19 SILL Puppet constructor() this.on(reset) reason: ws.on(close, 1005
13:34:19 SILL Puppet constructor() resetThrottleQueue.subscribe() reason: ws.on(close, 1005
13:34:19 VERB Puppet reset(ws.on(close, 1005)
13:34:19 SILL PadchatRpc initWebSocket() Promise() ws.on(close)
13:34:19 VERB PuppetPadchat stop()
13:34:19 SILL StateSwitch <PuppetPadchat> off() is false
13:34:19 SILL StateSwitch <PuppetPadchat> off() is false
13:34:19 VERB StateSwitch <PuppetPadchat> off(pending) <- (false)
13:34:19 VERB PuppetPadchat logout()
13:34:19 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:34:19 SILL Contact ready() isReady() true
13:34:19 VERB PuppetPadchatManager logout()
13:34:19 VERB PuppetPadchatManager releaseCache()
13:34:19 SILL PuppetPadchatManager releaseCache() closing caches ...
13:34:19 INFO Bot bot logouted
13:34:19 SILL PuppetPadchatManager releaseCache() cache closed.
13:34:19 VERB PuppetPadchatManager startCheckScan()
13:34:19 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop()
13:34:19 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:34:19 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop() set
13:34:19 VERB PuppetPadchatManager stop()
13:34:19 VERB PuppetPadchatManager stopCheckScan()
13:34:19 WARN PuppetPadchatManager startCheckScan() checkScanLoop() exception: Error: WebSocket is not open: readyState 3 (CLOSED)
13:34:19 VERB PadchatRpc reset(startCheckScan() checkScanLoop() exception)
13:34:19 WARN PuppetPadchat startManager() manager.on(reset) for startCheckScan() checkScanLoop() exception. Restarting PuppetPadchat ... 
13:34:19 SILL Puppet constructor() this.on(reset) reason: startCheckScan() checkScanLoop() exception
13:34:19 VERB PadchatRpc stop()
13:34:19 VERB PadchatRpc stopQueues()
13:34:19 VERB PuppetPadchatManager releaseCache()
13:34:19 VERB PuppetPadchatManager releaseCache() cache not exist.
13:34:19 SILL StateSwitch <PuppetPadchat> off() is pending
13:34:19 VERB StateSwitch <PuppetPadchat> off(true) <- (pending)
13:34:19 VERB PuppetPadchat start() with null
13:34:19 SILL StateSwitch <PuppetPadchat> on() is false
13:34:19 SILL StateSwitch <PuppetPadchat> on() is false
13:34:19 VERB StateSwitch <PuppetPadchat> on(pending) <- (false)
13:34:19 VERB PadchatRpc constructor(ws://54.223.73.175:8788/wx, padchat-token)
13:34:19 VERB PuppetPadchatManager constructor()
13:34:19 VERB PuppetPadchat startManager()
13:34:19 SILL StateSwitch <PuppetPadchat> off() is false
13:34:19 VERB PuppetPadchatManager start()
13:34:19 VERB PadchatRpc start()
13:34:19 VERB PadchatRpc initWebSocket()
13:34:19 SILL PadchatRpc initWebSocket() Promise() ws.on(open)
13:34:19 VERB PadchatRpc initJsonRpc()
13:34:19 VERB PadchatRpc startQueues()
13:34:19 VERB PadchatRpc initHeartbeat()
13:34:19 SILL PadchatRpc rpcCall(init, [])
13:34:19 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:34:19 SILL PadchatRpc init result: {"message":"初始化连接成功","status":0}
13:34:19 VERB PadchatRpc WXInitialize()
13:34:19 SILL PadchatRpc rpcCall(WXInitialize, [])
13:34:19 SILL PadchatRpc WXInitialize result: {"message":"初始化微信信息成功","status":0}
13:34:19 VERB MemoryCard get(WECHATY_PUPPET_PADCHAT)
13:34:19 VERB PuppetPadchatManager tryLoad62Data()
13:34:19 SILL PuppetPadchatManager tryLoad62Data() 62 data found: ""
13:34:19 SILL PadchatRpc rpcCall(WXLoadWxDat, [""])
13:34:20 VERB PuppetPadchatManager tryAutoLogin(wxid_)
13:34:20 SILL PadchatRpc rpcCall(WXAutoLogin, [])
13:34:20 SILL PadchatRpc WXAutoLogin result: {"email":"","external":"0","long_link_server":"hklong.weixin.qq.com","message":"\n\u0010Everything is ok","nick_name":"","phone_number":"","qq":0,"short_link_server":"hkshort.weixin.qq.com:80","status":0,"uin":488036821,"user_name":wxid_}, type: object
13:34:20 VERB PuppetPadchatManager login(wxid_)
13:34:20 VERB PuppetPadchatManager stopCheckScan()
13:34:20 VERB PuppetPadchatManager refresh62Data(wxid_, undefined)
13:34:20 SILL PadchatRpc rpcCall(WXHeartBeat, [])
13:34:20 SILL PadchatRpc WXHeartBeat result: {"status":0,"message":"ok"}
13:34:20 SILL PuppetPadchatManager refresh62Data() userId did not change since last login, keep the data as the same
13:34:20 SILL PadchatRpc rpcCall(WXGetLoginToken, [])
13:34:21 SILL PadchatRpc WXGetLoginToken result: {"message":"","status":0,"token":"","uin":}
13:34:21 VERB MemoryCard set(WECHATY_PUPPET_PADCHAT, [object Object])
13:34:21 VERB MemoryCard save() file: undefined
13:34:21 VERB MemoryCard save() no file, NOOP
13:34:21 VERB PuppetPadchatManager initCache(padchat-token, wxid_)
13:34:21 VERB PuppetPadchatManager initCache() inited 1228 Contacts, 1735 RoomMembers, 9 Rooms, cachedir="/bot/.wechaty/puppet-padchat-cache/padchat-token/wxid_"
13:34:21 SILL PuppetPadchatManager contactRawPayload(wxid_)
13:34:21 SILL PuppetPadchatManager contactRawPayload(wxid_) retry() attempt=1
13:34:21 SILL PadchatRpc rpcCall(WXGetContact, [wxid_])
13:34:22 SILL PadchatRpc WXGetContact(wxid_) result: {"big_head":"","city":"","country":"","intro":"","label":"","message":"","nick_name":"bot","provincia":"","py_initial":"","quan_pin":"","remark":"","remark_py_initial":"","remark_quan_pin":"","sex":0,"signature":"","small_head":"","status":0,"stranger":"","ticket":"","user_name":wxid_}
13:34:22 VERB Puppet login(wxid_)
13:34:22 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:34:22 SILL Contact ready() isReady() true
13:34:22 INFO Bot bot login
13:34:22 VERB Wechaty say(Wechaty login)
13:34:22 VERB Puppet selfId()
13:34:22 VERB Contact say(Wechaty login)
13:34:22 VERB PuppetPadchat messageSend({"contactId":wxid_}, Wechaty login)
13:34:22 SILL PadchatRpc rpcCall(WXSendMsg, [wxid_,"Wechaty login",""])
13:34:22 VERB PuppetPadchatManager syncContactsAndRooms()
13:34:22 SILL PuppetPadchatManager syncContactsAndRooms() while() syncing WXSyncContact ...
13:34:22 VERB PuppetPadchat startWatchdog()
13:34:22 SILL Wechaty memoryCheck() free: 99 MB, require: 4 MB
13:34:22 SILL StateSwitch <PuppetPadchat> on() is pending
13:34:22 VERB StateSwitch <PuppetPadchat> on(true) <- (pending)
13:34:32 SILL PadchatRpc rpcCall(WXSyncContact, [])
13:34:33 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:34:33 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:34:33 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:34:33 SILL PuppetPadchatManager syncContactsAndRooms() syncing 79 out of Contact(1228) & Room(9) ...
13:34:33 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
---- CUT ----
----END OF CUT ----
13:36:31 SILL PuppetPadchatManager syncRoomMember(roomid@chatroom) total 6 members
13:36:31 SILL PuppetPadchatManager syncContactsAndRooms() added sync room(roomid@chatroom) task to delayQueueExecutor
13:36:31 SILL PuppetPadchatManager syncContactsAndRooms() while() syncing WXSyncContact ...
13:36:41 SILL PadchatRpc rpcCall(WXSyncContact, [])
13:36:42 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:36:42 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:36:42 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:36:42 SILL PuppetPadchatManager syncContactsAndRooms() syncing 1 out of Contact(1228) & Room(9) ...
13:36:42 VERB PuppetPadchatManager syncContactsAndRooms() sync contact done!
13:37:02 SILL PadchatRpc initHeartbeat() debounceQueue.subscribe(ws.on(message))
13:37:02 SILL PadchatRpc initWebSocket() ws.on(pong)
13:37:02 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(pong: #5 from debounceQueue)
13:37:02 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:37:02 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=pong: #5 from debounceQueue})
13:37:22 SILL PadchatRpc initHeartbeat() debounceQueue.subscribe(pong: #5 from debounceQueue)
13:37:22 SILL PadchatRpc initWebSocket() ws.on(pong)
13:37:22 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(pong: #6 from debounceQueue)
13:37:22 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:37:22 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=pong: #6 from debounceQueue})
13:37:42 WARN PadchatRpc initWebSocket() ws.on(close) 1005
13:37:42 VERB PadchatRpc reset(ws.on(close, 1005)
13:37:42 WARN PuppetPadchat startManager() manager.on(reset) for ws.on(close, 1005. Restarting PuppetPadchat ... 
13:37:42 SILL Puppet constructor() this.on(reset) reason: ws.on(close, 1005
13:37:42 SILL Puppet constructor() resetThrottleQueue.subscribe() reason: ws.on(close, 1005
13:37:42 VERB Puppet reset(ws.on(close, 1005)
13:37:42 SILL PadchatRpc initWebSocket() Promise() ws.on(close)
13:37:42 VERB PuppetPadchat stop()
13:37:42 SILL StateSwitch <PuppetPadchat> off() is false
13:37:42 SILL StateSwitch <PuppetPadchat> off() is false
13:37:42 VERB StateSwitch <PuppetPadchat> off(pending) <- (false)
13:37:42 VERB PuppetPadchat logout()
13:37:42 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:37:42 SILL Contact ready() isReady() true
13:37:42 VERB PuppetPadchatManager logout()
13:37:42 VERB PuppetPadchatManager releaseCache()
13:37:42 SILL PuppetPadchatManager releaseCache() closing caches ...
13:37:42 INFO Bot bot logouted
13:37:42 SILL PuppetPadchatManager releaseCache() cache closed.
13:37:42 VERB PuppetPadchatManager startCheckScan()
13:37:42 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop()
13:37:42 SILL PadchatRpc rpcCall(WXCheckQRCode, [])
13:37:42 SILL PuppetPadchatManager startCheckScan() checkScanInternalLoop() set
13:37:42 VERB PuppetPadchatManager stop()
13:37:42 VERB PuppetPadchatManager stopCheckScan()
13:37:42 WARN PuppetPadchatManager startCheckScan() checkScanLoop() exception: Error: WebSocket is not open: readyState 3 (CLOSED)
13:37:42 VERB PadchatRpc reset(startCheckScan() checkScanLoop() exception)
13:37:42 WARN PuppetPadchat startManager() manager.on(reset) for startCheckScan() checkScanLoop() exception. Restarting PuppetPadchat ... 
13:37:42 SILL Puppet constructor() this.on(reset) reason: startCheckScan() checkScanLoop() exception
13:37:42 VERB PadchatRpc stop()
13:37:42 VERB PadchatRpc stopQueues()
13:37:42 VERB PuppetPadchatManager releaseCache()
13:37:42 VERB PuppetPadchatManager releaseCache() cache not exist.
13:37:42 SILL StateSwitch <PuppetPadchat> off() is pending
13:37:42 VERB StateSwitch <PuppetPadchat> off(true) <- (pending)
13:37:42 VERB PuppetPadchat start() with null
13:37:42 SILL StateSwitch <PuppetPadchat> on() is false
13:37:42 SILL StateSwitch <PuppetPadchat> on() is false
13:37:42 VERB StateSwitch <PuppetPadchat> on(pending) <- (false)
13:37:42 VERB PadchatRpc constructor(ws://54.223.73.175:8788/wx, padchat-token)
13:37:42 VERB PuppetPadchatManager constructor()
13:37:42 VERB PuppetPadchat startManager()
13:37:42 SILL StateSwitch <PuppetPadchat> off() is false
13:37:42 VERB PuppetPadchatManager start()
13:37:42 VERB PadchatRpc start()
13:37:42 VERB PadchatRpc initWebSocket()
13:37:42 SILL PadchatRpc initWebSocket() Promise() ws.on(open)
13:37:42 VERB PadchatRpc initJsonRpc()
13:37:42 VERB PadchatRpc startQueues()
13:37:42 VERB PadchatRpc initHeartbeat()
13:37:42 SILL PadchatRpc rpcCall(init, [])
13:37:42 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:37:42 SILL PadchatRpc init result: {"message":"初始化连接成功","status":0}
13:37:42 VERB PadchatRpc WXInitialize()
13:37:42 SILL PadchatRpc rpcCall(WXInitialize, [])
13:37:42 SILL PadchatRpc WXInitialize result: {"message":"初始化微信信息成功","status":0}
13:37:42 VERB MemoryCard get(WECHATY_PUPPET_PADCHAT)
13:37:42 VERB PuppetPadchatManager tryLoad62Data()
13:37:42 SILL PuppetPadchatManager tryLoad62Data() 62 data found: ""
13:37:42 SILL PadchatRpc rpcCall(WXLoadWxDat, [""])
13:37:43 VERB PuppetPadchatManager tryAutoLogin(wxid_)
13:37:43 SILL PadchatRpc rpcCall(WXAutoLogin, [""])
13:37:43 SILL PadchatRpc WXAutoLogin result: {"email":"","external":"0","long_link_server":"hklong.weixin.qq.com","message":"\n\u0010Everything is ok","nick_name":"","phone_number":"","qq":0,"short_link_server":"hkshort.weixin.qq.com:80","status":0,"uin":488036821,"user_name":wxid_}, type: object
13:37:43 VERB PuppetPadchatManager login(wxid_)
13:37:43 VERB PuppetPadchatManager stopCheckScan()
13:37:43 VERB PuppetPadchatManager refresh62Data(wxid_, undefined)
13:37:43 SILL PadchatRpc rpcCall(WXHeartBeat, [])
13:37:43 SILL PadchatRpc WXHeartBeat result: {"status":0,"message":"ok"}
13:37:43 SILL PuppetPadchatManager refresh62Data() userId did not change since last login, keep the data as the same
13:37:43 SILL PadchatRpc rpcCall(WXGetLoginToken, [])
13:37:44 SILL PadchatRpc WXGetLoginToken result: {"message":"","status":0,"token":"","uin":}
13:37:44 VERB MemoryCard set(WECHATY_PUPPET_PADCHAT, [object Object])
13:37:44 VERB MemoryCard save() file: undefined
13:37:44 VERB MemoryCard save() no file, NOOP
13:37:44 VERB PuppetPadchatManager initCache(padchat-token, wxid_)
13:37:44 VERB PuppetPadchatManager initCache() inited 1228 Contacts, 1735 RoomMembers, 9 Rooms, cachedir="/bot/.wechaty/puppet-padchat-cache/padchat-token/wxid_"
13:37:44 SILL PuppetPadchatManager contactRawPayload(wxid_)
13:37:44 SILL PuppetPadchatManager contactRawPayload(wxid_) retry() attempt=1
13:37:44 SILL PadchatRpc rpcCall(WXGetContact, [wxid_])
13:37:45 SILL PadchatRpc WXGetContact(wxid_) result: {"big_head":"","city":"","country":"","intro":"","label":"","message":"","nick_name":"bot","provincia":"","py_initial":"","quan_pin":"","remark":"","remark_py_initial":"","remark_quan_pin":"","sex":0,"signature":"","small_head":"","status":0,"stranger":"","ticket":"","user_name":wxid_}
13:37:45 VERB Puppet login(wxid_)
13:37:45 SILL Contact ready() @ Puppet#0<PuppetPadchat>()/PuppetPadchat#0
13:37:45 SILL Contact ready() isReady() true
13:37:45 INFO Bot bot login
13:37:45 VERB Wechaty say(Wechaty login)
13:37:45 VERB Puppet selfId()
13:37:45 VERB Contact say(Wechaty login)
13:37:45 VERB PuppetPadchat messageSend({"contactId":wxid_}, Wechaty login)
13:37:45 SILL PadchatRpc rpcCall(WXSendMsg, [wxid_,"Wechaty login",""])
13:37:45 VERB PuppetPadchatManager syncContactsAndRooms()
13:37:45 SILL PuppetPadchatManager syncContactsAndRooms() while() syncing WXSyncContact ...
13:37:45 VERB PuppetPadchat startWatchdog()
13:37:45 SILL Wechaty memoryCheck() free: 103 MB, require: 4 MB
13:37:45 SILL StateSwitch <PuppetPadchat> on() is pending
13:37:45 VERB StateSwitch <PuppetPadchat> on(true) <- (pending)
13:37:55 SILL PadchatRpc rpcCall(WXSyncContact, [])
13:37:57 SILL PadchatRpc initHeartbeat() throttleQueue.subscribe(ws.on(message))
13:37:57 SILL PuppetPadchat startWatchdog() padchatManager.on(heartbeat)
13:37:57 SILL PuppetPadchat startWatchdog() watchdog.on(feed, food={type=undefined, data=ws.on(message)})
13:37:57 SILL PuppetPadchatManager syncContactsAndRooms() syncing 79 out of Contact(1228) & Room(9) ...
13:37:57 SILL PuppetPadchatManager syncContactsAndRooms() updating Contact
----CUT for updating contact----
@huan

This comment has been minimized.

Copy link
Member

huan commented Jul 6, 2018

restart docker need to scan QR code again(phone not log out yet)

This is a confirmed bug, should be fixed on v0.17.116 or above.

See lijiarui/wechaty-puppet-padchat#85

@huan

This comment has been minimized.

Copy link
Member

huan commented Jul 7, 2018

About the login/logout cycle problem, here's my log:

$ grep 'reset(' silly.log 
20:04:47 VERB PadchatRpc reset(ws.on(close, 1005)
20:04:47 VERB Puppet reset(ws.on(close, 1005)
20:04:47 VERB PadchatRpc reset(startCheckScan() checkScanLoop() exception)
22:29:34 VERB PadchatRpc reset(ws.on(close, 1005)
22:29:34 VERB Puppet reset(ws.on(close, 1005)
22:29:34 VERB PadchatRpc reset(startCheckScan() checkScanLoop() exception)
00:37:41 VERB PadchatRpc reset(ws.on(close, 1005)
00:37:41 VERB Puppet reset(ws.on(close, 1005)
01:59:54 VERB PadchatRpc reset(ws.on(close, 1005)
01:59:54 VERB Puppet reset(ws.on(close, 1005)
01:59:54 VERB PadchatRpc reset(startCheckScan() checkScanLoop() exception)
04:26:43 VERB PadchatRpc reset(ws.on(close, 1005)
04:26:43 VERB Puppet reset(ws.on(close, 1005)
04:26:43 VERB PadchatRpc reset(startCheckScan() checkScanLoop() exception)
07:01:59 VERB PadchatRpc reset(ws.on(close, 1005)
07:01:59 VERB Puppet reset(ws.on(close, 1005)
07:01:59 VERB PadchatRpc reset(startCheckScan() checkScanLoop() exception)

It seems that I did not have your problem: my WebSocket was reset about every 2 hours.

@huan huan added the bug label Jul 7, 2018

@huan

This comment has been minimized.

Copy link
Member

huan commented Jul 10, 2018

Behavior 1 seems related to the local network

Behavior 2 should had been fixed already.

@huan huan closed this Jul 10, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment